Ok, you also have a multiplication in your code, which has the same problem of using System variables.
Change it to this ...
Added:Code:; B = Char * 16 ' Lower 4 Bits Shift B = Char << 1 B = B << 1 B = B << 1 B = B << 1
The 16F628A only has a 4Mhz internal oscillator, yours was running at 8Mhz, and your circuit wouldn't work at 4Mhz.
I had to increase the capacitors to 4.7nF
Code:@ DEVICE pic16F628A, intOSC_osc_noclkout, WDT_OFF, PWRT_OFF, BOD_OFF, MCLR_OFF DEFINE OSC 4 Serial_Pin var PortA.3 B0 var byte B1 VAR Byte OUTPUT Serial_Pin CMCON = 7 B0 = 0 B1 = 255 INCLUDE "One_Wire_74HC595.pbp" ; *** Include MUST be AFTER LCD Pin assignments * ;----[ Your Main program starts here ]---------------------------------------- LCDOUT $FE, 1 LCDOUT $FE, 1, IHex 255 Pause 2000 Main: LCDOUT $FE,$80,"B0 = ",DEC B0," " LCDOUT $FE,$C0,"B1 = ",DEC B1," " B0 = B0 + 1 B1 = B1 - 1 PAUSE 1000 GOTO Main




Bookmarks