M I N I P R O J E K T Y
Przełącznik sensorowy z procesorem AVR AT90S1200
Bohaterem artykułu
Procesory AVR produko- sensorowego, czyli układu
wane przez firmÍ ATMEL sÄ… przeÅ‚Ä…czajÄ…cego, dziaÅ‚ajÄ…cego
jest premierowa
prostymi 8-bitowymi sterow- pod wpÅ‚ywem dotkniÍcia.
konstrukcja opracowana
nikami jednoukładowymi. Oczywiście, przełącznikita-
w AVT, wykorzystujÄ…ca
Cechy wyrÛÅ‚niajÄ…ce je to du- kie znane sÄ… od dawna.
i testująca mołliwości
ła szybkośĘ działania i nie- Mołna je zbudowaĘ
sterownika z rodziny
wielki pobÛr prÄ…du, co po- z ogÛlnie dostÍpnychele-
zwala im pracowaĘ nawet mentÛw dyskretnych
AVR. Przyświecały nam
w układach zasilanych bate- i bramek logicznych.
dwa cele: stworzenie
ryjnie. Dodatkowymi atutami Konstrukcja przełączni-
układu posiadającego
jest duła wydajnośĘ prądowa ka z procesorem jest
walory ułytkowe
portÛw wyjÅ›ciowych zdol- jednak niezwykle
i pokazanie na jego
nych sterowaĘ bezpośrednio prosta. W dodatku
diodami LED lub maÅ‚ymi Å‚atwo moÅ‚nazwiÍk-
przykładzie jak mołna
przekaünikami oraz moÅ‚li- szyĘ jego moÅ‚li-
wykorzystywaĘ
wośĘ ustawiania wyprowa- wości modyfiku-
i oprogramowaĘ nowe
dzeÒ portÛw w stan wysokiej jÄ…c jedynie pro-
sterowniki siÍgajÄ…c po
impedancji. Takie wÅ‚aÅ›ciwoÅ›- gram, a rÛw-
ogÛlnie dostÍpne
ci umołliwiają wykorzystanie nieło to w ca- ł y m
procesora jako przełącznika projekcie chodzi.
narzÍdzia.
Elektronika Praktyczna 7/99
76
M I N I P R O J E K T Y
M I N I P R O J E K T Y
Schemat ideowy przeÅ‚Ä…cz- du wytwarzajÄ…cego impulsy mu diody LED. JednoczeÅ›nie PB.7 oraz przyjÍciem przez
nika pokazano na rys. 1. Jak taktujÄ…ce o czÍstotliwoÅ›ci sta- nastÍpujezmianastanu portu wszystkie bity portu pozio-
widaĘ, w swejzasadniczejczÍÅ›- bilizowanejrezonatorem kwar- PB. W cyklu ok. 0,6s na ko- mu nieaktywnego, czyli nis-
ci urzÄ…dzenie skÅ‚ada siÍ z pro- cowym. W prototypie uÅ‚yto lejnych wyjÅ›ciach portu poja- kiego. Wyprowadzenia portu
cesora AVR i niewielu wiÍcej kwarcu o czÍstotliwoÅ›ci ok. wiasiÍaktywnystan wysoki. poprzezzÅ‚Ä…czeJP2 mogÄ… bez-
elementÛw. Dwa styki senso- 4MHz,jednak modyfikujÄ…cpro- Kierunek przesuwania siÍ poÅ›rednio sterowaĘ LED-ami
rÛw doÅ‚Ä…czonesÄ… dosterowni- gram moÅ‚nazastosowaĘ kwarc stanuaktywnegozaleÅ‚yodte- lub innymi ukÅ‚adami pobie-
kapoprzezpojemnoÅ›ci C3i C4. o czÍstotliwoÅ›ci z zakresu od go, czy dotkniÍty zostanie rajÄ…cymi do 20mA prÄ…du.
åwiecenie diod D1i D2sygna- 1 do 10MHz. sensor SW1czy SW2. Poziom UkÅ‚ad w prosty sposÛb
lizuje dotkniÍcie ktÛregoÅ› DziaÅ‚anie ukÅ‚adu jest bar- wysoki na wyprowadzeniach moÅ‚na rozbudowaĘ. DoÅ‚Ä…cza-
z sensorÛw. Procesor do pracy dzo proste. DotkniÍcie ktÛre- portu moÅ‚e przesuwaĘsiÍ po- jÄ…cdwazewnÍtrznerejestryza-
(oczywiÅ›cie oprÛcz zasilania goÅ› z sensorÛw powoduje za- miÍdzy dwoma poÅ‚oÅ‚eniami trzaskowe moÅ‚na uzyskaĘ ste-
+5V) potrzebuje jedynie ukÅ‚a- palenie siÍ odpowiadajÄ…cej skrajnymi: wyprowadzeniem rowany dotykowo przeÅ‚Ä…cznik,
List. 1.
;************************* ldi opcja,0x0 ;badanie stanu SW2 rcall wyswietl_dig
;* Przełącznik dotykowy na ;włączeniem lub wyłączeniem ori sw2_test,0x20 ;stan ;wyświetlenie cyfry na
;procesorze AT90S1200* ;obsługi wyświetlacza ;wysoki, wejście jest ;wyświetlaczu
;* zegar ok.4.0MHz ;pobudzane poprzez dotyk ldi sw1_test,0x0
;************************* ldi r30,dig_table ;zapis rcall signal ldi sw2_test,0x0
; dane wyjściowe podawane są na ;danych do tabeli sterującej ;zapalenie lub zgaszenie diod
rjmp p1
; port PB ;segmentami wyświetlacza ;sygnalizacyjnych D1,D2
; diody sygnalizujące przesuw ldi trans,0x3f ;wartość rjmp p1
; dołączone są do PD6 i PD5 ;reprezentująca zapalone ;koniec pętli głównej programu
;podprogram wyświetlania cyfry
; wejście sensora przesuwu ;segmenty cyfry 0
;na wyświetlaczu
; w dół dołączone jest st Z,trans
;siedmiosegmentowym
; do PD3 (SW1) inc r30
zegar:
wyswietl_dig:
; wejście sensora przesuwu ldi trans,0x06 ;wartość
;podprogram zegara-stopera
cpi opcja,0x0
; w górę dołączone jest ;reprezentująca zapalone
ldi trans,0x2
breq w_d1 ;obsługa
; do PD4 (SW2) ;segmenty cyfry 1
out TIFR,trans
;wyświetlacza jest wyłączona
; wejście wyboru opcji PD2 st Z,trans
;wyzerowanie flagi TOV0
ldi r30,dig_table
; wyjście sygnału dla inc r30
dec zeg_06s
add r30,dig_number
; zatrzasku sterujÄ…cego
tst zeg_06s
ld trans,Z
; wyświetlaczem PD0 ;w tym miejscu należy dopisać
brne p1 ;stoper jeszcze nie
out PORTB,trans
; wyjście sygnału dla ;instrukcje zapisujące do
;odmierzył 0,6s
nop
; zatrzasku danych ;pamięci wygląd pozostałych
nop
; równoległych PD1 ;cyfr 2 - 7
ldi zeg_06s,110 ;odliczone
cbi PORTD,clk_disp
.include 1200def.inc
;zostało ok. 0,6s
;generacja impulsu dla
.DEF zeg_06s=r16 inc r30
or test,sw1_test
;rejestru
; rejestr stopera ldi trans,0x7f ;wartość
or test,sw2_test
sbi PORTD,clk_disp
.DEF port_out=r17 ;rejestr ;reprezentujÄ…ca zapalone
cpi test,0x60
;zatrzaskujÄ…cego
; stanu portu równoległego ;segmenty cyfry 8
;jeżeli aktywne oba
cbi PORTD,clk_disp
.DEF test=r18 st Z,trans
;wejścia SW1 i SW2
nop
;rejestr pomocniczy
breq z_1 ;stan portu PB
nop
.DEF trans=r19 ldi test,0x0
;nie ulegnie zmianie
w_d1:
;rejestr pomocniczy ;ustawienie wartości
cpi test,0x20
ret
.DEF dig_number=r20 ;początkowych rejestrów
breq z_2 ;aktywne SW2
;podprogram ustawiania
;wskaznik aktywnego wyjścia ldi trans,0x0
cpi test,0x40
;aktywnego wyjścia
.DEF opcja=r21 out PORTD,trans
breq z_3 ;aktywne SW1
;równoległego
;rejestr aktywnej opcji ldi port_out,0x01
rjmp z_1
set_paralel:
;obsługi wyświetlacza ldi dig_number,0x01
;żadne z wejść nie jest aktywne
out PORTB,port_out
.DEF sw1_test=r22 rcall set_paralel
z_3:
nop
;znacznik aktywnego wejścia 1 ;po resecie aktywne będzie
;przesuwanie bitu portu
nop
.DEF sw2_test=r23 ;wyjście 1
;wyjściowego gdy aktywne
cbi PORTD,clk_paral
;znacznik aktywnego wejścia 2 rcall wyswietl_dig
;jest SW1
;generacja impulsu dla
.EQU clk_paral=1 ;wyświetlenie cyfry
cpi port_out,0x80 ;bit portu
;rejestru
;przypisanie nazwy do wyjścia ;określającej aktywne wyjście
;nie może już być przesuwany
sbi PORTD,clk_paral
;sygnału zatrzasku danych ldi zeg_06s,110 ;wartość
breq z_1 ;stan wyjścia
;zatrzaskujÄ…cego
;równoległych ;początkowa rejestru stopera
;nie ulegnie zmianie
cbi PORTD,clk_paral
.EQU clk_disp=0 ldi trans,0x3 ;preskaler /64
cpi port_out,0x0
nop
;przypisanie nazwy do wyjścia out TCCR0,trans
brne z_31
nop
;sygnału zatrzasku wyświetlacza ldi trans,0x0 ;wartość
ldi port_out,0x1
ret
.EQU pin_opcja=2 ;poczÄ…tkowa rejestru licznika
;aktywne wyjście numer 1
;podprogram sterujÄ…cy
;przypisanie nazwy do wejścia ;sprzętowego
ldi dig_number,0x1
;zapalaniem i gaszeniem diod
;wyboru opcji
out TCNT0,trans
rjmp z_1
;sygnalizacji
.EQU dig_table=5 ;adres
z_31:
signal:
;tabeli danych sterujÄ…cych
lsl port_out
ldi test,0x0
; segmentami wyświetlacza
;przesuwanie bitu wyjścia
p1: cpi sw1_test,0x0
inc dig_number
;początek pętli głównej breq sig1
rjmp z_1
;programu ori test,0x40
ldi trans,0xff ;zapis z_2:
in trans,TIFR ;aktywne SW1, zapalona
;wartości FFh do rejestru DDRB ;przesuwanie bitu portu
sbrc trans,TOV0 ;badanie ;zostanie D1
out DDRB,trans ;programuje ;wyjściowego gdy aktywne
;stanu flagi TOV0 licznika, sig1:
;port B jako port wyjściowy ;jest SW2
;jeśli ustawiona cpi sw2_test,0x0
ldi trans,0x63 ;zapis do cpi port_out,0x0 ;bit portu
rjmp zegar breq sig2
;rejestru DDRD programuje port D ;nie może już być przesuwany
;skok do podprogramu zegar ori test,0x20
out DDRD,trans ;w części breq z_1 ;stan
in trans,0x0 ;aktywne SW2, zapalona
;jako port wyjściowy w części ;wyjścia nie ulegnie zmianie
sbic PIND,3 ;zostanie D2
;jako wyjściowy lsr port_out
;badanie stanu SW1 sig2:
sbi PORTD,pin_opcja dec dig_number
ori sw1_test,0x40 ;stan mov trans,test
ldi opcja,0xff z_1:
;wysoki, wejście jest com trans
sbis PIND,pin_opcja rcall set_paralel ;ustawienie
;pobudzane poprzez dotyk andi trans,0x60
;testowanie wyprowadzenia, ;aktywnego wyjścia
sbic PIND,4 out PORTD,trans
;którego stan steruje
ret
Elektronika Praktyczna 7/99
77
M I N I P R O J E K T Y
WYKAZ ELEMENTÓW
Rezystory
R1, R2: 2,2M&!
R3, R4: 470&!
Kondensatory
C1, C2: 27p
C3, C4: 330p
C5: 47µF/16
Półprzewodniki
U1: AT90S1200 (procesor
zaprogramowany)
D1, D2: diody LED (np.
żółta i zielona)
Różne
X1: kwarc ok. 4MHz
Zamiast sensorÛw moÅ‚na
takłe ułyĘzwykłych przycis-
kÛwzamontowanych w miej-
sce kondensatorÛw C3 i C4.
W takim przypadku wypro-
wadzenia złącza JP3 naleły
wtedy zewrzeĘ i połączyĘ
z napiÍciem zasilania proce-
sora, natomiast oporniki R1
i R2 mołna zamieniĘ nainne
o oporności ok. 10k&!.
Po dotarciu do tego miej-
sca opisu, Czytelnicy zainte-
resowani jedynie wykona-
niem działającego przełączni-
ka mogą sobie darowaĘ lek-
turÍ dalszejczÍÅ›citekstu. Po-
siadajÄ…juÅ‚ wiedzÍ niezbÍdnÄ…
do jego uruchomienia i uły-
cia. Natomiast wszystkichza-
Rys. 1.
interesowanych sterownika-
Montał przełącznika jest
ktÛrego aktywny stan wÅ‚Ä…czy niem duÅ‚ych odbiornikÛw mi AVR, moÅ‚liwoÅ›ciami ich
banalnie prosty ze wzglÍdu
7-segmentowy wyświetlacz energii elektrycznej, takich wykorzystania oraz samo-
na niewielkÄ… liczbÍ elemen-
LED. Schemat ukÅ‚adu posze- jak lodÛwki, silniki itp. Po- dzielnym pisaniem progra-
tÛw wchodzÄ…cych w jego
rzajÄ…cego moÅ‚liwoÅ›ciprzeÅ‚Ä…cz- datnośĘ ukÅ‚adu na zakÅ‚Ûce- mÛw dlatych procesorÛwza-
skład. Do złącza JP3 dołącza
nika pokazuje rys. 2. Jako za- nia moÅ‚na stÅ‚umiĘ zmniej- praszam do zapoznania siÍ z
siÍ sensory o dowolnym
trzaskÛw moÅ‚na uÅ‚yĘzarÛwno szajÄ…c wartośĘ rezystancji list. 1. SzczegÛÅ‚owy opis
kształcie, wykonanez kawał-
kostek 74HCT574 (wygodniej- opornikÛw R1 i R2 (rys. 1) programu wraz z kodem
ka drutulub blaszki. Nie po-
sze podczas projektowania jednak jej zbytnie obniÅ‚enie ürÛdÅ‚owym dostÍpny jest na
winny byĘ jednak zbyt dłu-
druku) jak i 74LS374 (ułyte mołe spowodowaĘ, łe układ stronie http://www.ep.com.-
gie i oddalone od płytki.
w modelu) czy jakichkolwiek przestanie reagowaĘ na do- pl/ftp/other.html.
UkÅ‚ad jest podatny na zakÅ‚Û-
innych 8-bitowych rejestrÛw tykanie wyprowadzeÒsenso- Ryszard Szymaniak, AVT
cenia wywoływane działa-
zatrzaskowych typu D. Jako rÛw. ryszard.szymaniak@ep.com.pl
wyświetlacza mołna ułyĘ do-
wolnego wyświetlacza LED
o wspÛlnej katodzie.
Sygnały zatrzaskujące da-
ne w dodatkowychrejestrach
podawane są złączem JP1.
WyjaśniĘ naleły obecnośĘ na
rysunku 2 jumpera. OtÛÅ‚
zworka ta steruje wyborem
trybu pracy przełącznika. Je-
łeli w momencie włączenia
zasilania pozostanie zwarta
do masy, sterownik nie bÍ-
dzieobsługiwał wyświetlacza
i sterowanezewnÍtrzne ukÅ‚a-
dy mołna dołączyĘ wprost do
portu PB. Pozostawieniezwo-
ry rozwartej spowoduje mul-
tipleksowanie danych natym
porciei koniecznośĘzastoso-
wania zewnÍtrznych rejest-
rÛw zatrzaskowych.
Rys. 2.
Elektronika Praktyczna 7/99
78
Wyszukiwarka
Podobne podstrony:
1999 08 Przełącznik sensorowyF 15 Układ do pomiaru czasów przełączania diodyNaprawa przełącznika kierunkowskazówTruck Inductive sensors BI 4U M12 AP6X H11411b 2 2 4 11 Lab Konfiguracja aspektów bezpieczeństwa na przełącznikuCzarodziejski przełączniksynteza przelaczajacych uklSensory quality of stored croissant type bakery productswłącznik sensorowy z jednym czujnikiemTerapia sensorycznawięcej podobnych podstron