标题: [原创]请教“为什么中断后RAM数据不改变”的问题 [打印本页]

作者: jx51    时间: 2009-8-14 15:23
标题: [原创]请教“为什么中断后RAM数据不改变”的问题

;以下是一套数字秒表程序,分辨率0.01S
;利用TIM1产生中断,没次中断时间为0.01/8S
;P0口为六个数码管的A、B、C ~F输入
;P2.0~p2.5作位选
;;;问题??为什么结果显示一直是000000????
;为什么中断后79H到7EH的值改变了而中断返回后有是0?
;请各位赐教
org 0000h
ajmp main
org 001bh
ajmp zhong
org 003fh
main:
mov sp,60h
mov 30h,#08h
mov r7,#06h
mov r0,#79h
loop1:
 mov @r0,#00h
 inc r0
 djnz r7,loop1
mov tmod,#10h
 mov th1,#0ch
 mov tl1,#0dch
setb ea
setb et1
setb tr1
xian:
acall disp
ajmp xian

zhong:
push psw
push  acc
dec 30h
mov a,30h
jnz re              ;判断是否满八次中断
                   
mov 30h,#08h
inc 79h              ;满八次中断,+0.01S
mov a,79h
cjne a,#0ah,re        ;断是否满0.1S
            
mov 79h,#00h
inc 7ah              ;加0.1S
mov a,7ah
cjne a,#0ah,re
mov 7ah,#00h
inc 7bh              ;加1S
mov a,7bh
cjne a,#0ah,re
mov 7bh,#00h
inc 7ch                ;加10S
mov a,7ch
cjne a,#06h,re      
mov 7ch,#00h     ;到60S
inc 7dh           ;分上加1
mov a,7dh
cjne a,#0ah,re
mov 7dh,#00h
inc 7eh
mov a,7eh
cjne a,#06h, re
mov 79h,#00h      ;到60分,全部显示0
mov 7ah,#00h
mov 7bh,#00h
mov 7ch,#00h
mov 7dh,#00h
mov 7eh,#00h
pop acc
pop psw
reti
re:
 pop acc
 pop psw
 mov th1,#0ch
 mov tl1,#0dch
 setb tr1
reti

disp:
mov r1,#79h
mov r0,#0feh
mov dptr,#table
x:
mov a,@r1
movc a,@a+dptr
mov p0,a
mov p2,r0
acall delay
inc r1
mov a,r0
jb acc.5,tuichu
rl a
mov r0,a
ajmp x
tuichu: ret
TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,71H
delay:mov r6,#01h
del1: mov r5,#0fh
del2: djnz r5,del2
djnz r6,del1
ret
end


作者: jx51    时间: 2009-8-16 09:57
怎么没一个人回答啊?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1