Gadżet do programatora ATMEL 89C2051
W magazynie Serious #13 opisałem sposób wykonania programatora ATMEL'i 89C2051 (89C4051). Obiecałem że skonstruuję jakiś
gadżet prosty w montażu, a obrazujący poprawne działanie programatora. Silić się na jakieś super konstrukcje nie mam zamiaru, bo każdy wymyśli sobie własne rozwiązania.
89C2051 jest na tyle elastyczny że pozwala na wiele bez zbytniego angażowania szarych komórek.
Wspomniany gadżet to nic innego jak prosty wyświetlacz siedmiosegmentowy sterowany właśnie ATMELem. Po zapoznaniu się z projektem niejeden padnie pewnie ze
śmiechu, ale nie o to chodzi. Chodzi o ideę i zobrazowanie sposobu - jak to się robi. Tak na dobrą sprawę to gadżet nieco rozbudowany, zaopatrzony w powiedzmy
dwa do czterech przycisków pozwoli wybrać jeden z wielu programów do uruchomienia. Wtedy... Jesteś na dyskotece, załączasz program -A- Coś zaczyna migać, bo
rozumiem że masz to zawieszone na plecach. Bywalcy aż puchną z zazdrości. A cóż to takiego? A Ty spokojnym głosem... (tu powiesz co chcesz, tekst wymyślisz
sobie sam). Jak w pobliżu będzie jakaś miła i urodziwa panienka, załączysz program -B- a wtedy... (no, za dużo chcielibyście wiedzieć :) ).

Kompletujemy części
- Procesor 89C2051 - 1szt
- Wyświetlacz siedmiosegmentowy WA - 1szt
- Dioda Zenera 3V3 - 1szt
- Kondensatory 33pF - 2szt
- Kondensator 1 F- 1szt (elektrolit)
Składamy całość w/g schematu, programujemy procesor 89C2051, przekładamy go do gadżetu. Zasilanie, wiadomo +5V i uruchamiamy.
Chodzi? Łoł! Ale efekt :)
Teraz co nieco o programie który należy władować do pamięci procesora. Pisany jest w assemblerze, obok są kody szesnastkowe, a poniżej te same kody w postaci
dziesiętnej, łatwiej przyswajalne ludzkim zmysłom. Do dzieła, będzie to jeden program, program-demo. Migająca kreseczka na przemian zaświeca segmenty "a" i "b"
wyświetlacza. Na podstawie zamieszczonego przykładu można samemu (kto zna assembler) rozbudować "miganie" i wzbogacić całość o efektowniejsze "demo" np.
"kreseczka" płynie po całym wyświetlaczu, lub dwie kreseczki biegają tu i tam. Efekt powalający :)
Gdyby tak jeszcze dźwięk? Możliwe, ale nie tu i teraz. Na dodatek - STEREO - To nie przechwałki. Adres startu to oczywiście 0000.
org 0
;program główny
74 FE start: mov a,#11111110 bin
F5 90 mov p1,a
11 0F acall slow
74 FD mov a,#11111101 bin
F5 90 mov p1,a
11 0F acall slow
02 00 00 ljmp start
;podprogram spowalniający "bieganie"
78 FF slow: mov r0,#FF
79 FF mov r1,#FF
D9 FE czek: djnz r1,czek
D8 FC djnz r0,czek
22 ret
end
Kody DEC: 116,254,245,144,17,15,116,253,245,144,17,15,2,0,0,120,255,121,255,217,254,216,252,34
Do dzieła!
Programator do gniazda cartridża, do podstawki oczywiście procesor 89C2051. Włączamy komp i ładuje się program obsługujący programator (Serious #13).
Po uruchomieniu programu należy do zmiennej A$ wpisać kody, np. tak:
- Klawiszem BREAK przerwij działanie programu
- Wpisz poniższą procedurę:
11000 FOR I=1 TO 24
11010 INPUT A
11020 A$(I,I)=CHR$(A)
11030 NEXT I
11040 GO TO 50
- W trybie bezpośrednim wydaj polecenie: GO TO 11000 /RETURN
- Uruchomiona procedura oczekuje na wprowadzenie kodów, więc to zrób: 116, 254, 245... itd.
- Po wprowadzeniu, wybierz z MENU opcję -6- nastąpi zaprogramowanie pamięci FEEPROM procesora 89C20151
- Jeszcze tylko weryfikacja, opcja 7
- Przełożyć procesor do gadżetu, podpiąć zasilanie +5V
- Miga? Powinno. Mnie miga.
Ale się narobiło, i po co to komu. Hm... To tylko mała demonstracja co Atari TEŻ MOŻE! Ale by to było dobrze mieć jeszcze assembler obsługujący ATMEL'e :) Kto ma PC,
może popróbować jak się to tam robi. Tak czy owak, programator też potrzebny, tyle że inny, PCtowski.
Swoje "wybryki" kodersko-elektroniczne opisał...
Zenon/DIAL
|