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 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 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
Podobne podstrony:
mkd 51 programy Nowy dokument tekstowy (2)mkd 51 programy selcasmkd 51 programy zalmkd 51 programy potencjomETRwyświetlacz2mkd 51 programy potencjomETRmkd 51 programy potencjomETRwyświetlaczmkd 51 programy Nowy dokument tekstowymkd 51 programy kolokwiummkd 51 programy POTDIODAmkd 51 programy w7segx9mkd 51 programy pseudo asmProgramator procesorów 51 firmy Atmel README2Programator procesorów 51 firmy Atmel READMEwięcej podobnych podstron