|
andreeamp
Moderator
Inregistrat: acum 18 ani
Postari: 27
|
|
Aprindere led
Exemplul1: Scrieti un program care aprinde un led pe portul P1.0 $mod51 org 800h jmp main org 8013h call to routine ret main: MOV TMOD,00000001b MOV TCON,0 ;setbit T1 –seteaza un anumit bit sau se poate face astfel: MOV TCON,00010000b MOV IE,10000010 MOV contor,#00h to routine: MOV A,contor xrl A,#00Eh jz timeon ;sare cand ajunge la 0,jz-jump if zero timeon: MOV contor,#00h cpl P1.0 ;functia cpl aprinde sau stinge un led ret INC contor ret
Exemplul2: Aprindere led-uri (Clipeste toate ledurile la 1 secunda) $mod51
contor1 DATA 00h contor2 DATA 01h contor3 DATA 02h
org 8000h ;memorie externa
main: mov contor1,#00h mov contor2,#00h mov contor3,#07h mov P1,#00h loop: mov A,P1 cpl A mov P1,A call delay1s jmp loop delay1s: mov contor3,#07h loop1s: djnz contor1,loop1s djnz contor2,loop1s djnz contor3,loop1s ret end
Exemplul3 : Clipeste led la 1 secunda
;aprindere led $mod51
contor1 DATA 00h contor2 DATA 01h contor3 DATA 02h
org 8000h ;memorie externa
main: mov contor1,#00h mov contor2,#00h mov contor3,#07h mov P1,#00h loop: cpl P1.2 call delay1s jmp loop delay1s: mov contor3,#07h loop1s: djnz contor1,loop1s djnz contor2,loop1s djnz contor3,loop1s ret end
Exemplul4: Aprinde un led doar du-te ;aprindere succesiva led-uri de la stanga la dreapta $mod51
contor1 DATA 00h contor2 DATA 01h contor3 DATA 02h contor4 DATA 03h
org 8000h ;memorie externa
main: mov contor1,#00h mov contor2,#00h mov contor3,#02h mov P1,#01h
loop: mov A,P1 rl A mov P1,A call delay1s jmp loop delay1s: mov contor3,#02h loop1s: djnz contor1,loop1s djnz contor2,loop1s djnz contor3,loop1s ret
end
Exemplul5 : Aprinde un led du-te-vino ;aprindere succesiva led-uri inainte-inapoi $mod51
contor1 DATA 00h contor2 DATA 01h contor3 DATA 02h contor4 DATA 03h
org 8000h ;memorie externa
main: mov contor1,#00h mov contor2,#00h mov contor3,#02h mov contor4,#07h mov P1,#01h
loop1: mov A,P1 rl A mov P1,A call delay1s ;jmp loop djnz contor4,loop1 mov contor4,#07h loop2: mov A,P1 rr A mov P1,A call delay1s ;jmp loop djnz contor4,loop2 mov contor4,#07h jmp loop1 delay1s: mov contor3,#02h loop1s: djnz contor1,loop1s djnz contor2,loop1s djnz contor3,loop1s ret end
|
|