2003 08 22

background image

Radioelektronik Audio-HiFi-Video 8/2003

Przedstawiamy niezwy-

kle prost¹, lecz w pe³ni

funkcjonaln¹ i nowocze-

sn¹ zabawkê, któr¹ mo¿e

zmontowaæ ka¿dy po-

cz¹tkuj¹cy adept sztuki

programowania i wyko-

rzystania mikrosterowni-

ków AVR lub zgodnych ze

standardem przemys³o-

wym MCS51,.

U

k³ad symuluje rzut kostk¹ sze-

œcienn¹ do gier (np. do gry w ko-

œci lub do gier planszowych).

Prawdopodobieñstwo wyrzuce-

nia od 1 do 6 oczek jest takie samo jak

w ”prawdziwej” kostce i wynosi 1/6. Uk³ad

wyœwietla wynik wyrzuconych oczek, w za-

le¿noœci od wersji wykonania, na diodach

LED lub na wyœwietlaczu 7 segmentowym

w postaci odpowiedniej cyfry.

Opis uk³adu

W przedstawionej konstrukcji wykorzystano

tani i popularny mikrosterownik AVR _

At90s2313, który steruje wszystkimi funkcja-

mi uk³adu. Schematy symulatorów przedsta-

wiono na rys.1 i 2. Ró¿ni¹ siê one miêdzy

sob¹ sposobem wyœwietlania wyniku wyrzu-

conych oczek. Niewielkie ró¿nice s¹ równie¿

w programach obs³uguj¹cych uk³ady. Mikro-

sterownik jest wyposa¿ony w minimaln¹

liczbê elementów zewnêtrznych umo¿liwia-

j¹cych jego poprawne funkcjonowanie. Przy-

cisk Start/Stop s³u¿y zarówno do wprawie-

nia kostki w ”ruch”, jak i do jej ”zatrzymania”.

Po w³¹czeniu napiêcia zasilaj¹cego kostka

”toczy siê” (jest w ”ruchu”), œwiec¹ siê wszy-

stkie diody D1

÷

D7 lub znak ”_” na wyœwie-

tlaczu W1. Je¿eli teraz naciœniemy przy-

cisk SW1, to po jego zwolnieniu kostka ”za-

trzymuje siê”. W wersji z diodami œwieca siê

tylko te, które symbolizuj¹ liczbê wyrzuco-

nych oczek, a pozosta³e gasn¹, natomiast

w przypadku wyœwietlacza W1 pojawia siê

cyfra od 1 do 6.

Je¿eli po raz kolejny naciœniemy SW1, to

po jego zwolnieniu kostka znowu zaczyna siê

”toczyæ”, zaœwiecaj¹ siê wszystkie diody lub

MIKROPROCESOROWY SYMULATOR

RZUTU KOSTK¥

r

Z PRAKTYKI

22

Rys. 1. Schemat mikroprocesorowego

symulatora rzutu kostk¹ z diodami

Rys. 2. Schemat mikroprocesorowego

symulatora rzutu kostk¹ z wyœwietlaczem

Rys. 3. P³ytka drukowana symulatora z diodami

(skala 1:1)

Rys. 4. P³ytka drukowana symulatora

z wyœwietlaczem (skala 1:1)

znak ”_” na wyœwietlaczu SW1. Dodatkow¹

sygnalizacjê czy kostka siê ”toczy” czy te¿ jest

”zatrzymana” zapewniaj¹ diody œwiec¹ce D8

i D9. Ograniczenie wartoœci pr¹du p³yn¹ce-

go przez diody, wyœwietlacz, i porty I/O mikro-

sterownika daj¹ rezystory R3

÷

R11. Rezy-

stor R2 jest elementem uk³adu kasowania mi-

krosterownika AVR po w³¹czeniu napiêcia

zasilaj¹cego. Kondensatory C1 i C2 odsprzê-

gaj¹ i filtruj¹ napiêcie zasilaj¹ce +5 V. Ca³oœæ

uzupe³nia oscylator kwarcowy 1 MHz taktu-

j¹cy mikrosterownik US1.

2

background image

z wyœwietlaczem. Nastêpnie przystêpuje-

my do wlutowania pozosta³ych elementów

zgodnie ze schematami monta¿owymi (rys.5

i 6) z wyj¹tkiem mikroprocesora US1. Na po-

lu lutowniczym pod US1 umieszczamy od-

powiedni¹ podstawkê, w któr¹ póŸniej za-

montujemy zaprogramowany uk³ad.

Teraz nale¿y zaprogramowaæ mikroprocesor

At90s2313 (mog¹ byæ te¿ At89c1051, 2051

lub 4051, przy zmodyfikowanym odpowie-

dnio uk³adzie ”reset” mikrosterownika).

W celu zaprogramowania trzeba pobraæ

z Internetu, (ze strony redakcyjnej lub auto-

ra) odpowiednie programy obs³ugi. W zale¿-

noœci od potrzeby pobieramy program Ko-

stka11.hex przeznaczony do sterowania

wyœwietlaczem 7. segmentowym lub pro-

gram Kostka22.hex do sterowania diodami

LED. Nastêpnie nale¿y przyst¹piæ do zapro-

gramowania mikroprocesora przy pomocy

odpowiedniego programatora. Je¿eli nie

dysponujemy w³asnym programatorem, to

powinniœmy skorzystaæ z pomocy serwisu

elektronicznego dysponuj¹cego programa-

torem do mikroprocesorów standardu AVR.

Zaprogramowany uk³ad montujemy w pod-

stawkê na p³ytce drukowanej, a nastêpnie

do³¹czamy napiêcie zasilaj¹ce, które mo¿e

mieœciæ siê w przedziale od 4 do 6 V. Uk³ad

mo¿na zasilaæ ze zwyk³ej p³askiej baterii

3R12. Je¿eli w trakcie odwzorowania uk³a-

du nie pope³niliœmy ¿adnych b³êdów a pro-

ces programowania i weryfikacji programu

dla mikrosterownika przebieg³ pomyœlnie,

to uk³ad powinien dzia³aæ od razu po w³¹cze-

niu napiêcia zasilaj¹cego, bez ¿adnych do-

datkowych czynnoœci uruchomieniowych.

Dziêkujemy firmie Elfa Polska za dostarcze-

nie najwa¿niejszych podzespo³ów urz¹dze-

nia (tablica). Podzespo³y mo¿na kupiæ w sy-

stemie sprzeda¿y wysy³kowej Elfa: obslu-

ga.klienta

@

elfa.se lub tel. (0-22) 520-2200.

Ceny mo¿na znaleŸæ w katalogu

www.elfa.se/pl

n

Mariusz Janikowski

Bc107

@

Poczta.Onet.pl

L I T E R A T U R A

[1] Ga³ka P., Ga³ka P.: Podstawy programowania mikro-

kontrolera 8051, MIKOM, Warszawa 1995, wyd. I.

[2] Pe³ka R.: Mikrokontrolery Architektura programowa-

nie zastosowania, WK£, Warszawa 1999, wyd. I.

23

Radioelektronik Audio-HiFi-Video 8/2003

Opis programu

Do obs³ugi przedstawionej konstrukcji s³u-

¿¹ programy Kostka11.hex, Kostka11.asm,

Kostka22.hex, Kostka22.asm, które zosta-

³y napisane dla wykorzystanego w kon-

strukcji mikrosterownika AVR At90s2313.

Programy mo¿na pobraæ z redakcyjnej stro-

ny internetowej http://www.radioelektronik.pl

lub z witryny autora http://bc107.republika.pl.

Program Kostka11 obs³uguje wersjê uk³adu

z wyœwietlaczem 7 segmentowym, nato-

miast Kostka22 jest przeznaczony do obs³u-

gi diod œwiec¹cych. Zatrzymanie lub urucho-

mienie ”toczenia siê” kostki jest realizowa-

ne za poœrednictwem zg³oszenia przerwa-

nia sprzêtowego INT0 po naciœniêciu przy-

cisku SW1. Obs³ugê przerwania zapewnia

fragment programu umieszczony w pamiê-

ci Flash ROM mikroprocesora pocz¹wszy

od adresu $01 hex. W kodzie Ÿród³owym

fragment ten zaczyna siê od nag³ówka

.ORG Int0addr.

Do sygnalizacji stanu kostki wykorzystano

flagê ogólnego przeznaczenia Fo umieszczo-

n¹ w obszarze rejestrów, w rejestrze R30.

W momencie zg³oszenia przerwania pro-

gram sprawdza stan tej flagi i w zale¿noœci od

tego, czy jest ona ustawiona czy zgaszona

podejmuje odpowiednie dzia³anie polegaj¹-

ce na wyœwietleniu liczby wyrzuconych oczek

lub ustawieniu wyœwietlacza w stanie nieak-

tywnym, kiedy kostka ”toczy siê”.

G³ówna pêtla programu zaczynaj¹ca siê od

etykiety START: realizuje wylosowany wynik,

który widzimy na wyœwietlaczu lub diodach.

Losowanie odbywa siê przez cykliczn¹ i re-

gularn¹ zmianê kodu wpisanego do rejestru

R31, która zmienia siê co 3 cykle maszyno-

we. (Przy rezonatorze 1 MHz zmiana bêdzie

wiêc nastêpowaæ regularnie co 3

µ

s). Dla ³a-

twiejszego zrozumienia istoty rzeczy g³ów-

na czêœæ programu zosta³a podzielona na

sekcje od 1 do 6, z których ka¿da jest tak

skonstruowana, aby jej wykonanie zajê³o

w³aœnie 3 cykle maszynowe. Dziêki temu

przychodz¹ce w dowolnej chwili przerwanie

INT0 mo¿e z równym prawdopodobieñ-

stwem trafiæ na jeden z szeœciu kodów liczb

lub iloœci zapalonych diod w rejestrze R30.

W wyniku tego prawdopodobieñstwo tra-

fienia liczby od 1 do 6 jest takie samo jak na

”prawdziwej” kostce i wynosi 1/6. Je¿eli

zmienimy liczbê cykli maszynowych przypa-

daj¹cych na poszczególne sekcje, to w kon-

sekwencji tego zmieni siê równie¿ rozk³ad

tego prawdopodobieñstwa. Kod Ÿród³owy

programu zawiera jeszcze dwa dodatkowe

podprogramy wywo³ywane w trakcie swej

pracy i s³u¿¹ce do nastêpuj¹cych celów:

podprogram MILISEK realizuje kalibrowane

opóŸnienie 20 ms s³u¿¹ce do eliminacji

drgañ zestyków prze³¹cznika SW1 oraz

podprogram CZEKAJ, który realizuje chwi-

lowe wstrzymanie pracy programu. Warto

w tym miejscu dodaæ, ¿e autor tego artyku-

³u udostêpnia tak¿e programy obs³ugi mikro-

sterowników At89c1051, 2051, 4051, mog¹-

cych pracowaæ zamiennie zamiast uk³adu

2313.

Monta¿ i uruchomienie

Monta¿ uk³adu rozpoczynamy od wykona-

nia jednej z p³ytek drukowanych przedsta-

wionych na rys. 3 lub 4. W pierwszej kolej-

noœci lutujemy zwory ZW dla wersji uk³adu

Rys. 5. Rozmieszczenie elemntów

na p³ytce drukowanej symulatora z diodami

Rys. 6. Rozmieszczenie elemntów na p³ytce

drukowanej symulatora z wyœwietlaczem

Nazwa

Typ

Numer katalogowy

ELFA

Mikroprocesor

At90s2313

73-665-78

Wyœwietlacz

MAN6660

75-512-52

Oscylator

1 MHz

74-557-77

Oscylator

12 MHz

74-560-31

LED bia³a

110140-01

75-008-95

LED czerwona

EL264-7IT

75-021-56

LED zielona

HLMP3950

75-049-70


Wyszukiwarka

Podobne podstrony:
NMP 2003 08 22 23
2003 08 12
2003 06 22
edw 2003 08 s10
2015 08 20 08 22 14 01
2003 08 25 1490
2003 08 26
2003 08 30
2001 08 22 1680
Informacje na temat oleju Scania LDF TI 00 00 08 22 T pl(1)
2003 08 Szkoła konstruktorów
MPLP 320;321 10.08;22.08 2011
2003 08 18
2003 08 32
2003 08 10
2003 08 20
2003 08 07
2003 08 14

więcej podobnych podstron