21ic电子技术开发论坛 单片机与嵌入式系统 中颖MCU 开机按键不管用
发新帖我要提问
返回列表
打印

开机按键不管用

[复制链接]
1132|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
冰清玉洁|  楼主 | 2011-9-21 22:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
TE, AI, AN, TI, timer
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
沙发
冰清玉洁|  楼主 | 2011-9-21 22:14 | 只看该作者
帮忙看看有什么问题,开机按键不管用

使用特权

评论回复
板凳
huanghuac| | 2011-9-21 22:19 | 只看该作者
没看出来有啥

使用特权

评论回复
地板
happy_10| | 2011-9-21 22:22 | 只看该作者
问题出在
SBI TEMP5,01H;是否是第一次按键按下是的话存起来初次按键值
               BAZ YS_5
YS_5:
               LDA TEMP,00H
               STA KEY_OLD,00H                              
               RTNI

使用特权

评论回复
5
冰清玉洁|  楼主 | 2011-9-21 22:33 | 只看该作者
哦,解决了

使用特权

评论回复
6
冰清玉洁|  楼主 | 2011-9-21 22:38 | 只看该作者
现在的问题是时时监控按键有点问题

使用特权

评论回复
7
冰清玉洁|  楼主 | 2011-9-21 22:43 | 只看该作者
我该找找那个历程看看呢

使用特权

评论回复
8
chenho| | 2011-9-21 22:48 | 只看该作者
例5.2.1

使用特权

评论回复
9
neyo.zhong| | 2011-9-22 10:01 | 只看该作者
感谢众网友的协助。

使用特权

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

使用特权

评论回复
11
happy_10| | 2011-9-22 18:05 | 只看该作者
看全部程序,在确认按键后将FLAG1的BIT0位置1

使用特权

评论回复
12
happy_10| | 2011-9-22 18:10 | 只看该作者
在没有按键的时候将FLAG1的BIT0位清零

使用特权

评论回复
13
冰清玉洁|  楼主 | 2011-9-22 18:14 | 只看该作者
嗯,真是非常感谢大家

使用特权

评论回复
14
冰清玉洁|  楼主 | 2011-9-22 18:17 | 只看该作者
结贴了

使用特权

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

本版积分规则

307

主题

3250

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部