找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5864|回復: 1
收起左側(cè)

[原創(chuàng)]請教“為什么中斷后RAM數(shù)據(jù)不改變”的問題

[復制鏈接]
ID:16253 發(fā)表于 2009-8-14 15:23 | 顯示全部樓層 |閱讀模式

;以下是一套數(shù)字秒表程序,分辨率0.01S
;利用TIM1產(chǎn)生中斷,沒次中斷時間為0.01/8S
;P0口為六個數(shù)碼管的A、B、C ~F輸入
;P2.0~p2.5作位選
;;;問題??為什么結(jié)果顯示一直是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

回復

使用道具 舉報

ID:16253 發(fā)表于 2009-8-16 09:57 | 顯示全部樓層
怎么沒一個人回答?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表