我用的是51系列的单片机,做的一个在中断中执行键盘扫描的程序,用的LCD1602显示,但是当中断返回后,显示器上已经输入的东西会不见,
用的是外部中断,跳沿触发方式
请帮我看一下是什么问题啊
汇编语言的,
MOV R0,#66H
KWAIT:MOV P2,#0FFH
CLR P2.0
MOV A,P2
ANL A,#0F0H
XRL A,#0F0H
JZ KNOKEY1
MOV R6,#20
LCALL DELAY1
MOV A,P2
ANL A,#0F0H
XRL A,#0F0H
JZ KNOKEY1
MOV A,P2
ANL A,#0F0H
CJNE A,#0E0H,KNK1
MOV @R0,#1
AJMP KDK1
KNK1:CJNE A,#0D0H,KNK2
MOV @R0,#4
AJMP KDK1
KNK2:CJNE A,#0B0H,KNK3
AJMP KDK
.
.
.
.
.
.
KNK10:CJNE A,#0B0H,KNK11
MOV @R0,#9
AJMP KDK
KNK11:CJNE A,#70H,KNK12
AJMP CHUQU
KNK12:AJMP KWAIT
.
.
.
KEXIT:AJMP KWAIT
CHUQU:RETI
中间省略的部分是键盘扫描,
关键是红色的部分,我想按下12号键后就中断返回,但是返回后中断中输入到屏幕上的东西也会消失
问题出现早哪里啊
很愁人的
回复 楼主 caoqixin 的帖子
你这样做相当于每次中断后就要重新键入,然后显示,相当于重新再来,当然会消失啊?先看得到的话,你应该吧当时保存起来,然后返回后在输出才行!
我的邮箱gaoxiaoan123@163.com!回帖是一种美德!互相帮助,共同进步!
口头禅:生活在于创造机会,把握机会!
我现在明白您的意思了
但是如果那样的话
就不能在按键时候就看到我键盘输入的是什么了啊?