MIT3r
(Rozdíly mezi verzemi)
Řádka 36: | Řádka 36: | ||
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
| | | | ||
− | + | # Nastudujte komplet pracovní list j:\MIT3r\_Učební texty\Cvičení\Úkoly\1_Základy_programování\Prac_list_05 - delay DJNZ - časovač.pdf vyzkoušejte v MCU8051IDE, elektronicky pošlete PrtScr z IDE o výsledcích Vaší práce. | |
− | + | # Dle pracovního listu [http://moo.sps-pi.cz/mod/resource/view.php?id=2479 Prac_list_05 - delay DJNZ - časovač.pdf] vyzkoušejte nastavit časovač tak, aby doba běhu do přetečení (TF0) byla 50 ms. Tuto dobu aplikujte na blikání LED a vypište do komentáře výslednou frekvenci blikání LED při takovémto nastavení. Odevzdejte kód programu jako odpověď na tento úkol. | |
− | + | # Otestujte program pro počítání stisku tlačítka připojeného na T0 (P3.4). Odevzdejte PrtScr. | |
− | + | # Napište program zobrazovaní čísel 0 až 9 na 7segmentovce. Frekvenci změn nastavte na 25 ms (lze popřemýšlet nad řešením prodloužení času na 1s). Odevzdejte PrtScr. | |
− | + | # Zjistěte z programu (příloha č.1) jak dlouho bude LED blikat s frekvencí 125kHz. | |
− | + | ||
<source lang="asm"> | <source lang="asm"> | ||
MOV TMOD,#00000001B | MOV TMOD,#00000001B | ||
Řádka 53: | Řádka 52: | ||
end | end | ||
</source> | </source> | ||
− | + | # Upravte program (příloha č.2) tak aby výsledná doba periody byla v poměru 1:1 (stejnou dobu LED na P1.7 svítí, stejnou dobu je zhasnutá). | |
− | + | ||
− | + | ||
<source lang="asm"> | <source lang="asm"> | ||
mov TMOD,#00000001b | mov TMOD,#00000001b | ||
Řádka 73: | Řádka 70: | ||
end | end | ||
</source> | </source> | ||
− | + | # Prodlužte dobu periody na 1 sec (t.j 0.5 sekundy svítí, 0.5 sekundy zhasnutá). Opět odevzdejte všechny 3 řešení. | |
− | + | # Modifikujte program ze cvičení tak, aby dokázal postupně číst data z tabulky pomocí nepřímého adresování a postupně je zobrazoval na displeji. | |
− | + | ||
<source lang="asm"> | <source lang="asm"> | ||
mov DPTR,#tab ;do DPTR začátek tabulky | mov DPTR,#tab ;do DPTR začátek tabulky | ||
Řádka 90: | Řádka 86: | ||
</source> | </source> | ||
− | + | # Napište program, který bude měnit postupně čísla 1 až 6 zobrazované na 7segmentovém displeji na základě stisku tlačítka. Program do odpovědi. | |
− | + | # Napište a otestujte program pro odpočítávání čísel od 9 do 0. | |
* parametry: | * parametry: | ||
** Změna po 1 sec. (využít C/T) | ** Změna po 1 sec. (využít C/T) | ||
Řádka 98: | Řádka 94: | ||
** Při 0 zazní signál (repro s 1kHz) | ** Při 0 zazní signál (repro s 1kHz) | ||
** Signál z reproduktorku jen po určitou dobu (4s) | ** Signál z reproduktorku jen po určitou dobu (4s) | ||
− | + | # V [[Tinkercad|Tinkercadu]] vyzkoušejte připojit 7segmentovku. PrtScr celé obrazovky, kde bude vidět zapojení a odzkoušený program, odevzdejte v odpovědi. | |
|} | |} | ||
Verze z 9. 6. 2020, 13:35
Mikroprocesorová technika v 3. ročníku | ||||||||||||||||||||||||||||||
|
Domácí úkoly z teorie: | |
|
Domácí úkoly z cvičení: | |
MOV TMOD,#00000001B MOV TL0,#LOW 55536 MOV TH0,#HIGH 55536 skok: setb tr0 cpl p0.0 jnb tf0,skok nop end
mov TMOD,#00000001b mov A,#00000001b loop: RR A mov P1,A acall delay ;10 ms sjmp loop delay: setb TR0 mov TL0,#LOW 55546 mov TH0,#HIGH 55546 jnb TF0,$ clr TF0 ret end
mov DPTR,#tab ;do DPTR začátek tabulky loop: mov A,#1 movc A,@A+DPTR mov P0,A sjmp loop tab: db 11000000b ;0 uloženo v ROM db 11111001b ;1 db 10100100b ;2 end
|
MIT 3. ročník
3. ročník, 1 + 2 h týdně (celkově 36 + 72 = 108 h), povinný
IDE: MCU 8051 IDE pro vývoj aplikací v asm/C
STC89C52RC SW: Ceptimus