Image47 (5)

Image47 (5)



Forum Czytelników

danych umożliwi sprawdzenie poprawności kodu także po przesłaniu dalej do innych ukłudów. Kod odczytany z karty jest przesyłany przez RS232 tylko wtedy, gdy po zweryfikowaniu z bitami kontrolnymi jest prawidłowy. Na listingu 1 przedstawiona została procedura przesłania rozkazu do U1. Na początku jest ustawiana linia Dat jako wyjście, po czym następuje zerowanie interfejsu zgodnie z rysunkami 3 oraz 4. W pętli „FOR” są wysyłane bity zawarte w zmiennej „wysl”, natomiast zmienna ..zakres'* zawiera ilość hitów do wysłania. Na końcu tej procedury linia DAT ustawiuna jest jako wejście. Listing 2 przedstawia procedurę odczytu oraz dekodowania odebranego z karty kodu. Flaga „Cclk” tworzy wirtualny sygnał zegarowy, który jest synchronizowany zboczami sygnału z danymi wysyłanymi z karty. Flaga ta jest pomocna przy dekodowaniu przesłanych hitów danych. Po zaistnieniu narastającego zbocza sygnału z danymi program wchodzi w pętlę „DO-LO-OP", w której następuje odczyt i dekodowanie przesyłanego kodu. Jeżeli zmienna „spr” osiągnie wartość 9, będzie to znakiem, że zostało przesłane 9 bitów nagłówka, po którym następują ważne dane, które są zapisywane w tablicy „DANJsI Po wykonaniu instrukcji ..Ddat = Datl Xor Cclk”, flaga „Dat” zawiera wartość odczytanego i /.dekodowanego bitu. który należy już zapisać. Gdy zostaną odczytane wszystkie dane. zmienna „I” przyjmuje wartość 12. co umożliwia wyjście z pętli. Wyjście z pętli umożliwia także osiągnięcie wartości 180 przez zmienną „temp?”. Gdyby pętla nie była opuszczona na czas, program by nie zdążył wyzerować watchdoga, co powodowałoby reset mikrokontrolera. Zmienna „Temp3” została wprowadzona tylko po to. by na czas była opuszczana ta procedura. Na listingu 3 przedstawione zostały instrukcje sprawdzające poprawność odczytanego kodu. Procedurę tę można podzielić na dwie części: część sprawdzającą wiersze oraz część sprawdzająca kolumny odebrunego kodu. W pierwszej zewnętrznej pętli „for” sprawdzane są wiersze, natomiast w drugiej pętli „for*' sprawdzane są kolumny. Przy choć jednej nieprawidłowości zarówno kolumn, jak i wierszy ustawiana jest flaga „error”. Zerowy stan tej zmiennej po wyjściu z procedury sprawdzającej gwarantuje poprawność odebrunego kodu, który można przesłać przez port RS232 lub porównać z zapisanym wzorcem w pamięci EEPROM, by umożliwić np. otwarcie zamka.

Montaż i uruchomienie

Zamek należy zmontować na płytce drukowanej, która jest przedstawiona na rysunku 8. Montaż należy rozpocząć od wlutowania kilku zworek, przechodząc dalej do elementów najmniejszych, kończąc na włożeniu układów scalonych do podstawek, przy czym powinny być to podstawki precyzyjne, by zamek nas kiedykolwiek nie zawiódł. Trochę problemów może być z wliuowaniem układu Ul, gdyż jest un montowany w technologii SMD. Aby laki układ poprawnie zamontować, można go najpierw przykleić do płytki, po czym po wyschnięciu kleju można przystąpić do przy-lutnwaiiia go lutownicą z cienkim grotem.

Nie należy używać lutownic transformatorowych, bo prawdopodobnie dojdzie do przegrzania układu i powstania trudnych do usunięcia zwarć. Przy montażu tegoż układa należy pamiętać o odpowiednim jego usytuowaniu. Odwrotne wlutowanie spowoduje

listing l

wilce k

'procedura przesiania rozkazu ćo AGIC

CX.nl iq Pinii.2 = Output

'ustaw linie danych jako wyjście

Reoet Clk

'zerui Unie clk

Reset Dat

'zeiu i 1inie dat

Waitus 10

1czekaJ

SGt Clk

'ustaw linio clk

waitus 10

'czekaj

Set Dat

'ustaw linie dat

Waitu3 10

•czekał

Reset Clk

'zeruj 1 ii ie clk

Wait ns 10

For 1 = 0 1’0 &a <rfi.=;

'wysyłaj as i osiągnie wartoac zmiennej zaktsa

IC Wynl.i - I rlten

'jeśli hit cznaczcny indeksem i jest. uotawiony :.j

3ct Dat.

•ustaw Urie dat

Elsa

'w przećiwnyn jazie

Reser nat

'acruj linie dat.

oni ir

Waic-ts 10

'czekaj

3et Clk

'ustaw linie clk

Wai-jo 20

'czekaj

Re3et Clk

'zeruj linie clk

Nai-ns ifl

'czekaj

MexL l

Reset Dat

'2eruj limę dat

If Wyol - *) Then

* ieali do wysiana wartość równa -t -o

WaLtus 30

•czekaj

Ser Dat

'ustaw linie dat

Waitus 20

'czekaj

Reset Dal

'zeruj Unie dat

End I:

Waltns 1

'czekaj

I Con*tg Pind.2 ■ Znput

'uotaw linia dat jako wejście

Snd Sub

Lis li u/" 2

Sub Raad t

'orocodata atlety.j danych z transpondera : 7 »vrry)

Reset Kod

'zorjj flago zod

set cclk

'ustaw flaga ccLk

Do

'cze<aj aż. linie dat osiągnie stan 0

Loop Until Dali - t

Do

•czekaj at Linia dat os.aame stan i

Loop Until Datl *• 1

Temp.l = (i

Do

C - 0

Jf Eatl - 0 Thcn

' jeżeli, -ima ddt=0 to

To

Inor .1

'zwiększ zr\-enn«i j

ir j = 4 7 men

' jeżę 1 : znienna to wyjdą 2 pctli do loop/

Sxit Dj

End If

Loop Until Datl - 1

wyjście i pętli tckze ccy liria ćat=l

r/Mk = Not ?_lk

' smen otan flagi cclk

Elsę

'u prsociwnyra rasie

Do

Insr J

'zwiększ znienna ;

If J - 17 Thcn

'jeżeli zmienne 1=47 tc wyjdź z perli rln-Innfi

Exit Do

2nd It

tiDDp Until Datl « 0

'wy;srie i pętli także gdy linia dat.-0

Cclk - MuL Cclk

•znien star tlaęi rrlk

End If

Ddat = DatL /ar Ccl<

'dekoduj odczytany sLdii funkcia xor

ir ::~lk = 0 Then

'jeżeli flaca cclk-C to

rc Kod - L Then

'i jo2c1 i kcd=l to

3p. - Dmie!ij

'zapisz dc zmiennej spr określona indeksem da.

Spr.k - Ddat

•zapisz dc pozycji określone} zmenna k stan flaui ddat

Dane(i; - Spr

•zapisz zmienna spr do danych określonych in.1e<seir

Den- K

'zmniejsz zmienna k

.: K - 255 Then

'je2eli 2mienna k-255 to

K = <

'zapisz rir. nio wartość 4

Incr 1

•zwiększ zmienna i

End If

End Z*

if Kod - 0 Then

•jeśli kod-0 to

n* Ddat - i ir.er

•i jeśli ddat=ł to

lncr Spi

•zwiększ, zmienna spr

If Spr - 2 Then

’iesli spr=9 to

T«=mp3 - 0

•zeruj zmienna Leup3

Set Kcd

•ustaw flago kod

1-1

'zapisz do zmiennaj i war.ooc l

K = 4

'a do z.Tiiannoj < wartość 4

Erc If

Elee

'w PŁzecitftiyai razie

Spr - 0

'zeruj zmienna aor

fcr.ć if

End IX

End If

lncr Temp3

'zwiększ warLosc temp3

Loop Until I = 15 Cr Teirp3 - 280

'zakończ procedurę gdy r-12 lub tenplB180


56 Kwiecień 2005 Elektronika dla Wszystkich


Wyszukiwarka

Podobne podstrony:
Image48 (5) Forum Czytelników Forum Czytelników Listing J Sub Sprawdź •sprawdzenie poprawności
23196 Image48 (8) ■ Forum Czytelnikówczyli „co z tym pudłem (PC) zrobić?” Miernik składa się z kaska
23998 Image49 (6) Forum Czytelników Rys. 1 Schemat kompletnojj instalacji oświetleniowej roweru z wy
Image47 (3) ■ Forum Czytelników P vcc ♦12VO    7805
Image44 (7) Forum Czytelników Fot. 3 Przy uruchamianiu układów lampowych należy dążyć, by napię
Image46 (6) Forum Czytelników Rys. 3 SCLK 1 o o SłflWt nwhr« SCLK n iiaiMMuraiuu
Image46 (9) ■ Forum Czytelników Znów wyjątkowo prezentujemy w dziale Forum Czytelników nietypowy

więcej podobnych podstron