打印
[其它应用]

开机按键怎么不管用

[复制链接]
6008|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhuhuis|  楼主 | 2021-6-3 23:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
TE, AI, AN, TI, timer, mt
MAIN:                        
               NOP
                 NOP                     
                 ADI F_TIMER,0001B
                 BA0 HALTMODE ;未到5ms, 跳转
                 ANDIM F_TIMER,1110B ;清"5ms 到"标志            
               NOP                           
               LDA PORTD,00H
                 STA TEMP,00H
                 SBI TEMP,0FH;=0,没有按键动作跳走               
                 BAZ YS_4                                             
                 ADIM TEMP5,01H
                 SBI TEMP5,01H;是否是第一次按键按下是的话存起来初次按键值
                 BAZ YS_5
                 LDA KEY_OLD,00H
                 SUB TEMP,00H
                 BNZ YS_4
                 SBI TEMP5,03H;扫描8次按键未完成继续扫描
                 BNZ MAIN
                 ANDIM TEMP5,00H
                 LDA T0M_1,00H;判断开机标志位
                 BA0 YS_8
                 LDA TEMP,00H
                 BA0 YS_4
AS_1:                                         
                 ORIM T0M_1,01H;设置开机标志
                 JMP MAIN
YS_8:                                          
               LDA KEY_OLD,00H
                 BA1 YS_4
                 JMP YS_7                                          
HALTMODE:
                  NOP
                  HALT
                  NOP
                  NOP
                  JMP MAIN
YS_4:                             
                 ANDIM F_TIMER,1110B
                 ANDIM TEMP5,00H               
                 JMP MAIN               
YS_5:
                 LDA TEMP,00H
                 STA KEY_OLD,00H                              
               RTNI
YS_7:                                               
                LDI PORTC,0FH
                ADI F_TIMER,0010B
                BA1 YS_7
                ANDIM F_TIMER,1101B
                LDI PORTC,00H
                 JMP
     MAIN                                                                                                                                                   
                 END

使用特权

评论回复
沙发
tian111| | 2021-6-3 23:50 | 只看该作者
没看出来有啥

使用特权

评论回复
板凳
llljh| | 2021-6-3 23:53 | 只看该作者
问题出在
SBI TEMP5,01H;是否是第一次按键按下是的话存起来初次按键值
                 BAZ YS_5
YS_5:
                 LDA TEMP,00H
                 STA KEY_OLD,00H                              
               RTNI

使用特权

评论回复
地板
zhuhuis|  楼主 | 2021-6-3 23:55 | 只看该作者
现在的问题是时时监控按键有点问题

使用特权

评论回复
5
zhuhuis|  楼主 | 2021-6-3 23:57 | 只看该作者
我该找找那个历程看看呢

使用特权

评论回复
6
guijial511| | 2021-6-7 21:00 | 只看该作者
现在一看到汇编就懵逼了

使用特权

评论回复
7
huanghuac| | 2021-6-7 21:03 | 只看该作者

LDA PORTD,00H
                 STA TEMP,00H
                 SBI TEMP,0FH;=0,没有按键动作跳走               
                 BAZ YS_4      
如果你只是使用了PD的某一个口为什么使用这种判断方法呢?为什么不使用位判断指令(BA3,BA2,BA1,BA0)?如果你只使用一个按键用的是PD0口,或者这样写应该更好:
                LDA PORTD,00H
                BA0 JMP**    ;//高电平跳走
                                       ;//低电平有效

使用特权

评论回复
8
happy_10| | 2021-6-7 21:05 | 只看该作者

看全部程序,在确认按键后将FLAG1的BIT0位置1

使用特权

评论回复
9
supernan| | 2021-6-7 21:07 | 只看该作者
嗯,在没有按键的时候将FLAG1的BIT0位清零

使用特权

评论回复
10
xxrs| | 2021-6-7 21:08 | 只看该作者
最简单就是先不用双缓冲,看看是不是还有问题

使用特权

评论回复
11
zhuhuis|  楼主 | 2021-6-7 21:11 | 只看该作者
嗯,我再好好缕一缕吧,有了好消息及时通知大家

使用特权

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

本版积分规则

728

主题

8464

帖子

6

粉丝