最后的原因不是很清楚,但可能是这样
因为我用了INT1外部中断和T0定时中断,因系统默认T0中断的
优先级别为高,因此当我有键盘中断(即外部中断)时,系统
在我键盘中断还没完成时即已转入定时中断,造成错乱(见加星号处)。
另,程序中的一些调用语句我也改了(见注释句后句)
,虽没什么必要,但总可以顺利运行呀!!
ORG 0000H
; AJMP MAIN
LJMP MAIN
ORG 000BH ;T0中断入口
; AJMP INT_T0
LJMP INT_T0
ORG 0013H ;INT1键盘中断入口
; AJMP KEY_INT
LJMP KEY_INT
ORG 0100H
MAIN:
;CALL START
LCALL START
MOV IE,#8EH ;开放T0/T1/INT1
SETB EA ; 总中断允许
SETB ET0 ; 定时器 T0 中断允许
MOV TMOD,#01H ;计时器T0工作在方式 1
;************************
SETB PX1 ; 设外部中断INT1中断优先级别为高
;************************
发表时间:2004年7月22日20:05:48