Časovače μpočítače AT89C51CC03

Podobné dokumenty
Ovládání LCD. Ing. Josef Grosman. TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií

Pravidla pro získání zápočtu vytvořením individuální semestrální práce mimo cvičení

Bakalářská práce Realizace jednoduchého uzlu RS485 s protokolem MODBUS

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

Návod na práci s přípravkem a programy uscope a FLIP na cvičeních

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

PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 6

Použití programovatelného čítače 8253

Návod na práci s přípravkem a programem uscope na cvičeních

Popis obvodu U2403B. Funkce integrovaného obvodu U2403B


MIKROPOČÍTAČOVÉ SYSTÉMY

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

BPT 37 UT/W BEZDRÁTOVÝ PROSTOROVÝ TERMOSTAT

Mikroprocesor Intel 8051

Dálkové ovládání k mobilní klimatizaci APD09a, APD12a. Návod k obsluze

NAM technology. Uživatelský manuál. REGGAE alarm verze: /2011

/*Dekodovani DFC signalu*/ // Projekt MMIA 2013 // Martin Dujicek, Milan Rejnus

Digitální tlakový spínač DPC-10 (napěťový výstup) Návod k montáži a obsluze

TES GPS Osobní lokátor (dále GPS OL)

Digitální tlakový spínač DPC-10 A Návod k montáži a obsluze

Výuková laboratorní sestava seminář pro učitele

GPS lokátor pro děti

Ksenia auxi wls. Instalační a programovací manuál. Ksenia: Bezpečnost on-line. 1

Diktafon Esonic MQ-L500 v powerbance

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

ST58 Duální stopky. Návod na použití CZ-1

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

Seznámení s mikropočítačem. Architektura mikropočítače. Instrukce. Paměť. Čítače. Porovnání s AT89C2051

GPS lokátor pro děti. Návod k obsluze. Hlavní výhody produktu: Velmi malý Jednoduché ovládání Velké SOS tlačítko.

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

GSM ALARM - základní sada Návod k použití

ZÁVĚREČNÁ PRÁCE Z PŘEDMĚTU MIT

PANEL. Indikátor napájení ON/OFF. Režim TATO TABULKA NEPLATÍ - V PRÍLOZE JE ZASLÁNO SPRÁVNÉ KONFIGUROVÁNÍ (PRERUŠENÍ)

HPS-120. Manuál nastavení bezdrátového modemu

GPS lokátor v obojku

Modul: Regulační technika

NÁVOD K OBSLUZE ON/OFF

A4950 Stroboskop kapesní průvodce

Ultrazvukový senzor 0 10 V

Návod na použití programu 8051 IDE

Ultrazvukový senzor 0 10 V

Zapnutí Zmáčkněte jakékoli tlačítko. Vypnutí Gymboss se sám vypne po 5 minutách nečinnosti (nesmí být spuštěn odpočet), nebo ho můžete vypnout v menu.

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.

SI-7E20A-002 SI-7E20A SERVISNÍ POKYNY SM-EC79. Kontrolní jednotka

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

NÁVOD K OBSLUZE. Obj. č

PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 7

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

DJ 1T ID ver 1.2 Návod na použití. Návod na použití. Dveřní jednotka DJ 1T ID. Strana 1

Simulátor čidla průtoku pro indukční průtokoměry

PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 8

Aplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a

DVR12. Kamera (černá skříňka) pro záznam obrazu a zvuku za jízdy se zabudovaným pohybovým senzorem

Návod na Odposlech Magneto 2 WRC

Komfort, Boost 2 hodiny, Časovač 12 hodin, Časovač 24 hodin, Pohotovostní / proti zamrznutí, Uzamčení. Indikátory stavu termostatu


SPECIFIKACE VÝKONOVÉ CHARAKTERISTIKY OBSAZENÍ TLAČÍTEK DISPLEJ PROVOZ BEZPEČNOSTNÍ POKYNY NÁVOD K OBSLUZE

Manuál k průběhovému elektroměru Landis + Gyr E650 - ZMD 310 CT S3a B32

Návod k obsluze T098 - Meteostanice WS638PS

ŠESTNÁCTIKANÁLOVÝ A/D PŘEVODNÍK ±30 mv až ±12 V DC, 16 bitů

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky

Hlídací proudové relé 900CPR-1-BL-U

CON-LAN. Komunikační převodník tf hit <-> Ethernet. Kompletní příručka

Diktafon vhodný pro nahrávání hovorů na smartphonech včetně iphone

DVR10 - digitální video kamera (černá skříňka) určená k záznamu jízdy vozidla. Uživatelská příručka

JS609D stopky se sto mezičasy ID: 3211

Vlastnosti a funkce. -Upozornění-

Modul LCD displeje se čtyřmi tlačítky. Milan Horkel

Duální Full HD kamerový systém Secutek C-M2W

Mini AHD DVR BD Návod k obsluze. Kontakt na dodavatele SHX Trading s.r.o. V Háji 15, Praha 7,

Echo Master II - výškoměr. Obj. č.:

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

Diagnostika elektrických posilovačů řízení EPS Column Drive

Programovatelný regulátor FUJI PXG4

TEPLOTA A VLHKOST DATALOGGER

SAUNOVÝ REGULÁTOR S 500

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

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ω.

Optimálního výkonu lze dosáhnout pouze při dodržování pokynů v návodech, výrobce si vyhrazuje právo na změny a dodatky v návodu bez předešlé domluvy.

VESTAVĚNÝ OVLADAČ MINI CHILLER

MIDAM UC 100 modbus regulátor topení, otočné tlačítko, RTC, 1x DO, RS485

TL-2 DATALOGGER - TOLERANCE UNIT - PC INTERFACE

GSM/GPRS modul pro Arduino

Zabezpečovací systém pro motocykly

Návod k simulaci výukového přípravku v programu Hybrid Circuit Simulator (HyCiSim) verze 0.4

Uživatelská příručka

Základy práce s osciloskopem

Remote Meter: MT-5 Pro použití se solárnímy regulátory Tracer MPPT series.

Zobrazený panel je pouze informatívní a nemusí být identický s ovládacím panelem trouby kterou jste si zakoupili.

Server Internetu prostøednictvím slu eb (web, , pøenos souborù) poskytuje data. Na na í pracovní stanici Internet

Server Internetu prostøednictvím slu eb (web, , pøenos souborù) poskytuje data. Na na í pracovní stanici Internet

Návod k obsluze pro termický anemometr TA 888

Ṁikroprocesory v přístroj. technice. Ohm-metr ... Petr Česák

ŘPS - PROFIBUS. Ing. Josef Grosman. TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií

Analýza životnosti a stárnutí svítivých diod

Compact Matrix System

Vánoční hvězda 2. Publikované: , Kategória: Blikače a optika.

Vytáhněte LCD monitor opatrně z krabice a přesvědčte se, že je obsah dodávky kompletní

Baofeng UV-82. Návod k obsluze. Kontakt na dodavatele: SHX Trading s.r.o. Týmlova 8, Praha 4, Tel: ,

Transkript:

Ing. Josef Grosman TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií Tento materiál vznikl v rámci projektu ESF CZ.1.07/2.2.00/07.0247, který je spolufinancován Evropským sociálním fondem a státním rozpočtem ČR

TH0 16 TL0 8 CT0 8 f osc /12 = f CT TH1 16 TL1 8 CT1 8 TF1

TH0 16 TL0 8 CT0 8 f osc /12 = f CT FFFF 0000 TH1 16 TL1 8 CT1 8 TF1

TH0 16 TL0 8 CT0 8 1 if(){ =0;. f osc /12 = f CT FFFF 0000 TH1 16 TL1 8 CT1 8 TF1

TH0 16 TL0 8 CT0 8 0 if(){ =0;. f osc /12 = f CT FFFF 0000 TH1 16 TL1 8 CT1 8 TF1

TH0 16 TL0 8 CT0 8 if(){ =0;. f osc /12 = f CT FFFF 0000 TH1 16 TL1 8 CT1 8 TF1 1

TH0 16 TL0 8 CT0 8 if(){ =0;. f osc /12 = f CT FFFF 0000 TH1 16 TL1 8 CT1 8 TF1 0 if(tf1){ TF1=0;.

Obsah časovače je periodicky zvyšován (inkrementován) s periodou T CT = 1/f CT = 12/f osc = MC TH0 16 TL0 8 CT0 8 f osc /12 = f CT FFFF 0000 TH1 16 TL1 8 CT1 8 TF1

Obsah časovače je periodicky zvyšován (inkrementován) s periodou T CT = 1/f CT = 12/f osc = MC Příznak je periodicky nastavován do 1 s periodou T per TH0 16 TL0 8 CT0 8 f osc /12 = f CT FFFF 0000 TH1 16 TL1 8 CT1 8 TF1

Obsah časovače je periodicky zvyšován (inkrementován) s periodou T CT = 1/f CT = 12/f osc = MC Příznak je periodicky nastavován do 1 s periodou T per TH0 16 TL0 8 CT0 8 f osc /12 = f CT FFFF 0000 TH1 16 TL1 8 CT1 8 TF1 T per t T per = K T CT = K 12/f osc

Obsah časovače je periodicky zvyšován (inkrementován) s periodou T CT = 1/f CT = 12/f osc = MC Příznak je periodicky nastavován do 1 s periodou T per TH0 16 TL0 8 CT0 8 f osc /12 = f CT FFFF 0000 TH1 16 TL1 8 CT1 8 TF1 T per t T per = K T CT = K 12/f osc T max = 65536 T CT = 786432/f osc

Obsah časovače je periodicky zvyšován (inkrementován) s periodou T CT = 1/f CT = 12/f osc = MC Příznak je periodicky nastavován do 1 s periodou T per TH0 16 TL0 8 CT0 8 f osc /12 = f CT FFFF 0000 TH1 16 TL1 8 CT1 8 TF1 T per T per = K T CT = K 12/f osc T max = 65536 T CT = 786432/f osc t f osc = 20,00 MHz T CT = 0,6 μs T max = 39,3216 ms

Obsah časovače je periodicky zvyšován (inkrementován) s periodou T CT = 1/f CT = 12/f osc = MC Příznak je periodicky nastavován do 1 s periodou T per TH0 16 TL0 8 CT0 8 f osc /12 = f CT FFFF 0000 TH1 16 TL1 8 CT1 8 TF1 T per T per = K T CT = K 12/f osc T max = 65536 T CT = 786432/f osc t f osc = 20,00 MHz T CT = 0,6 μs T max = 39,3216 ms K = T per f osc /12

Obsah časovače je periodicky zvyšován (inkrementován) s periodou T CT = 1/f CT = 12/f osc = MC Příznak je periodicky nastavován do 1 s periodou T per TH0 16 TL0 8 CT0 8 f osc /12 = f CT FFFF 0000 TH1 16 TL1 8 CT1 8 TF1 T per T per = K T CT = K 12/f osc T max = 65536 T CT = 786432/f osc t f osc = 20,00 MHz T CT = 0,6 μs T max = 39,3216 ms K = T per f osc /12 Tper [ms] 6 12 18 24 30 36 K (20,00MHz) 10000 20000 30000 40000 50000 60000

Obsah časovače je periodicky zvyšován (inkrementován) s periodou T CT = 1/f CT = 12/f osc = MC Příznak je periodicky nastavován do 1 s periodou T per TH0 16 TL0 8 CT0 8 f osc /12 = f CT FFFF 0000 TH1 16 TL1 8 CT1 8 TF1 T per T per = K T CT = K 12/f osc T max = 65536 T CT = 786432/f osc t f osc = 20,00 MHz T CT = 0,6 μs T max = 39,3216 ms K = T per f osc /12 Tper [ms] 6 12 18 24 30 36 K (20,00MHz) 10000 20000 30000 40000 50000 60000 T I > T max : T I = N T per (1s 167 6 ms )

Použití časovačů 1. Režim časovače (režim mód 1) registr TMOD

Použití časovačů 1. Režim časovače (režim mód 1) registr TMOD Časovač CT0 xxxx0001 TMOD = 0b00000001;

Použití časovačů 1. Režim časovače (režim mód 1) registr TMOD Časovač CT0 xxxx0001 TMOD = 0b00000001; Časovač CT1 0001xxxx TMOD = 0b00010000;

Použití časovačů 1. Režim časovače (režim mód 1) registr TMOD Časovač CT0 xxxx0001 TMOD = 0b00000001; TMOD &= 0b11110000; TMOD = 0b00000001; Časovač CT1 0001xxxx TMOD = 0b00010000; TMOD &= 0b00001111; TMOD = 0b00010000;

Použití časovačů 1. Režim časovače (režim mód 1) registr TMOD Časovač CT0 xxxx0001 TMOD = 0b00000001; TMOD &= 0b11110000; TMOD = 0b00000001; Časovač CT1 0001xxxx TMOD = 0b00010000; TMOD &= 0b00001111; TMOD = 0b00010000; 2. Nastavení hodnoty -N:

Použití časovačů 1. Režim časovače (režim mód 1) registr TMOD Časovač CT0 xxxx0001 TMOD = 0b00000001; TMOD &= 0b11110000; TMOD = 0b00000001; Časovač CT1 0001xxxx TMOD = 0b00010000; TMOD &= 0b00001111; TMOD = 0b00010000; 2. Nastavení hodnoty -N: MSB do TH0, LSB do TL0 resp. TH1,TL1 a spuštění časovače #define TPER (-10000) /* perioda 6 ms */ #define T1s 167 /* 167 6 ms 1 s */ byte cnt_ticks; TL0 = (byte) TPER; TH0 = (word)tper>>8; TR0 = 1; /* start časovače */ cnt_ticks = T1s; /* na 1 vterinu */

3. Reload časovače FFFF 0000 =0 časovač běží od 0

3. Reload časovače if() { = 0; TL0 = (byte)tper; TH0 = (word)tper >> 8; if(++cnt_ticks==t1s) { cnt_ticks = 0; if() { =0; Opětné nastavení časovače /* akce... */ časovač běží od 0

3. Reload časovače - nepřesnosti if() { = 0; TL0 = (byte)tper; TH0 = (word)tper >> 8; if(++cnt_ticks==t1s) { cnt_ticks = 0; if() { =0; TPER T per if() { =0; t TPER /* akce... */ časovač běží od 0 nemusí být konstantní

3. Reload časovače - nepřesnosti Opětné nastavení časovače if() { TL0 = (byte)tper; TH0 = (word)tper >> 8; = 0; if(++cnt_ticks==t1s) { cnt_ticks = 0; if() { =0; TPER T per if() { =0; t TPER /* akce... */ časovač běží od 0 nemusí být konstantní Omezení nepřesnosti : nejdříve nastavit časovač a pak nulovat užití přerušení přesné nastavení (v asembleru)

Příkládek blikání sloupcových diod resp. samostatné LED (červené)

Příkládek blikání sloupcových diod resp. samostatné LED (červené) Stisknutí tlačítka 1 - diody blikají s intervalem 1 s (1 s svítí, 1 s nesvítí), Stisknutí tlačítka 2 - zastaví blikání Na LCD se zobrazí buď Blikani LED Start: TL1 nebo Blikani LED Stop: TL2 varianty 1. červená LED 2. jedna dioda LED Baru (horní na nulté pozici) 3. všechny diody LED Baru 4. střídavě liché a sudé diody LED Baru

#include <stdio.h> #include <at89c51cc03.h> #include typy.h #define Tlac1 #define Tlac2 #define LED_R #define LED_Y #define LED_G #define REPRO P3_2 P3_3 P4_2 P4_3 P4_4 P3_6 #define TPER (-10000) #define N_TICKS 167 void LBarInit(void); void LedBar(word); void LcdInit(void); byte cnt_ticks=0; word diody;

void main(void) { TMOD =0b00000001; LBarInit(); LcdInit(); printf( Blikani LED\nStart: TL1 );

void main(void) { TMOD =0b00000001; LBarInit(); LcdInit(); printf( Blikani LED\nStart: TL1 ); while(1) { if(!tlac2 && TR0) { TR0 = 0; printf( \nblikani LED\nStart: TL1 );

void main(void) { TMOD =0b00000001; LBarInit(); LcdInit(); printf( Blikani LED\nStart: TL1 ); while(1) { if(!tlac2 && TR0) { TR0 = 0; printf( \nblikani LED\nStart: TL1 ); if(!tlac1 &&!TR0) { TL0 = (byte)tper; TH0 = (word)tper >> 8; TR0 = 1; = 0; printf( \nblikani LED\nStop: TL2 );

void main(void) { TMOD =0b00000001; LBarInit(); LcdInit(); printf( Blikani LED\nStart: TL1 ); while(1) { if(!tlac2 && TR0) { TR0 = 0; printf( \nblikani LED\nStart: TL1 ); if(!tlac1 &&!TR0) { TL0 = (byte)tper; TH0 = (word)tper >> 8; TR0 = 1; = 0; printf( \nblikani LED\nStop: TL2 ); if() { TL0 = (byte)tper; TH0 = (word)tper >> 8; = 0; if(++cnt_ticks==n_ticks) { cnt_ticks=0; LED_R =!LED_R;

void main(void) { TMOD =0b00000001; LBarInit(); LcdInit(); printf( Blikani LED\nStart: TL1 ); blikání sloupcové diody diody=0; while(1) { if(!tlac2 && TR0) { TR0 = 0; printf( \nblikani LED\nStart: TL1 ); if(!tlac1 &&!TR0) { TL0 = (byte)tper; TH0 = (word)tper >> 8; TR0 = 1; = 0; printf( \nblikani LED\nStop: TL2 ); if() { TL0 = (byte)tper; TH0 = (word)tper >> 8; = 0; if(++cnt_ticks==n_ticks) { cnt_ticks=0; LedBar(diody^=1);

void main(void) { TMOD =0b00000001; LBarInit(); LcdInit(); printf( Blikani LED\nStart: TL1 ); blikání celého LED Baru diody=0; while(1) { if(!tlac2 && TR0) { TR0 = 0; printf( \nblikani LED\nStart: TL1 ); if(!tlac1 &&!TR0) { TL0 = (byte)tper; TH0 = (word)tper >> 8; TR0 = 1; = 0; printf( \nblikani LED\nStop: TL2 ); if() { TL0 = (byte)tper; TH0 = (word)tper >> 8; = 0; if(++cnt_ticks==n_ticks) { cnt_ticks=0; LedBar(diody^=0x3FF);

void main(void) { TMOD =0b00000001; LBarInit(); LcdInit(); printf( Blikani LED\nStart: TL1 ); střídavé blikání LED Baru LedBar(diody=0x155); while(1) { if(!tlac2 && TR0) { TR0 = 0; printf( \nblikani LED\nStart: TL1 ); if(!tlac1 &&!TR0) { TL0 = (byte)tper; TH0 = (word)tper >> 8; TR0 = 1; = 0; printf( \nblikani LED\nStop: TL2 ); if() { TL0 = (byte)tper; TH0 = (word)tper >> 8; = 0; if(++cnt_ticks==n_ticks) { cnt_ticks=0; LedBar(diody^=0x3FF);

Příkládek blikání diod, modifikace s pípnutím Stisknutí tlačítka 1 - diody blikají s intervalem 1 s (1 s svítí, 1 s nesvítí), Stisknutí tlačítka 2 - zastaví blikání Na LCD se zobrazí buď Blikani LED Start: TL1 nebo Blikani LED Stop: TL2 Po dobu stisknutí tlačítek bude piezoreproduktorek generovat tón varianty 1. červená LED 2. jedna dioda LED Baru (horní na nulté pozici) 3. všechny diody LED Baru 4. střídavě liché a sudé diody LED Baru

Příkládek blikání diod, modifikace s pípnutím Generování tónu můžeme zajistit druhým časovačem (CT1) V režimu 2 (autorelaod) jako 8 bitový časovač T 1max = 256 T CT = 256 0,6 μs = 153,6 μs perioda tónu T rep = 2 T 1max = 307,3 μs frekvence tónu f = 1/T rep = 3255 Hz TMOD =0b00100001; // TMOD = 0x21; TR1 =!Tlac1 &&!Tlac2; if(tf1) { TF1 = 0; REPRO =!REPRO;

Příkládek blikání diod, modifikace s pípnutím Pro jinou frekvenci tónu hodnota předvolby K = 833333/f 1. f>3255 Hz (tj. K < 256), časovač v režimu 2 (autoreload) pouze při inicializaci: TH1 = (byte)(-k); TMOD =0b00100001; // TMOD = 0x21; TH1 = (byte)(-k); if(tf1) { TF1 = 0; REPRO =!REPRO; 2. f<3255 Hz, (tj. K > 256) časovač v režimu 1 (SW reload) vždy při přetečení (1 TF1) TL1 = (byte)(-k); TH1 = (word)(-k)>>8; TMOD =0b00010001; // TMOD = 0x11; if(tf1) { TL1 = (byte)(-k); TH1 = (word)(-k) >> 8; TF1 = 0; REPRO =!REPRO;