一个让人百思不得其解的按键检测程序

[复制链接]
1850|1
手机看帖
扫描二维码
随时随地手机跟帖
jinling14|  楼主 | 2007-4-9 15:48 | 显示全部楼层 |阅读模式
我写了一个在5s时间里按键次数检测程序,我在线调试的时候还是可以的,但是一旦烧到单片机中就不行了,好象程序就死在那了,如果让RA2处于低电平5s左右时,这时还是可以返回键值1,怎么会这样,请高手指点一下,下面是我的程序:

Time5s_Over是5s时间的标志;


#define AlarmTime    RA2

unsigned char KeyScan(void)
{Keytime1=0;
   while(Time5s_Over==0){ 
LOOPK1:if(AlarmTime==1){
      while(AlarmTime==1){
    if(Time5s_Over==1)
    {Time5s_Over=0;goto RET;}asm("CLTWDT");}}
    if(AlarmTime==0){
    DELAY(10);
    if(AlarmTime==0){Keytime1++;
LOOPK0:       while(AlarmTime==0){asm("CLRWDT");
        if(Time5s_Over==1){Time5s_Over=0;goto RET;}}
        f(AlarmTime==1){
        DELAY(10);         //延时2ms
        if(AlarmTime==1)  continue;
        else goto LOOPK0;}
       else goto LOOPK1;}}}
RET:
    Time5s_Over=0;return(Keytime1);} 
zgl7903| | 2007-4-9 16:29 | 显示全部楼层

RA2模拟口 ?有没有修改控制寄存器,把模拟口配置为数字口

使用特权

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

本版积分规则

16

主题

110

帖子

1

粉丝