Witam, w ramach wyzwania postanowiłem napisać program do kitu Jabel J-89 (timer mikroprocesorowy). Znalazłem na elektrodzie temat na którym ktoś się postanowił podzielić fajną bo prostą procedurą na sterowanie wyśiwietlaczy 7 segmentowych za pomocą rejestru przesuwnego 74164, https://www.elektroda.pl/rtvforum/topic415722.html#2120076 przepisałem program, wgrałem do atmela i umieściłem go w urządzeniu. Po odpaleniu spodziewałem się że wszystkie cyfry będą świecić jednakowo jednak pewne cyfry świecą dobrze tylko w odpowiedniej kolejności. Na załączonym obrazku powinno być 3333 a pokazują się takie krzaki. Próbowałem wielu zmian w kodzie jednak zawsze wychodzi to z takim samym skutkiem. Jeśli ktoś ma pomysł co może być nie tak to proszę o pomoc.
Czym różnią się oznaczenia 24PI a 24PU? . Jeśli nauczę się dobrze pisać w bascomie to nie wykluczone że napiszę i podzielę się wieloma programami do kitów Jabel wraz z ich wytłumaczeniem, bo niestety polityka tej firmy (nie udostępnianie wsadów) sprawia że wielu osobom zostaje niedosyt gdy zmontują układ z mikroprocesorem i nie wiedzą jak on działa ponieważ 70% roboty wykonuje atmel z tajemniczym wsadem.
Jakby co tablica Label jest jeszcze nie dokończona ze względu na zaistniały problem.
Kod:
$regfile = "89C2051.dat"
$crystal = 12000000
Dim X As Byte , Y As Word , I As Byte , J As Byte , Cyfry(4) As Byte
Dim Z As Word
Y = 3333
Cyfry(4) = Y / 1000
Y = Y Mod 1000
Cyfry(3) = Y / 100
Y = Y Mod 100
Cyfry(2) = Y / 10
Cyfry(1) = Y Mod 10
Do
For I = 1 To 4
X = Lookup(cyfry(i) , Label)
P3.5 = 1
P3.4 = 1
P3.3 = 1
P3.2 = 1
For J = 1 To 8
P3.1 = 0
P3.0 = X.0
Rotate X , Right
P3.1 = 1
Next J
Select Case I
Case 1 : P3.5 = 0
Case 2 : P3.4 = 0
Case 3 : P3.3 = 0
Case 4 : P3.2 = 0
End Select
Waitms 5
Next I
Loop
End
Return
Label:
Data &B00000010 , &B11110101 , &B01011000 , &B01010100 , &B10001110
Data &B10001110 , &B00001110 , &B10001111 , &B00000000 , &B00010000
Czym różnią się oznaczenia 24PI a 24PU? . Jeśli nauczę się dobrze pisać w bascomie to nie wykluczone że napiszę i podzielę się wieloma programami do kitów Jabel wraz z ich wytłumaczeniem, bo niestety polityka tej firmy (nie udostępnianie wsadów) sprawia że wielu osobom zostaje niedosyt gdy zmontują układ z mikroprocesorem i nie wiedzą jak on działa ponieważ 70% roboty wykonuje atmel z tajemniczym wsadem.
Jakby co tablica Label jest jeszcze nie dokończona ze względu na zaistniały problem.
Kod:
$regfile = "89C2051.dat"
$crystal = 12000000
Dim X As Byte , Y As Word , I As Byte , J As Byte , Cyfry(4) As Byte
Dim Z As Word
Y = 3333
Cyfry(4) = Y / 1000
Y = Y Mod 1000
Cyfry(3) = Y / 100
Y = Y Mod 100
Cyfry(2) = Y / 10
Cyfry(1) = Y Mod 10
Do
For I = 1 To 4
X = Lookup(cyfry(i) , Label)
P3.5 = 1
P3.4 = 1
P3.3 = 1
P3.2 = 1
For J = 1 To 8
P3.1 = 0
P3.0 = X.0
Rotate X , Right
P3.1 = 1
Next J
Select Case I
Case 1 : P3.5 = 0
Case 2 : P3.4 = 0
Case 3 : P3.3 = 0
Case 4 : P3.2 = 0
End Select
Waitms 5
Next I
Loop
End
Return
Label:
Data &B00000010 , &B11110101 , &B01011000 , &B01010100 , &B10001110
Data &B10001110 , &B00001110 , &B10001111 , &B00000000 , &B00010000