'------------------------------------------------------------------------------
'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
'------------------------------------------------------------------------------
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
'------------------------------------------------------------------------------
'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