DIODOVÉ HODINY. Dominik Roček. Středisko Vyšší odborná škola a Středisko technických a uměleckých oborů Mariánská ulice 1100, Varnsdorf



Podobné dokumenty
FREESCALE TECHNOLOGY APPLICATION

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

SEKVENČNÍ LOGICKÉ OBVODY

DIGI Timer 8 8 kanálové stopky se záznamem dat

Popis obvodu U2403B. Funkce integrovaného obvodu U2403B

Programování mikropočítačů platforma Arduino

Cvičení 2. Obsah a cíle cvičení. Obsah. A5MPL Programování mikropočítačů Digitální vstupy a výstupy - LED a tlačítka.

Na trh byl uveden v roce 1971 firmou Signetics. Uvádí se, že označení 555 je odvozeno od tří rezistorů s hodnotou 5 kω.

EduKit84. Výuková deska s programátorem pro mikrokontroléry PIC16F84A firmy Microchip. Uživatelská příručka

Konferenční zařízení. Cíl projektu. Vybavení. Jak jsem postupoval. Projekt Nekoř 2009 Jan Sixta,

MODULÁRNÍ AUTOALARM UŽIVATELSKÝ MANUÁL.

Elektronická stavebnice: Teploměr s frekvenčním výstupem

Motocyklový alarm s integrovaným pagerem SENTINEL 1100 MOTO. uživatelský manuál

Inovace předmětu Mikroprocesorové praktikum I, II

PVKpro vývojový kit s programátorem pro mikrokontrolér PIC16F84 Připojení k PC: paralelní port Uživatelská příručka

Příručka k zařízení Sebury K3-3

Laboratorní cvičení z předmětu Elektrická měření 2. ročník KMT

Rozšiřující desce s dalšími paralelními porty Rozšiřující desce s motorkem Elektrickém zapojení Principu činnosti Způsobu programování

MI1308 Video rozhraní pro vozidla Volvo s displejem 5

Microchip. PICmicro Microcontrollers

4.10 Ovládač klávesnice 07 TC 91 Ovládání 32 přepínačů/kláves a 32 LED

PVK. Uživatelská příručka. Zařízení určené k odlaďování aplikací s mikrokontroléry PIC16C5x, PIC16C71 a PIC16F84. Strana 1 / 9

VÝVOJOVÁ DESKA PRO JEDNOČIPOVÝ MIKROPOČÍTAČ PIC 16F88 A. ZADÁNÍ FUNKCE A ELEKTRICKÉ PARAMETRY: vstupní napětí: U IN AC = 12 V (např.

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Speciální obvody a jejich programování v C 2. díl

Jízda po čáře pro reklamní robot

PŘÍLOHY. PRESTO USB programátor

ELEKTRONICKÝ KLÍČ 1103

Elektronická stavebnice: Generátor frekvence s optickým a akustickým výstupem

Programovatelné relé Easy (Moeller), Logo (Siemens)

EduKitBeta Uživatelská příručka

Programovatelný časový spínač 1s 68h řízený jednočip. mikroprocesorem v3.0a

DM4.3 odmagnetovací modul

QC300 3fáze 400V řídící jednotka / QC300R 3fáze 230V / QC301 1fáze

SPÍNACÍ HODINY. Nastavení hodin a předvolby. Obr. 1

setup() { I = 0; } loop() { I = I + 1; }

MI1249. Video rozhraní pro vozidla Citroen C5 a Peugeot 508

A/C DÁLKOVÝ OVLÁDAČ NÁVOD K OBSLUZE

Kamera pro domácí mazlíčky

CH_SW_71 - V1.0. Program vytváří z obvodu PIC16C71 / PIC16C711 přepínač vstupů pro NF zesilovač.

Jako pomůcka jsou v pravém dolním rohu vypsány binární kódy čísel od 0 do 15 a binární kódy příkazů, které máme dispozici (obr.21). Obr.

Návod na použití vibračního budíku DYNAMITE

MI Video rozhraní pro vozidla Renault. Přepínání mezi jednotlivými vstupy a ovládání přehrávání

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

Univerzální watchdog WDT-U2/RS485

1 Zadání. 2 Teoretický úvod. 4. Generátory obdélníkového signálu a MKO

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Sekvenční logické obvody

Mikrokontroléry. Doplňující text pro POS K. D. 2001

Pohled do nitra mikroprocesoru Josef Horálek

DIGITÁLNÍ ODPALOVACÍ PULT

Sfera Keypad Module. Instalační manuál 07/12-01 PC

Ultrazvukový senzor 0 10 V

Číslicový zobrazovač CZ 5.7

Název projektu: EU peníze školám. Základní škola, Hradec Králové, M. Horákové 258

Registrační teploměr

Ultrazvukový senzor 0 10 V

Klopný obvod typu D, dělička dvěma, Johnsonův kruhový čítač

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

Příslušenství pohonů FAAC tech. minimum

Monitorovací panel pro operační sály

Střídací tabule na fotbal

T2M 2,4G LED ovladač barevné teploty

Společnost pro elektronické aplikace. SEA s.r.o. Dolnoměcholupská 21 CZ Praha 10

Návod k obsluze Řídící automat čerpací stanice odpadních vod S-3302

MODULÁRNÍ AUTOALARM UŽIVATELSKÝ MANUÁL.

CONFIGURATION zapisuje se na začátek inicializační části programu použitím direktivy preprocesoru pragma

Elektronická stavebnice: Deska s jednočipovým počítačem

LED_007.c Strana: 1/5 C:\Michal\AVR\Výukové programy\archiv\ Poslední změna: :01:48

Přednáška A3B38MMP. Bloky mikropočítače vestavné aplikace, dohlížecí obvody. 2015, kat. měření, ČVUT - FEL, Praha J. Fischer

Programovatelné relé Easy (Moeller), Logo (Siemens)

NÁVOD K OBSLUZE. Obj. č

Architektury počítačů a procesorů

Mikrokontrolery. Úvod do obvodů Atmega 328 a PIC16F88

APLIKACE MIKROKONTROLÉRŮ PIC32MX

Návod pro instalaci jednotky 1083/78, 1083/77 a 1083/62 (jednotka 1083/77 je bez funkce připojení externích kamer)

Kódová klávesnice DPA-CODE

Zařízení pro měření teploty, atmosférického tlaku a nadmořské výšky

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

MONTÁŽNÍ / UŽIVATELSKÝ NÁVOD ISD COMBI (LIGHT) docházkový snímač

HX9801 / HX9802 / 9803 Návod k instalaci

MI Video rozhraní pro vozidla Rover a Jaguar (od roku 2011)

Aktivace REŽIMU ČASOVÉHO ŘÍZENÍ

NÁVOD K OBSLUZE ASO-2 SOUMRAKOVÝ SPÍNAČ

Výukový materiál Hardware je zaměřený především na výuku principů práce hardwaru a dále uvádí konkrétní příklady použití.

Návrh čítače jako automatu

Čtyřnohý kráčející robot

MSP 430F1611. Jiří Kašpar. Charakteristika

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Systém přerušení. České vysoké učení technické Fakulta elektrotechnická

MART1600: UNIVERZÁLNÍ MODUL PRO ZÁZNAM A REPRODUKCI ZVUKOVÝCH HLÁŠENÍ S VYUŽITÍM OBVODU ŘADY ISD1600B

Nabíječ NiCd a NiMh článků řízený mikroprocesorem

MI Video rozhraní pro vozidla Renault Poloha ON (poloha dole)

Elektronický indikátor topných nákladů E-ITN 10.4 Verze: 1.1 Datum: 3. října Charakteristika přístroje. 2. Popis. 2.1.

Sportovní hodinky s kamerou a detekcí pohybu

Vlastnosti a funkce. -Upozornění-

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Zvyšující DC-DC měnič

OVLÁDACÍ PANEL HÁZENÁ

1. MIKROPROCESOR ATMEGA A/D PŘEVODNÍK MÓDY PŘEVODNÍKU Single Conversion Mode Auto Triggering Start...

Návod k obsluze výukové desky CPLD

Transkript:

Středoškolská technika 2012 Setkání a prezentace prací středoškolských studentů na ČVUT DIODOVÉ HODINY Dominik Roček Středisko Vyšší odborná škola a Středisko technických a uměleckých oborů Mariánská ulice 1100, Varnsdorf Dominik Roček Diodové hodiny PIC1F84A Úkolem tohoto projektu je navrhnout a zhotovit hodiny, které budou místo klasických hodinových ručiček zobrazovat čas pomocí LED diod soustředěných do kruhu - 12 diod pro hodiny, 0 diod pro minuty, 2 diody pro vteřiny (diody budou každou sekundu blikat) a 2 diody pro zobrazení ranního a odpoledního času (AM/PM). Dále budou doprovázeny zvukovým zařízením (sirénou), které v každou celou hodinu pípne. Řízeny budou pomocí mikroprocesoru PIC1F84A za pomocí posuvných registrů 4094. Časování mikroprocesoru U programování mikroprocesorů neexistuje žádna přímá instrukce, která by udávala, o jak přesně dlouho se má proces mikroprocesoru zpozdit, takže pro tento účel můžeme používat (spočítat) tzv. zpožďovací smyčku, čítač nebo časovač. Každá instrukce mikroprocesoru má pro svoje provedení určen počet instrukčních cyklů. Instrukce pro přesun dat, aritmetické instrukce, logické instrukce a instrukce pro nastavení a nulování potřebuje pro svoje provedení jeden instrukční cyklus, zatímco instrukce pro řízení programu potřebují pro svoje provedení buď jeden nebo dva instrukční cykly. Jeden cyklus je roven čtyřnásobku periody oscilátoru, tj. TCY = 4 * TOSC. Oscilátor musí být připojen ke každému mikroprocesoru a je zdrojem velmi přesného hodinového signálu - frekvence. Z níž pak jednoduše vypočteme periodu oscilátoru pomocí vzorce TOSC = 1 / fosc. Spožďovací smyčka Princip zpožďovací smyčky spočívá v odečítání libovolného čísla (z principu většinou číslo 1) od jiného čísla, čímž dojde k námi požadovanému zpoždění. Pro jednoduchost mějme číslo 100. Od něho budeme postupně odečítat číslo 1. Každé odečtení bude trvat 1 ms (v reálu je doba odečtení závislá právě na frekvenci oscilátoru - odečtení čísla 1 trvá jeden instrukční cyklus). Pokud tedy budeme odečítat číslo 1 od čísla 100 do nuly, budeme mít zpoždění 100 ms. Pokud ale máme například 8-bitový mikroprocesor, dokáže nám pracovat pouze s čísly od 0 do 255. Tím pádem by největší zpoždění v našem 1/

příkladě mohlo být jen 255 ms. Tento problém vyřešíme tzv. dvousmyčkovou zpožďovací smyčkou. Budeme mít 2 čísla - první například 1 a druhé 203. Budeme odečítat číslo 1 od čísla 1. Až dosáhneme nuly, odečteme číslo 1 od čísla 203 a znovu budeme odečítat číslo 1 od čísla 1. Tento postup budeme opakovat do té doby, než druhé číslo bude nulové. Tím získáme zpoždění 3248 ms (1 * 203). Můžeme vytvořit i třísmyčkovou, čtyřsmyčkovou až n- smyčkovou smyčku, ale jejich počítání už bude velmi složité (viz. kapitola 3.2.3). Stoprocentně přesného časování nikdy nedosáhneme. Můžeme totiž navrhnout program, který bude k dosažení výsledku využívat pokaždé jiného postupu, takže může například provádět jednou více výpočtů, podruhé méně výpočtů nebo je kombinovat a tím nikdy nezajistíme přesné časování. Ani oscilátor není stoprocentně přesný. Princip časovače Princip časovače spočívá v přičítání čísla 1 do registru TMR0 každý jeden instrukční cyklus, tj. fcy = fosc / 4. Pokud tedy budeme mít 1 MHz oscilátor, tak se nám po každých 4 μs přičte k registru TMR0 číslo 1. Až registr TMR0 přeteče, tj. bude jeho hodnota větší, než se kterou dokáže mikroprocesor pracovat (u 8-bitového mikroprocesoru je to hodnota 255), přejde program do režimu přerušení. V přerušení můžeme provádět další výpočty a operace, dokud ho neukončíme příslušnou instrukcí. Program se vrátí na adresu, ze které přešel do režimu přerušení a pokračuje dále, dokud nedojde znovu k přetečení registru TMR0 (přičítání do registru TMR0 se provádí i v programu přerušení!). Tím zajistíme přesné načasování, se kterým můžeme dále pracovat. Pro přesnější počítání v námi zvolených intervalech můžeme využít předděličku. Při jejím použití nám bude defaultně dělit kmitočet dvakrát. Tudíž bychom v příkladě výše přičítali k registru TMR0 číslo 1 jednou za 8 μs (nezapomínejme, že předdělička dělí kmitočet, nikoliv periodu!). U předděličky můžeme nastavit následující dělící poměry: 1:2, 1:4, 1:8, 1:1, 1:32, 1:4, 1:128 a 1:25. Registr TMR0 nemusí vždy začínat od čísla 0. Můžeme do něj nastavovat libovolnou hodnotu, tím se nám při použití správného dělícího poměru může zpřesnit náš interval až řádově na mikrosekundy. Princip čítače Princip čítače je velmi podobný principu časovače, jen jako zdroj signálu nepoužijeme oscilátor, ale například tlačítko připojené na pin RA4 (viz. kapitola 1.2). Přičítat číslo 1 budeme tedy po každém stisknutí tlačítka. Nevýhodou je, že přičtení k registru TMR0 trvá dva instrukční cykly. V mé práci jsem použil jak zpožďovací smyčky, tak i časovač. K jejímu dokončení to bylo nutné, jelikož můj výrobek je na přesném časování závislý. Mikroprocesor PIC 1F84A Mikroprocesor PIC1F84A je jeden z mnoha mikroprocesorů firmy Microchip. Jedná se o 8-bitový mikroprocesor, který využívá 35 instrukcí (procesor typu RISC), díky čemuž probíhá zpracování instrukcí velmi rychle. Je postaven na Harvardské koncepci (paměť pro program a pro data je rozdělena). Mikroprocesor má 14 bitovou programovou sběrnici a 8 bitovou datovou sběrnici (proto 8-bitový procesor, tj. dokáže pracovat v dekadické soustavě s hodnotami od 0 do 255). Dále obsahuje jeden 8-bitový pracovní registr nazývaný W (working = pracovní), proměnné registry F (files) a registry, které mají speciální význam a nelze je měnit ani používat jejich názvy pro jiné, námi definované, registry. Mezi speciální registry můžeme zařadit například registry PORTA a PORTB, které slouží pro komunikování s bránami procesoru. Dalšími speciálními registry jsou TRISA a TRSIB (slouží pro určení vstupních a výstupních portů), registry OPTION a INTCON (slouží například pro nastavení již zmíněné předděličky a jejího 2/

poměru; příslušným bitem můžeme nastavit zdroj signálu pro TMR0; také lze povolit nebo vypnout globální přerušení, přerušení od TMR0, atd.), registr STATUS a další. Tento mikroprocesor je napájen 5V a maximální proud, který můžeme odebírat z jednoho jeho pinu je 20 ma (s tím, že je zde podmínka, že z celého PORTB můžeme odebírat maximálně 100 ma). Posuvný registr 4094 Posuvný registr 4094 je integrovaný obvod, který dokáže pomocí tří vstupů ovládat 8- bitový registr na principu posouvání jednotlivých bitů a následně je vysílat na své výstupy. Pro řízení registru slouží vstupy DATA, CLOCK a STROBE. Pomocí signálu DATA volíme informaci, kterou chceme do registru zapsat na nultý bit (0 nebo 1), následně vyšleme signál CLOCK (hodinový signál), kterým posuneme bit na další pozici. Až odvysíláme všech 8 bitů, vyšleme signál STROBE, který všechny bity odvysílá na výstupy posuvného registru 4094. Posuvný registr disponuje pinem Qs, který slouží pro přetečení registru (jako devátý bit), nebo pinem Q's, což je negovaný Qs. Ty nejčastěji slouží pro připojení dalšího posuvného registru 4094 a tím ho rozšíří. Teoreticky můžeme za sebe zapojit nekonečně mnoho posuvných registrů 4094 a tím pomocí třech vstupů ovládat nekonečně mnoho výstupů. MPLAB IDE Nástroj určený pro psaní, vývoj a ladění aplikací pro mikroprocesory PIC od firmy Microchip. Jeho vývojové prostředí není složité, bohužel ale není v české verzi. Program obsahuje všechny prvky pro simulaci celého procesu (programu) - ať už jde o Debugger, pomocí kterého jsme schopni program krokovat po jednotlivých instrukcích a sledovat, co program vykonává, o Watch, ve kterém si můžeme přehledně seřadit všechny definované, ale i speciální registry, ale je zde také Stimulus, ten slouží pro simulaci tlačítek na pinech procesoru, StopWatch, který simuluje stopky a zobrazuje počet instrukčních cyklů, a mnoho dalších užitečných prvků. Dále můžeme v nastavení programu nastavovat frekvenci oscilátoru, typ oscilátoru, konfigurační slovo mikroprocesoru atd. Program lze také rozšířit o různé doplňky, například kompilátory jazyka C nebo emulátory. Ovládání Po zapnutí se hodiny přepnou do režimu nastavení hodin. Zde uživatel pomocí tlačítek a 5 může nastavit aktuální hodnotu hodin. Defaultně svítí bílá dioda pro signalizaci ranního času. Pokud je odpolední čas, musí uživatel držet tlačítko 5 nebo, dokud nepřejde přes dvanáctou hodinu, tím bílá dioda zhasne a rozsvítí se růžová, která signalizuje odpolední čas. Stiskem tlačítka 4 přejdou hodiny do režimu nastavení minut. Zde uživatel pomocí tlačítek a 5 nastaví aktuální hodnotu minut. Z režimu nastavení minut se lze vrátit zpět do režimu nastavení hodin pomocí tlačítka 7. Po nastavení hodin i minut, stisknutím tlačítka 4, začnou hodiny počítat čas automaticky - začnou blikat žluté diody pro signalizaci sekund (v režimu nastavení času jsou žluté diody zhaslé). Pokud hodiny automaticky počítají čas, uživatel může přejít do režimu nastavení hodin pomocí tlačítka 1. Jestliže uživateli nevyhovuje, aby bílá dioda signalizovala ranní čas a růžová odpolední čas, zkrátka při nastavování hodin nechá svítit takovou diodu, která mu v ten okamžik vyhovuje (na počítání času to nemá vliv). 3/

Schema zapojení 4/

Plošný spoj 5/

Seznam součástek NÁZEV SOUČÁSTKY POPIS SOUČÁSTKY KUSŮ RR 4X82R 2% Odporová síť - 4 rezistory pro modré diody; 82 Ω / 1 rezistor 15 RR W1 82R Předřadný rezistor pro růžovou a bílou diodu; 82 Ω 2 RR W1 150R Předřadný rezistor pro červené diody; 150 Ω 12 RR W1 12K Rezistor pro zpožděné zapnutí mikroprocesoru (RC); 12 kω 1 MRR 47R Předřadný rezistor pro 2 žluté diody 1 CKS 100P/50V Kondenzátor pro zpožděné zapnutí mikroprocesoru (RC); 100 pf 1 CKS 18P/50V Kondenzátory pro oscilátor; 18 pf 2 Q 3,278MHZ Oscilátor; 3,278 Mhz 1 BAT42 Shottkyho dioda pro zpožděné zapnutí mikroprocesoru 1 4094 Posuvný registr 4094 9 LED 5MM YELLOW Žluté diody pro zobrazení sekund 2 LED 5MM CYL.BLUE Modré diody pro zobrazení minut 0 LED 5MM CYL.RED Červené diody pro zobrazení hodin 12 LED 4,8MM ROSE Růžové diody pro zobrazení AM/PM 2 P-B1720A Mikrospínače (tlačítka) 7 KPL21N30W Siréna s vlastním generátorem zvuku (pípání) 1 DIL1PZ 1-ti pinová precizní patice pro 4094 9 DIL18PZ 18-ti pinová precizní patice pro mikroprocesor 1 USB konektor USB1X90 USB konektor pro napájení hodin 1 PIC1F84A-04I/P Mikroprocesor PIC1F84A; 4 MHz 1 Cuprextit Deska pro výrobu plošných spojů; průměr cca 21 cm 1 /