; Aansturen 3 digit LED display
; By Rick Companje (www.companje.nl)
; Date: 2 maart 2006
; Controller: PIC 18F4520
; Display: LTC571HR (ooit uit digitale weegschaal gesloopt geloof ik)
; Compiler: JAL 4.62
include f4520_40
include jlib
var byte d1 = 0, d2 = 0, d3 = 0
pin_a0_direction = output
pin_a1_direction = output
pin_a2_direction = output
port_d_direction = all_output
procedure setDigit( byte in col, byte in number) is
; -- activeer juiste digit op het LED display
if col == 1 then port_a = 253
elsif col == 2 then port_a = 254
elsif col == 3 then port_a = 251
end if
; -- activeer de juiste LEDs per cijfer
if number == 0 then port_d = 63
elsif number == 1 then port_d = 12
elsif number == 2 then port_d = 91
elsif number == 3 then port_d = 94
elsif number == 4 then port_d = 108
elsif number == 5 then port_d = 118
elsif number == 6 then port_d = 119
elsif number == 7 then port_d = 28
elsif number == 8 then port_d = 127
elsif number == 9 then port_d = 126
end if
; -- wacht een milliseconde anders zie je geen verandering
delay_1ms(1)
end procedure
forever loop
; -- getal ophogen
d3 = d3 + 1
; -- tiental 1 ophogen indien nodig
if d3 > 9 then
d3 = 0
d2 = d2 + 1
end if
; -- honderdtal 1 ophogen indien nodig
if d2 > 9 then
d2 = 0
d1 = d1 + 1
end if
; -- indien getal >999 dan weer naar 0
if d1 > 9 then
d1 = 0
end if
; -- toon de drie cijfers van het getal op het LED display en vertraag het tellen
for 100 loop
setDigit(1,d1)
setDigit(2,d2)
setDigit(3,d3)
end loop
end loop