plik


ÿþProgramowany zegarP wy[wietlaczem LCD z R O J E K T Y Programowany zegar z wy[wietlaczem LCD AVT-868 W Elektronice Praktycznej, podobnie jak w innych pismach przeznaczonych dla elektronikÛw, opisano juø wiele uk³adÛw zegarÛw elektronicznych. Pomimo to, zainteresowanie takimi urz¹dzeniami nie s³abnie, szczegÛlnie kiedy wyrÛøniaj¹ siÍ nietypowymi rozwi¹zaniami i eleganckim wygl¹dem. W wiÍkszoúci, jeøeli nie we towaÊ rezultaty moich doúwiad- wszystkich, z opisanych w EP czeÒ Czytelnikom. zegarÛw uøywano do zobrazowania Napisanie programu obs³uguj¹- up³ywu czasu wyúwietlaczy sied- cego zegar okaza³o siÍ wyj¹tkowo miosegmentowych LED. Wyúwietla- ³atw¹ czynnoúci¹, szczegÛlnie pod- cze takie maj¹ dok³adnie tyle samo czas realizowania procedur obs³u- zalet co i wad i nie zawsze wytrzy- guj¹cych wyúwietlacz alfanume- muj¹ konkurencjÍ z wyúwietlaczami ryczny LCD, odczytuj¹cych i zapi- alfanumerycznymi LCD. suj¹cych dane do i z uk³adu ze- Proponowany zegar zosta³ po- gara czasu rzeczywistego i odczy- myúlany jako miniaturowy modu³ tywania temperatury z popularne- - panel, ktÛry moøna rÛwnie dobrze go termometru cyfrowego DS1820. wbudowaÊ w istniej¹ce juø urz¹- Program zosta³ napisany w ci¹gu dzenie jak i, po odpowiednim kilku godzin, i to niezbyt wytÍ- obudowaniu, stosowaÊ autonomicz- øonej pracy. nie. SzczegÛlnie polecam zastoso- Samo, ³atwe i przyjemne, pisa- wanie go jako domowego zegarka nie programu to jeszcze nie wszys- umieszczonego np. w sypialni. £a- tkie udogodnienia oferowane przez godne, oliwkowe úwiat³o emitowa- pakiet BASCOM. Kaødy napisany ne przez podúwietlany wyúwietlacz program wymaga wielokrotnego LCD nie tylko nie denerwuje i nie przetestowania w celu wykrycia utrudnia zaúniÍcia, ale w ciemnoúci i poprawienia b³ÍdÛw. Czynnoúci wytwarza mi³y nastrÛj. te zajmuj¹ programiúcie zwykle Do skonstruowania tego zegara najwiÍcej czasu, g³Ûwnie ze wzglÍ- sk³oni³a mnie jeszcze inna oko- du na koniecznoúÊ wielokrotnego licznoúÊ. Mia³em zamiar kolejny programowania procesora, umiesz- raz wyprÛbowaÊ w praktyce moø- czania go w uruchamianym uk³a- liwoúci, jakie daje opisywany dzie i po stwierdzeniu wystÍpo- w Elektronice Praktycznej rewela- wania ewentualnego b³Ídu, po- cyjny pakiet BASCOM i zaprezen- nownego programowania uk³adu. Elektronika Praktyczna 7/2000 23 Programowany zegar z wy[wietlaczem LCD VCC Rys. 1. Schemat elektryczny zegara. Zupe³nie inaczej mia³a siÍ spra- Jedynie procedura odczytu da- Opis dzia³ania uk³adu wa podczas pisania i testowania nych z termometru DS1820 wyma- Schemat elektryczny zegara po- programu w úrodowisku BASCOM- ga³a testowania programu bezpo- kazano na rys. 1. Sercem uk³adu a. Ca³y program (z wyj¹tkiem frag- úrednio w zaprogramowanym pro- jest dobrze nam znany procesor mentu odczytu danych z termo- cesorze. Stosowany przeze mnie typu AT89C2051 firmy ATMEL. metru DS1820) zosta³ przetestowa- emulator sprzÍtowy MCS Electro- W naszym uk³adzie do mikro- ny bez koniecznoúci programowa- nics nie pozwala (jak dot¹d) na kontrolera zosta³y do³¹czone na- nia procesora, wy³¹cznie z wyko- emulacjÍ transmisji 1WIRE. S¹dzÍ stÍpuj¹ce urz¹dzenia peryferyjne: rzystaniem wbudowanego w BAS- jednak, øe po konsultacji z firm¹ 1. Zegar czasu rzeczywistego COM emulatora sprzÍtowego i pro- MCS Electronics uda mi siÍ w naj- zrealizowany na popularnym uk³a- gramowego. Da³o mi to niespoty- bliøszym czasie usun¹Ê tÍ niedo- dzie PCF8583. Uk³ad ten (zosta³ kany dot¹d komfort pracy i pew- godnoúÊ. szczegÛ³owo omÛwiony w EP9/94) noúÊ, øe po usuniÍciu z programu Prezentowany uk³ad realizuje zawiera w swojej strukturze zegar dyrektywy symulacji, skompilowa- nastÍpuj¹ce funkcje: - kalendarz 4-letni, uk³ad trans- niu go i zaprogramowaniu proce- 1.Wyúwietlanie bieø¹cego czasu misji I2C, wyjúcie generacji prze- sora, wszystko powinno dzia³aÊ od z rozdzielczoúci¹ 1s. rwania INT oraz generator stabi- razu poprawnie. Tak teø siÍ sta³o, 2.Wyúwietlanie aktualnej daty. lizowany zewnÍtrznym rezonato- a program wymaga³ jedynie drob- 3.Funkcja budzika ustawianego rem kwarcowym 32768Hz. nych przerÛbek polegaj¹cych na z rozdzielczoúci¹ 1 minuty. PCF8583 dysponuje 240 bajtami dostosowaniu opÛünieÒ czasowych 4.Alternatywne wyúwietlanie tem- wolnej pamiÍci EEPROM, ktÛr¹ do znacznie szybszej w porÛwna- peratury panuj¹cej w pomiesz- konstruktor moøe wykorzystaÊ niu z symulacj¹, pracy programu. czeniu. zgodnie z aktualnymi potrzebami. Elektronika Praktyczna 7/2000 24 Programowany zegar z wy[wietlaczem LCD W naszym uk³adzie PCF8583 po- I2crbyte S,Ack siada dwa ürÛd³a zasilania: wspÛl- 'odczyt rejestru sekund ne z reszt¹ uk³adu i awaryjne, '(z potwierdzeniem - Ack) z baterii BT1 o napiÍciu 1,5V. I2crbyte M,Ack Obydwa ürÛd³a zasilania separo- 'odczyt rejestru minut wane s¹ za pomoc¹ diod D1 i D2. '(z potwierdzeniem - Ack) 2. Wyúwietlacz alfanumeryczny I2crbyte H,Ack Rys. 2. Wygld wy[wietlacza po LCD jest sterowany przez proce- 'odczyt rejestru godzin pierwszym wBczeniu zegara. sor w trybie czterobitowym. '(tryb 24h) W uk³adzie zastosowano wyúwiet- '(z potwierdzeniem - Ack) lacz 2x16 znakÛw z podúwietla- I2crbyte Yd,Ack niem, ale moøliwe jest takøe 'odczyt dnia miesica uøycie taÒszych wyúwietlaczy bez '(z potwierdzeniem - Ack) podúwietlania. Kontrast wyúwiet- I2crbyte Wm,Nack lacza regulowany jest za pomoc¹ 'odczyt miesica potencjometru montaøowego PR1. '(bez potwierdzenia - Nack) 3. KlawiaturÍ czteroprzycisko- I2cstop Rys. 3. Ustawianie czasu. w¹ (S1..S4), s³uø¹c¹ do obs³ugi 'zatrzymanie transmisji funkcji zegara. End Sub 4. Alternatywnie moøna do³¹- czyÊ do uk³adu termometr typu Poniewaø zegar zosta³ urucho- DS1820 (z³¹cze CON3). Procesor miony po raz pierwszy, to rejestry automatycznie rozpoznaje obec- uk³adu PCF8583 s¹ wyzerowane noúÊ do³¹czonego termometru i na wyúwietlaczach ukaøe siÍ naj- i odpowiednio organizuje ekran prawdopodobniej informacja, nie- Rys. 4. Ustawianie daty. wyúwietlacza, zapewniaj¹c miejs- zbyt odpowiadaj¹ca aktualnemu ce dla dodatkowej informacji. czasowi (rys. 2). A zatem, pierw- Procesor jest taktowany sygna- sz¹ czynnoúci¹, jak¹ bÍdziemy mu- ³em z wewnÍtrznego oscylatora, sieli wykonaÊ, bÍdzie ustawienie ktÛrego czÍstotliwoúÊ stabilizowa- w³aúciwego czasu i daty. Naciska- na jest kwarcem Q1 o czÍstotli- my klawisz S1 (ustawianie czasu) woúci rezonansowej 11,059MHZ. i za pomoc¹ klawiszy S1 i S2 Poniewaø zegar czasu rzeczywis- ustawiamy godziny i minuty aktu- tego jest taktowany odrÍbnym os- alnego czasu (rys. 3). CzynnoúÊ tÍ Rys. 5. Ustawianie alarmu. cylatorem (z rezonatorem kwarco- potwierdzamy klawiszem S3, po- wym Q2), czÍstotliwoúÊ rezonan- wracaj¹c do trybu wyúwietlania sowa kwarcu Q1 moøe byÊ doúÊ aktualnego czasu i daty. Z kolei, dowolna (od 8 do 24MHz) po naciúniÍciu klawisza S2 uzys- AnalizÍ pracy uk³adu rozpocz- kamy dostÍp do trybu ustawiania niemy od momentu pierwszego daty. Podobnie jak to by³o w przy- w³¹czenia zasilania, a pos³ugiwaÊ padku minut i godzin, za pomoc¹ siÍ bÍdziemy przy tym fragmen- klawiszy S1 i S2 ustawiamy aktu- Rys. 6. Wygld wy[wietlacza po tami listingu programu obs³uguj¹- alny dzieÒ miesi¹ca i miesi¹c (rys. doBczeniu czujnika temperatury cego zegar. 4). Naleøy zwrÛciÊ uwagÍ, øe po Natychmiast po w³¹czeniu zasi- kaødorazowym ustawieniu czasu I2cstart 'ponowne lania procesor rozpoczyna cyklicz- licznik sekund jest zerowany. 'rozpoczcie transmisji ne odczytywanie zawartoúci pamiÍ- Ustawiony czas i data zapisy- I2cwbyte &HA0 'ustawienie trybu ci RAM uk³adu PCF8583, a kon- wane s¹ natychmiast we w³aúci- 'zapisu kretnie rejestrÛw przechowuj¹cych wych rejestrach uk³adu PCF8583. I2cwbyte 2 'wybranie drugiego informacjÍ o aktualnym czasie i da- Podprogram wykonuj¹cy tÍ opera- 'rejestru (sekund) cie. Podprogram odczytu tych da- cjÍ jest rÛwnie prosty, jak odczy- I2cwbyte S 'zapis sekund nych, napisany w dialekcie MCS tywanie danych: I2cwbyte M 'zapis minut BASIC stosowanym w pakiecie I2cwbyte H 'zapis godzin BASCOM, jest wyj¹tkowo prosty: Sub Settime I2cwbyte Yd 'zapis dnia Sub Gettime I2cstart 'inicjalizacja 'miesica I2cstart 'inicjalizacja 'magistrali I2C I2cwbyte Wm 'zapis miesica 'magistrali I2C I2cwbyte &HA0 'podanie adresu I2cstop  koniec transmisji I2cwbyte &HA0 'podanie adresu 'podstawowego PCF8583 End sub 'podstawowego PCF8583 I2cwbyte 0 'wybranie zapisu I2cwbyte 2 'wybranie drugiego 'do rejestru kontrolnego Nasz zegar, jak na tego typu 'rejestru I2cwbyte 8 'ustawienie uk³ad przysta³o, wyposaøony jest I2cstart 'start transmisji 'parametrów zapisu w budzik, ktÛry moøemy ustawiaÊ I2cwbyte &HA1 'zgBoszenie I2cstop 'zatrzymanie po naciúniÍciu w trybie wyúwiet- 'zamiaru odczytu informacji 'transmisji lania czasu przycisku S4. Czas Elektronika Praktyczna 7/2000 25 Programowany zegar z wy[wietlaczem LCD budzenia ustawiamy identycznie 1wreset 'reset magistrali WYKAZ ELEMENTÓW jak aktualny czas i datÍ, z tym, øe 'I2C Rezystory budzik moøe byÊ uaktywniony lub 1wwrite &HCC 'odczyt zawarto[ci PR1: potencjometr monta|owy wy³¹czony za pomoc¹ przycisku 'RAM (scretchpad) miniaturowy 2,2k&! S4 (rys. 5), w trybie ustawiania 1wwrite &HBE 'odczyt zawarto[ci R1..R4: 3,3k&! R5: 4,7k&! czasu budzenia. 'RAM (scretchpad) R6: 4,7k&! Elementem wykonawczym Bd(1) = 1wread(9) Kondensatory uk³adu budzika jest przekaünik 'odczyt zawarto[ci RAM C1, C2: 33pF RL1 o duøej obci¹øalnoúci stykÛw. '(scretchpad) Jak do tej pory, nic nie wspo- 1wreset 'reset magistrali C3: 33pF lub trymer 56pF minaliúmy o termometrze wbudo- 'I2C C4: 100µF/10V wanym w nasz zegarek. Pozostaje Tmp = Bd(1) And 1 C5: 100nF on w ìukryciuî, aø do momentu 'kalkulacja danych C6: 1µF/10V do³¹czenia do z³¹cza CON3 ter- If Tmp = 1 Then Decr Bd(1) C7: 220nF mometru cyfrowego typu DS1820. 'do osignicia PóBprzewodniki Program automatycznie rozpozna- T = Makeint(bd(1),Bd(2)) D1: BAT85 je fakt do³¹czenia tego uk³adu 'precyzji 0,1OC D2, D3: 1N4148 i natychmiast, po przeorganizowa- T = T * 50 : T = T - 25 : IC1: zaprogramowany procesor niu ekranu wyúwietlacza, rozpo- T1 = Bd(8) - Bd(7) : 89C2051 czyna wyúwietlanie temperatury T1 = T1 * 100 IC2: PCF8583 w pomieszczeniu (rys. 6). Tempe- T1 = T1 / Bd(8) : T = T + T1 : IC3: DS1820 ratura wyúwietlana jest z rozdziel- T = T / 10 T1: BC548 czoúci¹ 0,1OC, a procedura odczy- X = T / 10 Ró|ne tu zawartoúci rejestrÛw uk³adu End Sub CON1: ARK3 DS1820 jest rÛwnie prosta, jak *) Czas oczekiwania nie moøe byÊ CON2: ARK2 procedury obs³ugi zegara czasu krÛtszy od 300ms, dla ìpewnoúciî DP1: wy[wietlacz alfanumeryczny rzeczywistego. zada³em czas 350ms i st¹d koniecz- 16*2 noúÊ dwukrotnego wydania polece- Q1: rezonator kwarcowy Sub Read1820 nia ìwaitmsî (maksymalnie ìwaitms 11,059MHz 1wwrite &HCC : 1wwrite &H44 255î). Q2: rezonator kwarcowy 32768Hz 'inicjalizacja konwersji RL1: przekaznik RM96-5V 'A/D Efektem ìodnalezieniaî przez S1..S4 przycisk microswitch 10 mm Waitms 250 'oczekiwanie na uk³ad termometru i poprawnego 'koniec konwersji*) odczytania temperatury jest wy- goldpin 1x14, 1x2 jumper Waitms 100 'oczekiwanie na úwietlenie w dolnej czÍúci wy- zBcze szufladowe 1x14 'koniec konwersji*) úwietlacza alfanumerycznego jej aktualnej wartoúci (rys. 6). elektrolitycznych. No i tak, omawiaj¹c fragmenty Uwaga: Przyciski S1..S4 oraz programu steruj¹cego naszym ze- rz¹d goldpinÛw ³¹cz¹cy p³ytkÍ garem, opisaliúmy takøe jego dzia- bazow¹ z wyúwietlaczem naleøy ³anie. Naleøy jeszcze tylko dodaÊ, wlutowaÊ od strony druku! øe uk³ad powinien byÊ zasilany Po sprawdzeniu jakoúci mon- napiÍciem sta³ym, stabilizowanym taøu lutujemy wyúwietlacz do sze- o wartoúci +5VDC. Jako bateriÍ BT regu goldpinÛw wystaj¹cych moøna zastosowaÊ praktycznie do- z p³ytki od strony druku i nastÍp- wolne ogniwo 1,5V, nawet typu nie wk³adamy uk³ady scalone ìzegarkowegoî. Zapewni ona pod- w podstawki. Podczas montaøu trzymanie pracy zegara czasu nie naleøy wzorowaÊ siÍ na fo- rzeczywistego w momentach tografiach zamieszczonych w arty- przerw w zasilaniu zegara. Roz- kule. W uk³adzie prototypowym wi¹zanie to pozwala na niestoso- zastosowano bowiem roz³¹czalne wanie jakiegokolwiek zasilania po³¹czenie pomiÍdzy p³ytk¹ a wy- awaryjnego zegara. úwietlaczem, co w wykonaniu uk³adu docelowego wymaga³oby Montaø i uruchomienie k³opotliwego przed³uøania przy- Na rys. 7 pokazano rozmiesz- ciskÛw S1..S4. czenie elementÛw na dwÛch p³yt- Zbigniew Raabe, AVT kach obwodÛw drukowanych wy- zbigniew.raabe@ep.com.pl konanych na laminacie jedno- stronnym. Montaø wykonujemy ty- Wzory p³ytek drukowanych w for- powo, rozpoczynaj¹c od wlutowa- macie PDF s¹ dostÍpne w Internecie nia w p³ytki diod i rezystorÛw, pod adresem: http://www.ep.com.pl/ a koÒcz¹c na podstawkach pod pcb.html oraz na p³ycie CD-EP07/ Rys. 7. Rozmieszczenie elementów uk³ady scalone i kondensatorach 2000B w katalogu PCB. na pBytce drukowanej. Elektronika Praktyczna 7/2000 26

Wyszukiwarka

Podobne podstrony:
avt 515 Programator mikrokontrolerów AVR i AT89S8252
avt 2502 Programator procesorów 89CX051 INNY
avt 524 Programator USB mikrokontrolerów ATmega ISP
avt 871 Programator procesorów AVR przez BASCOM
avt 1307 Programatorek AVR
avt 515 Programator mikrokontro Nieznany
avt 887 Programator sterowany z pakietu BASCOM
AVT 2721 Zegar
programowanie sterowników wyświetlaczy LCD 2

więcej podobnych podstron