;-------------------------------------------------------------------------------
;16F684
;-------------------------------------------------------------------------------
include 16f684
pragma target clock 4_000_000 ;oscillator frequency
pragma target OSC XT ;4MHz xTal
pragma target WDT disabled ;no watchdog
pragma target MCLR internal ;reset internally
enable_digital_io() ;alle pinnen digitale IO
;-------------------------------------------------------------------------------
;instellingen voor de schakelaar
;-------------------------------------------------------------------------------
alias switch is pin_A3
pin_A3_direction = input
const byte sw_on[] = "ON "
const byte sw_off[] = "OFF"
;-------------------------------------------------------------------------------
;LCD declaratie en initialisatie
;-------------------------------------------------------------------------------
;Volgende constanten moeten gedeclareerd worden:
const byte LCD_ROWS = 2 -- 1, 2 or 4 lines
const byte LCD_CHARS = 20 -- 8, 16 or 20 chars per line
;Alisassen voor de handshake-lijnen:
alias lcd_rs is pin_c5 -- cmd/data select
alias lcd_en is pin_c4 -- trigger
pin_C5_direction = output
pin_C4_direction = output
;Aliassen voor de vier datalijnen:
alias lcd_dataport is portC_low -- 4 databits
pin_C0_direction = output
pin_C1_direction = output
pin_C2_direction = output
pin_C3_direction = output
var byte World[11] = "Hello World"
var byte ClearText[11] = " "
;laad de eigenlijke bibliotheek
include lcd_hd44780_4
;en ionitialiseer het display
lcd_init() -- init the lcd controller
;We laden meteen een andere interessante bibliotheek om eenvoudig tekst
;op het display te krijgen
include print
;en we zetten de tekst op het scherm na dit voor alle zekerheid eerst te
;wissen:
lcd_clear_screen()
print_string(lcd, World)
;-------------------------------------------------------------------------------
forever loop
lcd_cursor_position(1,0)
;switch is laag-waar
if(!switch)then
print_string(lcd, sw_on)
else
print_string(lcd, sw_off)
end if
end loop
;-------------------------------------------------------------------------------