Quantcast
Channel: MEL PICBASIC Forum
Viewing all articles
Browse latest Browse all 4745

LCD showing mostly jibberish on 16F716

$
0
0
I've had a break from PIC's for a little so I'm a bit rusty, but I don't recall having this many issues in the past.

Just trying to get an LCD to work first on my 16F716. I haven't used this pic before so might have some config wrong.

B4-B7 goto DB4-DB7 on my 2-line LCD
RW is held low VIA code, Enable and RS are on corresponding pins.

The issue is that I get mostly jibberish all over the screen changing constantly, with glimpses of the text I'm trying to put there. I've mostly used 4-line LCD's before so don't even know if I have the addressing right, I dont' have a datasheet for this exact LCD
I have tried fiddling the COMMANDUS and DATAUS values but they haven't had an effect, even without them there.


Code:

@ __CONFIG    _WDT_ON & _RC_OSC & _PWRTE_ON

' Define LCD registers and bits
DEFINE  LCD_DREG        PORTB
DEFINE  LCD_DBIT        4
DEFINE  LCD_RSREG      PORTB
DEFINE  LCD_RSBIT      3
DEFINE  LCD_EREG        PORTB
DEFINE  LCD_EBIT        1
DEFINE  LCD_LINES      2

DEFINE LCD_COMMANDUS 1500        'defines the delay after LCDOUT statement
DEFINE LCD_DATAUS 44                'delay in micro seconds

TRISA = %11111
TRISB = %00000000

butdn          var porta.4
butup          var porta.3
butmode        var porta.2
bail2          var porta.0
bail3          var porta.1

clutch          var portb.0
lcdrw          var portb.2

c              var word
c = 0
lcdrw = 0

pause 150
lcdout $fe,1
pause 500
Start: '************************************************************************  START
c = c + 1
lcdout $fe,1
lcdout $fe,$00,"This is a test "
lcdout $fe,$40,DEC c
pause 500
if c > 100 then
  c = 0
endif
GOTO start


Viewing all articles
Browse latest Browse all 4745

Trending Articles