打印
[程序源码]

请教一段汇编语言

[复制链接]
1026|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

相关帖子

沙发
mcu5i51| | 2017-3-9 14:55 | 只看该作者
好像比较7530后++

使用特权

评论回复
板凳
海里蛐蛐| | 2017-3-10 08:11 | 只看该作者
是个按键或者开关消抖程序,如果p1.1持续维持一段时间的低电平,就等待P1.1高电平后 执行Q01c1

使用特权

评论回复
地板
ddllxxrr| | 2017-3-10 11:05 | 只看该作者
想换C语言,就得用反汇编软件去反汇编,如果楼主不怕麻烦可以试下

使用特权

评论回复
5
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

使用特权

评论回复
6
海里蛐蛐| | 2017-3-11 14:55 | 只看该作者
1dqmoon 发表于 2017-3-10 22:51
多谢兄弟, 可能是按键消抖

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

按键释放一段时间。在按下才有效。如果释放的时间没到就按下,延长上次剩余时间+减的这个数时间

使用特权

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

搞定了, 多谢兄弟!

使用特权

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

本版积分规则

63

主题

253

帖子

0

粉丝