28X1 (out)pins problem still there?

beastarella

New Member
Hi, just tried out a 28X1 in my nixie clock kits, seems the pins=X problem is still there? The program loads the time from a DS1307, and send it to the output port as a single byte using commands like pins=b0, but it seems that bit 7 (pin 28 on the picaxe) is always high regardless of what it should be, so of course the clock displays meaningless times.

I thought the pins= problem had been fixed? I am running PE V5.1.3 but the picaxe firmware is A.0, the problematic one. I have tried this on 2 chips, the problem is identical on both.

Is there a simple work-around for this? From what I have read in the forums, this was supposed to be fixed with a PE workaround in V5.1.1?

Any info would be greatly appreciated, I would actually like to be able to use these chips in somethign!
 

hippy

Technical Support
Staff member
Have you checked the byte data coming from the DS1307 doesn't always have msb set or that the msb isn't being set under program control, that it's not the 28X1 doing what it should, but the data being written is not as it was thought to be ?

Note also that the compiler doesn't fix all ways output pins could be updated, for example, "READ $00,pins", so it also depends on how your software is written.

It is possible that the compiler fix isn't perfect but we'd need to see exact code to identify where it wasn't working so well for Rev-Ed to resolve it or for a work round to be suggested.

The 28X1 Firmware A.0 chips can be used in projects, although it has proven itself awkward to use in your project. If you contact your dealer directly and present your case, you may be able to obtain a replacement part.
 

beastarella

New Member
Hi Hippy,

the code is the same (well, with a couple of adjustments made to cope with the changes in the latest versions of PE) that I have used in the last 50 kits. I can take the 28X1 out of circuit, drop in a 28X with the exact same software, and it is fine...

I will contact the chip supplier and see if they have newer version ICs...

The bit of code that sends data to the nixie latches (74LS374 ICs) is below. The data in b0-b2 is read out of the 1307 just before this subroutine is called.

setdisplay:
pins = b0
pause 10
high portc 5
pause 10
low portc 5
pins = b1
pause 10
high portc 6
pause 10
low portc 6
temp=b2-64
low portc 0
if temp<31 then skip2
high portc 0
temp=temp-32
skip2:
if temp>9 then skip3
temp=temp+192
skip3:
pins = temp
pause 10
high portc 7
pause 10
low portc 7
return
 

hippy

Technical Support
Staff member
Thanks for the details. It looks to me like the compiler fix isn't perfect. The compiler currently appears to convert -<code><pre><font size=2 face='Courier'> pins = b0 </font></pre></code> to<code><pre><font size=2 face='Courier'> pins = b0
If outpin7 = 1 Then
Low 7
Else
High 7
End If </font></pre></code> It's setting Output Pin 7 inverted.

The work round would appear be to change all your 'pins=' to -<code><pre><font size=2 face='Courier'> pins = var ^ $80 </font></pre></code> Check to see if that does work, then file a bug report in software feedback and the compiler fix should get updated.

Edited by - hippy on 23/06/2007 15:06:44
 
Top