Witam.
Zrobiłem taką animację do M168,jest z tym problem.
Gdy włącza się czasem Uc to nie zawsze jest to wyświetlane prawidłowo.
Czasami elementy są rozrzucone po całym wyświetlaczu.
Czy może to być spowodowane ilością DEF??
Program w symulacji działa prawidłowo.
Zrobiłem taką animację do M168,jest z tym problem.
$regfile = "M168def.dat" ' use the Mega168
$crystal = 2000000
Config Portc = Input
Portc = &B0000000
Config Portd = &B11110000
Portd = &B00001100
$sim
Config Lcd = 20 * 4
Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0
Cls
Cursor Off
Dim Q As Word , A As Byte , Q1 As Word , Q2 As Word , A1 As Word
Dim X As Word , X1 As Long , Q3 As Word , P2 As Word
A1 = 1 : Q1 = 2 : Q2 = 4 : X = 0 : X1 = 0
Cls
Goto Hold
Hold:
Dim P As Word , P1 As Word
P = 0 : P1 = 0 : A1 = 1 : Q1 = 2 : Q2 = 4 : X = 3 : X1 = 0
Dim P3 As Word , P4 As Word
P4 = 0
Cls
Q = 0
Q1 = 0
Do
Incr Q1
If Q1 = 11 Then Q1 = 0
If Q1 = 10 Then Incr Q
If Q = 4 Then Q = 0
If Q = 0 And P3 = 0 Then Gosub Def7
If Q = 1 And P2 = 0 Then Gosub Def8
If Q = 2 And P1 = 0 Then Gosub Def9
If Q = 3 And P4 = 0 Then Gosub Def10
Locate 2 , 6
Lcd Chr(5) ; Chr(0) ; Chr(2) ; Spc(3) ; Chr(5) ; Chr(0) ; Chr(2)
Locate 3 , 6
Lcd Chr(4) ; Chr(1) ; Chr(3) ; Spc(3) ; Chr(4) ; Chr(1) ; Chr(3)
Locate 1 , 6
Lcd "___" ; Chr(7) ; Spc(1) ; Chr(6) ; "___"
Loop
'prosto oczy
Def7:
Deflcdchar 0 , 32 , 31 , 31 , 17 , 32 , 32 , 14 , 31 ' galka
Deflcdchar 1 , 31 , 14 , 32 , 32 , 17 , 31 , 31 , 32 'galka dol
Deflcdchar 2 , 32 , 16 , 28 , 30 , 15 , 7 , 3 , 3 'prawa
Deflcdchar 3 , 3 , 3 , 7 , 15 , 30 , 28 , 16 , 32 'prawa dol
Deflcdchar 4 , 24 , 24 , 28 , 14 , 15 , 7 , 1 , 32 ' lewa dol
Deflcdchar 5 , 32 , 1 , 7 , 15 , 30 , 28 , 24 , 24 'lewa
Deflcdchar 6 , 32 , 32 , 32 , 32 , 32 , 32 , 7 , 12 'brew prawa
Deflcdchar 7 , 32 , 32 , 32 , 32 , 32 , 32 , 28 , 6 'brew lewa
P3 = 1
P2 = 0
P1 = 0
P4 = 0
Return
'oczy w lewo
Def8:
Deflcdchar 0 , 32 , 31 , 31 , 17 , 32 , 32 , 24 , 28 ' galka w lewo
Deflcdchar 1 , 28 , 24 , 32 , 32 , 17 , 31 , 31 , 32 'galka lewo dol
Deflcdchar 2 , 32 , 16 , 28 , 30 , 15 , 7 , 3 , 3 'prawa
Deflcdchar 3 , 3 , 3 , 7 , 15 , 30 , 28 , 16 , 32 'prawa dol
Deflcdchar 4 , 27 , 25 , 28 , 14 , 15 , 7 , 1 , 32 'lewy dol
Deflcdchar 5 , 32 , 1 , 7 , 15 , 30 , 28 , 25 , 27 'lewa
P3 = 0
P2 = 1
P1 = 0
P4 = 0
Return
'oczy prawy dol
Def9:
Deflcdchar 0 , 32 , 31 , 31 , 17 , 32 , 32 , 32 , 1 ' galka w prawo
Deflcdchar 1 , 3 , 3 , 1 , 32 , 17 , 31 , 31 , 32 ' galka w prawo dol
Deflcdchar 2 , 32 , 16 , 28 , 30 , 15 , 7 , 3 , 19 'prawy
Deflcdchar 3 , 27 , 27 , 23 , 15 , 30 , 28 , 16 , 32 'prawy dol
Deflcdchar 4 , 24 , 24 , 28 , 14 , 15 , 7 , 1 , 32 ' lewa dol
Deflcdchar 5 , 32 , 1 , 7 , 15 , 30 , 28 , 24 , 24 'lewa
P1 = 1
P2 = 0
P3 = 0
P4 = 0
Return
'zle oczy
Def10:
Deflcdchar 0 , 32 , 32 , 32 , 32 , 31 , 31 , 14 , 31 ' replace ? with number (0-7)
Deflcdchar 2 , 32 , 32 , 32 , 32 , 24 , 30 , 7 , 3 'prawa
Deflcdchar 5 , 32 , 32 , 32 , 32 , 3 , 15 , 28 , 24 'lewa
Deflcdchar 1 , 31 , 14 , 32 , 32 , 17 , 31 , 31 , 32 'galka dol
Deflcdchar 3 , 3 , 3 , 7 , 15 , 30 , 28 , 16 , 32 'prawa dol
Deflcdchar 4 , 24 , 24 , 28 , 14 , 15 , 7 , 1 , 32 ' lewa dol
P4 = 1
P1 = 0
P2 = 0
P3 = 0
Return
Gdy włącza się czasem Uc to nie zawsze jest to wyświetlane prawidłowo.
Czasami elementy są rozrzucone po całym wyświetlaczu.
Czy może to być spowodowane ilością DEF??
Program w symulacji działa prawidłowo.
