- 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 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.
MOV TMOD,#00000001B
MOV TL0,#LOW 55536
MOV TH0,#HIGH 55536
skok: setb tr0
cpl p0.0
jnb tf0,skok
nop
end
- 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
- 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.
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
- 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:
- Změna po 1 sec. (využít C/T)
- Čítač spustit tlačítkem.
- Při 0 se rozsvítí LED (dP = tečka na 7segmentovce)
- Při 0 zazní signál (repro s 1kHz)
- Signál z reproduktorku jen po určitou dobu (4s)
- V Tinkercadu vyzkoušejte připojit 7segmentovku. PrtScr celé obrazovky, kde bude vidět zapojení a odzkoušený program, odevzdejte v odpovědi.
|