51单片机,用键盘输入数码管显示的程序!!!用汇编语言,大家帮忙看看哪里错了!谢谢了!!!

ORG0000HLJMPMAINORG0100HMAIN:MOVSP,#78HMOV78H,#00HMOV79H,#00HMOV7AH,#00HMOV7BH,#00HMO... ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:MOV SP,#78H
MOV 78H,#00H
MOV 79H,#00H
MOV 7AH,#00H
MOV 7BH,#00H
MOV 7CH,#00H
MOV 7DH,#00H
MOV 7EH,#00H
KEYI:ACALL KS1
CJNE A,#0F0H,LK1
ACALL DIR
AJMP KEYI
LK1:ACALL DIR
ACALL DIR
ACALL KS1
CJNE A, #0F0H,LK2
ACALL DIR
AJMP KEYI
LK2: ACALL KS1
MOV R2,A
ORL A,#0FH
MOV P3,A
MOV A,P3
ANL A,#0FH
ADD A,R2 ;键特征值
CJNE A,#0EEH,JZHI1
MOV A,#00H
PUSH 0E0H
JZHI1: CJNE A,#0DEH,JZHI2
MOV A,#01H
PUSH 0E0H
JZHI2: CJNE A,#0BEH, JZHI3
MOV A,#02H
PUSH 0E0H
JZHI3: CJNE A,#7EH,JZHI4
MOV A,#03H
PUSH 0E0H
JZHI4: CJNE A, #0EDH, JZHI5
MOV A,#04H
PUSH 0E0H
JZHI5: CJNE A,#0DDH, JZHI6
MOV A, #05H
PUSH 0E0H
JZHI6: CJNE A,#0BDH, JZHI7
MOV A, #06H
PUSH 0E0H
JZHI7: CJNE A,#07DH, JZHI8
MOV A, #07H
PUSH 0E0H
JZHI8: CJNE A,#0EBH, JZHI9
MOV A, #08H
PUSH 0E0H
JZHI9:CJNE A,#0DBH, KEYI
MOV A, #09H
PUSH 0E0H
LJMP KEYI
DIR:MOV DPTR,#DEG
MOV R0,#79H;数码管第一位
MOV R3,#0FEH;线选
LD1:CLR P2.7
CLR P2.6
MOV A,@R0
MOVC A,@A+DPTR
MOV P0,A
SETB P2.6
CLR P2.6
MOV P0,R3
SETB P2.7
LCALL DELY
INC R0
MOV A,R3
JNB ACC.5,LD2
RL A
MOV R3,A
SJMP LD1
LD2:RET
DEG:DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH
DELY:MOV R7,#02H
DL:MOV R6,#0FFH
DL6:DJNZ R6,DL6
DJNZ R7,DL
RET
KS1:MOV P3,#0F0H
MOV A,P3
ANL A, #0F0H
RET ;键是否按下
END
为什么复位后显示“暗1暗100”是六位数码管,输入后六位数码管显示同一个数字。不能逐个显示数字,我用的是郭天祥的开发板。
展开
 我来答
改变世界的魔法师
2012-07-10 · TA获得超过681个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:108万
展开全部
你如果没有用译码器,那应该问题出在扫描部分。在显示下一个数码管显示的时候,要关了上一个数码管,同时更新第二个数码管数据输出端的数据。延时一段时间之后,再显示下一个数码管数据。这样一直扫描。固定扫描时间,有两种方法,一种是定时器中断,一种是自已用延时程序来自已作一个软件定时器。还有一个要注意的问题就是按键要设置一个40-100ms的延时,这样可以防止误读按键。
追问
还是谢谢你,问题我已经自己解决了!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

2012-07-10 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部
程序中,写了很多:
PUSH 0E0H
怎么没有看到对应 POP 指令?

开始时,用指令:MOV SP,#78H,设置了栈底,然后又把后面的空间,当成了显示缓冲区。
那么,楼主是用 PUSH 指令,把数据送去显示?

那么,调用子程序时:ACALL KS1、ACALL DIR,这些操作,都会使用堆栈,这就把当前地址送去显示。

这程序,有点滥,还是重新写吧。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bjdonglw
2012-07-10 · TA获得超过3813个赞
知道大有可为答主
回答量:1万
采纳率:58%
帮助的人:2096万
展开全部
发给郭天祥,让他帮助解决。
追问
这不是人家开发板的问题,人家会管吗?
追答
会的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
790501293
2012-08-27
知道答主
回答量:32
采纳率:0%
帮助的人:15.1万
展开全部
你需要调整一下程序里边的控制命令
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-11-07
展开全部
求发修改后的程序 拜谢 2578669518@qq.com
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式