MIT3r
Řádka 36: | Řádka 36: | ||
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
| | | | ||
− | + | 1- 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. | |
− | + | 2- 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. | |
− | + | 3- Otestujte program pro počítání stisku tlačítka připojeného na T0 (P3.4). Odevzdejte PrtScr. | |
− | + | 4- 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. | |
− | + | 5- Zjistěte z programu (příloha č.1) jak dlouho bude LED blikat s frekvencí 125kHz | |
<source lang="asm"> | <source lang="asm"> | ||
Řádka 54: | Řádka 54: | ||
</source> | </source> | ||
− | + | 6- 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"> | ||
Řádka 73: | Řádka 73: | ||
end | end | ||
</source> | </source> | ||
− | + | 7- 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í. | |
− | + | 8- 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"> | ||
Řádka 89: | Řádka 89: | ||
end | end | ||
</source> | </source> | ||
− | + | ||
− | + | 9- 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. | |
+ | 10- 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 97: | Řádka 98: | ||
** 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) | ||
+ | 11- 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:32
Mikroprocesorová technika v 3. ročníku | ||||||||||||||||||||||||||||||
|
Domácí úkoly z teorie: | |
|
Domácí úkoly z cvičení: | |
1- 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. 2- Dle pracovního listu 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. 3- Otestujte program pro počítání stisku tlačítka připojeného na T0 (P3.4). Odevzdejte PrtScr. 4- 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. 5- Zjistěte z programu (příloha č.1) jak dlouho bude LED blikat s frekvencí 125kHz MOV TMOD,#00000001B MOV TL0,#LOW 55536 MOV TH0,#HIGH 55536 skok: setb tr0 cpl p0.0 jnb tf0,skok nop end 6- 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á). 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 7- 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í. 8- 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. 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 9- 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. 10- Napište a otestujte program pro odpočítávání čísel od 9 do 0.
11- V Tinkercadu vyzkoušejte připojit 7segmentovku. PrtScr celé obrazovky, kde bude vidět zapojení a odzkoušený program, odevzdejte v odpovědi. |
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