16F628 och LCD
Postat: 6 december 2004, 22:31:02
Har precis börjat med PIC:ar och skulle uppskatta lite hjälp med att kontrollera en vanlig LCD. Har knåpat ihop följande PICbasic-kod med hjälp av diverse källor. Jag vet däremot inte om den fungerar (troligtvis inte) och vill därför ha lite hjälp med korrigering.
Är mycket tacksam för all hjälp!
Kod: Markera allt
@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT
' System Clock Options
@ DEVICE pic16F628, WDT_ON
' Watchdog Timer
@ DEVICE pic16F628, PWRT_ON
' Power-On Timer
@ DEVICE pic16F628, MCLR_OFF
' Master Clear Options (Internal)
@ DEVICE pic16F628, BOD_ON
' Brown-Out Detect
@ DEVICE pic16F628, LVP_OFF
' Low-Voltage Programming
@ DEVICE pic16F628, CPD_OFF
' Data Memory Code Protect
' Set to CPD_OFF for Development Copy
' Set to CPD_ON for Release Copy
@ DEVICE pic16F628, PROTECT_OFF
' Program Code Protection
' Set to PROTECT_OFF for Development Copy
' Set to PROTECT_ON for Release Copy
' Define LCD pins
Define LCD_DREG PORTA
Define LCD_DBIT 0
Define LCD_RSREG PORTA
Define LCD_RSBIT 4
Define LCD_EREG PORTB
Define LCD_EBIT 3
Define LCD_BITS 4
Define LCD_LINES 2
Define LCD_COMMANDUS 2000
Define LCD_DATAUS 50
' Pre-start
Pause 500 ' Wait for LCD to wake up
LCDOut $FE, 1 'Initiate LCD by clearing display
Pause 500 'Wait for LCD to initiate
LCDOUT $FE,1,"Hej"
LCDOUT $FE,$C0,"Hej 2"