PP - Návrh MIT aplikace

(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Založena nová stránka: Zadání Dokumentace bude obsahovat: # Zadání # Blokové schéma # Výpis programu s komentáři # Seznam HW, SW # Zdroj informací)
 
Řádka 8: Řádka 8:
 
# Seznam HW, SW
 
# Seznam HW, SW
 
# Zdroj informací
 
# Zdroj informací
 +
 +
 +
Vzor:
 +
 +
K portu P1 mikropočítače je připojen modul 8xLED, k portu P3 modul 8xDIP. Napište a odlaďte program, 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
 +
Vybraná dioda bude svítit 0,8 s a zhasnuta bude 0,5 s. Uvažujte kmitočet oscilátoru 12 MHz.
 +
 +
[[Soubor:MCU-blok-schema-01.png|8051 s LED a DIP]]
 +
 +
<source lang="asm">
 +
; **************************************************************
 +
; blikani diody vybrane dolnimi tremi bity na DIP prepinaci
 +
; **************************************************************
 +
  ;include REG51.INC
 +
  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
 +
</source>

Verze z 7. 9. 2017, 14:28

Zadání

Dokumentace bude obsahovat:

  1. Zadání
  2. Blokové schéma
  3. Výpis programu s komentáři
  4. Seznam HW, SW
  5. Zdroj informací


Vzor:

K portu P1 mikropočítače je připojen modul 8xLED, k portu P3 modul 8xDIP. Napište a odlaďte program, 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 

Vybraná dioda bude svítit 0,8 s a zhasnuta bude 0,5 s. Uvažujte kmitočet oscilátoru 12 MHz.

8051 s LED a DIP

; ************************************************************** 
; blikani diody vybrane dolnimi tremi bity na DIP prepinaci 
; ************************************************************** 
  ;include REG51.INC 
  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
Osobní nástroje
Jmenné prostory
Varianty
Akce
Rychlá navigace
NEJ aktivity
Nejlepší předměty
Nejlepší MCU
SW-HW
Ostatní
Utility
Nástroje
Tisk/export