Ok, you also have a multiplication in your code, which has the same problem of using System variables.
Change it to this ...
Code:
; B = Char * 16 ' Lower 4 Bits Shift
B = Char << 1
B = B << 1
B = B << 1
B = B << 1
Added:

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