51单片机汇编语言按键控制数码管加1加到999
自己写了一个按键控制数码管程序,按键一次数码管显示加一,加到255后无法再加了,到了这个地步我知道肯定要多加一个寄存器来计数,怎么想也想不出加了寄存器以后要干什么活,我试...
自己写了一个按键控制数码管程序,按键一次数码管显示加一,加到255后无法再加了,到了这个地步我知道肯定要多加一个寄存器来计数,怎么想也想不出加了寄存器以后要干什么活,我试过判断第一个寄存器是否等99是清零寄存器第二个寄存器加一然后返回到第一个寄存器,可是这样不行,大神们帮帮我吧,最后贴出程序咯,最好不要用中断,因为我没学,基础很重要!谢谢啦
展开
展开全部
检测到按键:
mov a,30h
inc a
mov 30h,a
cjne a,#100,bj1
bj1: jc bj2
mov 30h,#0
mov a,31h
inc a
mov 31h,a
bj2: 然后把31h处理到第一位显示,30h值处理到后2位显示
mov a,30h
inc a
mov 30h,a
cjne a,#100,bj1
bj1: jc bj2
mov 30h,#0
mov a,31h
inc a
mov 31h,a
bj2: 然后把31h处理到第一位显示,30h值处理到后2位显示
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
.
你可能用的是单字节加法程序,
单字节最大只能表示到255,
999需要用双字节表示了,
所以你得改用双字节加法程序。
你可能用的是单字节加法程序,
单字节最大只能表示到255,
999需要用双字节表示了,
所以你得改用双字节加法程序。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主 ,你定义的变量最大值应该是255,如果你用C的话 直接在变量前面加一个unsigned,这样他的最大值就增加了,可以达到999
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询