Marcoos - 2013-09-02

'------------------------------------------------------------------------------
'Chip Settings

chip mega324pa, 8

config osc = int

'------------------------------------------------------------------------------
'Config. Displ. 7seg (4 digit)
'------------------------------------------------------------------------------
dir PORTB out

define DisplayCount 4

define DISP_SEG_DOT PORTB.7

define DisplayPortA PORTB

define DisplayPortB PORTB

define DisplayPortC PORTB

define DisplayPortD PORTB

define DispSelectA nop

define DispSelectB nop

define DispSelectC nop

define DispSelectD nop

define DISP_SEL_1 PORTA.4

define DISP_SEL_2 PORTA.5

define DISP_SEL_3 PORTA.6

define DISP_SEL_4 PORTA.7

define SET_DISP_SEL_1 set PORTA.4 Off: set PORTA.5 On: set PORTA.6 On: set PORTA.7 On

define SET_DISP_SEL_2 set PORTA.4 On: set PORTA.5 Off: set PORTA.6 On: set PORTA.7 On

define SET_DISP_SEL_3 set PORTA.4 On: set PORTA.5 On: set PORTA.6 Off: set PORTA.7 On

define SET_DISP_SEL_4 set PORTA.4 On: set PORTA.5 On: set PORTA.6 On: set PORTA.7 Off

'------------------------------------------------------------------------------
'Display messaggi
'------------------------------------------------------------------------------

Dim Message As String
Message = "E23P"

'------------------------------------------------------------------------------
Main:
DP=0 'decimal point

do
Call Display
'End if
wait 1 ms
Loop
End

'------------------------------------------------------------------------------
'Emissione display 7 seg. 4 dsisplay switch 5ms con tim rtc 1 ms
'------------------------------------------------------------------------------
Sub Display
If Count_disp>4 then Count_disp=1 end if
Time_disp ++
if Time_disp =>4 then
Count_disp++
Time_disp=0
End if
DISP_SEG_DOT = off
if Count_disp=1 then
DisplayChar 1, Message(Count_disp)
if DP=1 then DISP_SEG_DOT = on
end if
if Count_disp=2 then
DisplayChar 2, Message(Count_disp)
if DP=2 then DISP_SEG_DOT = on
end if
if Count_disp=3 then
DisplayChar 3, Message(Count_disp)
if DP=3 then DISP_SEG_DOT = on
End if
if Count_disp=4 then
DisplayChar 4, Message(Count_disp)
if DP=4 then DISP_SEG_DOT = on
end if
End sub