Hi,
I got this code from the PICBASIC list on the melabs site. I have posted this before here. Posting again. Adapt your code to your specific requirements.
Regards
Sougata
Hi,
I got this code from the PICBASIC list on the melabs site. I have posted this before here. Posting again. Adapt your code to your specific requirements.
Regards
Sougata
@ DEVICE PIC16F84A, HS_OSC, PWRT_ON, WDT_OFF, PROTECT_OFF
DEFINE OSC 20 ' Set speed to 20MHz
TRISB = %00000000 ' All PORTB pins are outputs
' LCD DEFINES
DEFINE LCD_BITS 8
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4 'PORTB.0 is first data
DEFINE LCD_LINES 2 'Number of lines on LCD to be used
define LCD_RSREG PORTA 'Port used for LCD RS Pin
define LCD_RSBIT 3 'Port Pin used for LCD
define LCD_EREG PORTA 'Port used for LCD E pin
define LCD_EBIT 4 'Port Pin used for LCD E Pin
define LCD_COMMANDUS 2000 'Delay between sending lcd commands
define LCD_DATAUS 50 'Delay time between data sent
SerData VAR word
SerPin VAR PORTA.2
TRISA.2=1
pause 1000
LCDOut $FE, 1 'Clear LCD
pause 20
lcdout $FE, 2 'Return to home position
pause 20
GOTO Start
Start:
SERIN SerPin,6,SerData 'receive data
LCDOut Serdata ' Send to LCD
If serdata =5 then gosub clearlcd
GOTO Start
END
clearlcd:
lcdout $FE,$80," "
lcdout $FE,$C0," "
return
So if you send number 5 to your pic it will clear the lcd. From your code ive asumed you have use a 2 line lcd.
Hope it helps
Sphere
lcdout $FE,$80," "
lcdout $FE,$C0," "
when I post the above it has 20 spaces between " " but it is only showing about 4 so add about 20 in your program
Last edited by Sphere; - 24th February 2006 at 17:25.
Thank you for your replies.
I looked over many of the previous posts by searching this site and realized that my problem was most likely due to trying to use DEBUGIN for input. None of the code examples I saw utilized DEBUGIN. Finally I scrapped the 16F84 as processor, cut 4 data lines from my hardware interface and used a 16F628 with a USART. Using HSERIN (on RB1) as my input and LCDOUT with the 4 line mode, I had success last night.
It looks like the SERIN command was used in one of the examples. Perhaps I will work with it and see what happens.
I think a faulty crystal also complicated my debug process.
In this exercise I learned what a huge amount of information is available on this forum but it helps to search on the correct terminology. Once I discovered that what I am trying to do is referred to as a "backpack", I had a lot of good material to look over.
Bookmarks