PP - Návrh MIT aplikace

(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Zadání:)
Řádka 27: Řádka 27:
  
 
===Výpis programu s komentáři===
 
===Výpis programu s komentáři===
 +
 +
1)
 +
 
<source lang="asm">
 
<source lang="asm">
 
; **************************************************************  
 
; **************************************************************  
 
; blikani diody vybrane dolnimi tremi bity na DIP prepinaci  
 
; blikani diody vybrane dolnimi tremi bity na DIP prepinaci  
 
; **************************************************************  
 
; **************************************************************  
  ;include REG51.INC
+
 
  org 0  
+
        org 0  
 
;---------------------------------------------------------------  
 
;---------------------------------------------------------------  
 
start:  mov a,p3    ; nacteni stavu prepinace  
 
start:  mov a,p3    ; nacteni stavu prepinace  
Řádka 47: Řádka 50:
 
rozsv:  mov a,r7  
 
rozsv:  mov a,r7  
 
   xrl p1,a    ; rozsviceni odpovidajici diody  
 
   xrl p1,a    ; rozsviceni odpovidajici diody  
   ;acall z_08s  
+
   mov a,p3    ; nove nacteni stavu prepinace   
   ;orl p1,a    ; zhasnuti diody  
+
  anl a,#00000111b    ; maskovani
   ;acall z_05s  
+
  cjne a,b,prevod    ; zadana nova kombinace? - ano, novy prevod
 +
  sjmp rozsv    ; ne, rozsviceni teze diody
 +
;--------------------------------------------------------------
 +
        end
 +
</source>
 +
 
 +
2)
 +
<source lang="asm">
 +
; **************************************************************
 +
; 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     
 
   mov a,p3    ; nove nacteni stavu prepinace     
 
   anl a,#00000111b    ; maskovani  
 
   anl a,#00000111b    ; maskovani  
Řádka 93: Řádka 125:
  
  
 
+
námět: ing. Šindelář Petr zpracoval: [[JA]]
 
+
zpracoval: ing. Šindelář Petr
+

Verze z 9. 9. 2017, 13:24

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:

Obsah

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

8051 s LED a DIP

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

Zdroj informací

MIT3r

8051

http://wiki.sps-pi.cz//8051

http://wiki.sps-pi.cz/ProfiCAD

http://wiki.sps-pi.cz/Z%C3%A1klady_programov%C3%A1n%C3%AD_v_8051

Simulace

Zadani uloh MIT3r S.png


námět: ing. Šindelář Petr zpracoval: JA

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