mkd 51 programy potencjomETR


org 0 ljmp start ;org 0003h ;przerwanie z wejścia /INT0 org 000Bh ;przerwanie z licznika T0 ljmp intT0 ;org 0013h ;przerwanie z wejścia /INT1 ;org 001Bh ;przerwanie z licznika T1 ;org 0023h ;przerwanie z portu szeregowego start: mov 32,#83h ;ustawienie licznika pomocniczego w celu uzyskania sekundwych odstepow mov 40,#0 ;1-9 mov 41,#0 mov 42,#0 mov 43,#0 mov 50,#0 mov IE,#82h ;odblokowanie przerwan mov TMOD,#1h ;ustawienie trybu licznika mov dptr,#-5000 mov TL0,dpl ;poczatkowa wartosc licznika mov TH0,dph mov TCON,#10h ;uruchomienie licznika wyswietlanie: ;Glowna petla ljmp wyswietlanie intT0: ;obsluga przerwania z T0 push dpl push dph push acc ;====================== mov dptr,#8005h movx @dptr,a ;====================== mov a,#40 add a,50 mov dptr,#led mov r0,a mov a,@r0 movc a,@a+dptr mov dptr,#8018h movx @dptr,a mov P1,50 inc 50 mov a,50 anl a,#4 jz const mov 50,#0 ;====================== const: ;inc 20h ;sprawdzenie licznika pomocniczego ;mov a,20h ;jnz kintT0 ;mov 20h,#83h ;ustawienie licznika pomocniczego mov dptr,#8000h movx a,@dptr mov b,#100 div ab mov 42,a mov a,b mov b,#10 div ab mov 41,a mov 40,b mov a,40 mov dptr,#jednostki movc a,@a+dptr mov 40,a jnz kintT0 mov a,41 mov dptr,#jednostki movc a,@a+dptr mov 41,a jnz kintT0 mov a,42 mov dptr,#jednostki movc a,@a+dptr mov 42,a jnz kintT0 mov a,43 mov dptr,#jednostki movc a,@a+dptr mov 43,a jnz kintT0 kintT0: mov dptr,#-5000 mov TL0,dpl ;poczatkowa wartosc licznika mov TH0,dph pop acc pop dph pop dpl reti jednostki: db 1,2,3,4,5,6,7,8,9,0 led: db 3Fh,06h,5Bh,4Fh,66h,6Dh,7Dh,07h,7Fh,6Fh,0 DELAY256: push dpl push dph push acc mov a,#0 loop: inc a jnz loop pop acc pop dph pop dpl ret end 


Wyszukiwarka