PP - Návrh MIT aplikace
Dokumentace bude obsahovat:
- Zadání
- Blokové schéma
- Výpis programu s komentáři
- Seznam HW, SW
- Zdroj informací
Vzor:
Zadání:
K portu P1 mikropočítače je připojen modul 8xLED, k portu P3 modul 8xDIP. Napište a odlaďte program,
1) který zajistí blikání té diody, která bude vybrána dolními třemi bity přepínače (na dalších bitech nezáleží):
000 …………… bliká dioda na P1.0 001 …………… bliká dioda na P1.1 : 111 …………… bliká dioda na P1.7
2) vybraná dioda bude svítit 0,8 s a zhasnuta bude 0,5 s.
Blokové schéma
Výpis programu s komentáři
1)
; **************************************************************
; blikani diody vybrane dolnimi tremi bity na DIP prepinaci
; **************************************************************
org 0
;---------------------------------------------------------------
start: mov a,p3 ; nacteni stavu prepinace
anl a,#00000111b ; maskovani nepouzivanych bitu
prevod: mov b,a ; uschovani prectene informace
mov r0,a ; poradi blikajici diody do r0
inc r0 ; v r0 pocet rotaci
mov a,#10000000b ; pocatecni byte do akumulatoru
;---------------------------------------------------------------
rotuj: rl a ; prevod bin. kodu na kod 1 z 8
djnz r0,rotuj
mov r7,a ; uschovani kodu 1 z 8 do r7
;---------------------------------------------------------------
rozsv: mov a,r7
xrl p1,a ; rozsviceni odpovidajici diody
mov a,p3 ; nove nacteni stavu prepinace
anl a,#00000111b ; maskovani
cjne a,b,prevod ; zadana nova kombinace? - ano, novy prevod
sjmp rozsv ; ne, rozsviceni teze diody
;--------------------------------------------------------------
end
2)
; **************************************************************
; blikani diody vybrane dolnimi tremi bity na DIP prepinaci
; **************************************************************
org 0
;---------------------------------------------------------------
start: mov a,p3 ; nacteni stavu prepinace
anl a,#00000111b ; maskovani nepouzivanych bitu
prevod: mov b,a ; uschovani prectene informace
mov r0,a ; poradi blikajici diody do r0
inc r0 ; v r0 pocet rotaci
mov a,#10000000b ; pocatecni byte do akumulatoru
;---------------------------------------------------------------
rotuj: rl a ; prevod bin. kodu na kod 1 z 8
djnz r0,rotuj
mov r7,a ; uschovani kodu 1 z 8 do r7
;---------------------------------------------------------------
rozsv: mov a,r7
xrl p1,a ; rozsviceni odpovidajici diody
acall z_08s
orl p1,a ; zhasnuti diody
acall z_05s
mov a,p3 ; nove nacteni stavu prepinace
anl a,#00000111b ; maskovani
cjne a,b,prevod ; zadana nova kombinace? - ano, novy prevod
sjmp rozsv ; ne, rozsviceni teze diody
;--------------------------------------------------------------
z_08s: mov r3,#8 ; zpozdovaci podprogram
sjmp cek1
z_05s: mov r3,#5
cek1: mov r2,#200
cek2: mov r1,#250
djnz r1,$
djnz r2,cek2
djnz r3,cek1
ret
;--------------------------------------------------------------
end
Seznam HW, SW
-
IDE: MCU 8051 IDE pro vývoj aplikací v asm/C
Zdroj informací
http://wiki.sps-pi.cz/ProfiCAD
http://wiki.sps-pi.cz/Z%C3%A1klady_programov%C3%A1n%C3%AD_v_8051
Simulace
námět: ing. Šindelář Petr zpracoval: JA