打印
[程序源码]

请教一段汇编语言

[复制链接]
1102|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1dqmoon|  楼主 | 2017-3-9 14:44 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
51单片机,看到这么一段程序, 实在想不通 这段实现了啥功能,
感觉像是计数, 可用08H 09H 这样的内部RAM来计数, 太少见了。
请教高手指点一二
换成C语言应该是啥样?

Q0054:             JNB   P1.1,Q006C
                   CLR   C
                   MOV   A,09H
                   SUBB  A,#30H
                   MOV   A,08H
                   SUBB  A,#75H
                   JNC   Q006C
                   INC   09H
                   MOV   A,09H
                   JNZ   Q0054
                   INC   08H
                   SJMP  Q0054
Q006C:             JNB   P1.1,$
                   LCALL Q01C1
                   CLR   C
                   MOV   A,09H
                   SUBB  A,#30H
                   MOV   A,08H
                   SUBB  A,#75H
                   JNC   Q00DD

相关帖子

沙发
1dqmoon|  楼主 | 2017-3-10 22:51 | 显示全部楼层
海里蛐蛐 发表于 2017-3-10 08:11
是个按键或者开关消抖程序,如果p1.1持续维持一段时间的低电平,就等待P1.1高电平后 执行Q01c1 ...

多谢兄弟, 可能是按键消抖

可是后半段在干什么? 就只是单纯的减数吗、

Q006C:             JNB   P1.1,$
                   LCALL Q01C1
                   CLR   C
                   MOV   A,09H
                   SUBB  A,#30H
                   MOV   A,08H
                   SUBB  A,#75H
                   JNC   Q00DD

使用特权

评论回复
板凳
1dqmoon|  楼主 | 2017-3-31 09:27 | 显示全部楼层
海里蛐蛐 发表于 2017-3-11 14:55
按键释放一段时间。在按下才有效。如果释放的时间没到就按下,延长上次剩余时间+减的这个数时间 ...

搞定了, 多谢兄弟!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

63

主题

253

帖子

0

粉丝