
Originally Posted by
k3v1nP
Still the same went as high as 500. Also put in a PAUSE of 900 before first lcd out. I don't think it can be a busted lcd cause i have 4 and they all do the same thing. Unless this model is just junk.
DATAUS is a byte value. Go to 500, and you may as well go to 244 (figured this out the hard way awhile back, not mentioned in the book, but good to know).
Try the pause value up to a couple of seconds...some really are that slow...
Also, double, nay, triple check your wiring...Make sure you've got the connector on the 'right way'.
And put a 'heartbeat LED' in there...
Code:
CLEAR ;Define LCD registers and control bits
DEFINE OSC 4 ;System speed
DEFINE LCD_DREG PORTD ;data register
DEFINE LCD_BITS 4 ;width of data path
DEFINE LCD_DBIT 0 ;data starts on bit 0
DEFINE LCD_RSREG PORTE ;select register
DEFINE LCD_RSBIT 0 ;select bit
DEFINE LCD_EREG PORTE ;enable register
DEFINE LCD_EBIT 1 ;enable bit
DEFINE LCD_RWREG PORTE ;read/write register
DEFINE LCD_RWBIT 2 ;read/write bit
LOW PORTE.2 ;LCD R/W low (write) We will do no reading
DEFINE LCD_LINES 2 ;lines in display
DEFINE LCD_COMMANDUS 4000 ;delay in micro seconds
DEFINE LCD_DATAUS 200 ;delay in micro seconds ;
;Set the port directions. We are setting (must set) all of PORTD and all of PORTE as outputs
;even though PORTE has only 3 lines. The other 5 lines will be ignored by the system.
;
TRISD = %00000000 ; set all PORTD lines to output
LED VAR PORTD.7
OUTPUT LED
TEMP VAR BYTE
TRISE = %00000000 ; set all PORTE lines to output
; Set the Analog to Digital control register
ADCON1=%00000111 ; needed for the 16F877A see note above and below
;
PAUSE 2000
LOOP: ; The main loop of the program
TEMP = TEMP + 1
LED = TEMP.0
LCDOUT $FE, 1 ; clear screen
PAUSE 500 ; pause 0.25 seconds
LCDOUT "HELLO" ; print
LCDOUT $FE, $C0 ; goto second line, first position
LCDOUT "WORLD" ; print
PAUSE 250 ; pause 0.25 seconds
GOTO LOOP ; repeat
END ; always end all programs with an END statement
EDIT: Oh yeah, that schematic is jacked up...
Example schematic and/or program is in the PBP manual...
Bookmarks