打印
[开发工具]

求帮修改下程序按键发字符的程序

[复制链接]
912|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wgwg558|  楼主 | 2014-3-17 12:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
3个脚踏开关,每次踩下哪个,哪个发一个字符,只发一次,当其中一个被踩下没有离开时,在踩别的开关还能在继续发字符一次,我做的程序因为中断问题,发字符没问题,但是当一个脚踏开关没松开时,在踩别的脚踏开关则不起作用。


  # include <reg52.h>
  # define uchar unsigned char
  # define uint  unsigned int

sbit  p00=P0^0;
sbit  p01=P0^1;
sbit  p02=P0^2;
sbit  p03=P0^3;
sbit  p04=P0^4;
sbit  p05=P0^5;
sbit  p06=P0^6;
sbit  p07=P0^7;


  
uchar i;

//-------------------------
void  delay(uint t)
{
   while(t--);

}

//--------------------------
void  chuan(uchar s1)
{
   SBUF=s1;
   while(!TI)  ;
   TI=0;
   delay(6000)                 ;
   
}

//==========================
void  main()
{

   SCON=0X40;
   TMOD=0X20;
   TH1=0XFD  ;
   TL1=0XFD  ;
   TR1=1;
   EA=1;
   ES=1;

//==========================
        while(1)
  
   {
   
       
        if(p00==0)
        {
        delay(600)        ;          
     chuan(65) ;

          while(!p00)  ;

                      }      

                  if(p01==0)
        {
           delay(600)        ;
                  
      chuan(66) ;
           while(!p01)  ;
                      }
                        if(p02==0)
        {

      chuan(67) ;
           while(!p02)  ;
                      }
                        if(p03==0)
        {
      chuan(68) ;
           while(!p03)  ;
                      }
                        if(p04==0)
        {
      chuan(69) ;
           while(!p04)  ;
                      }        
       
           if(p05==0)
   {
    chuan(70) ;
            while(!p05)  ;
                      }      

       
       
                      }

                      }        
沙发
mmuuss586| | 2014-3-17 12:22 | 只看该作者
while(!p00)  ;
后面还有个死循环,如果开关一直按下,程序一直等待这里。别的开关当然响应不了

使用特权

评论回复
板凳
wgwg558|  楼主 | 2014-3-17 13:15 | 只看该作者
mmuuss586 发表于 2014-3-17 12:22
while(!p00)  ;
后面还有个死循环,如果开关一直按下,程序一直等待这里。别的开关当然响应不了 ...

我知道,我是问怎么解决

使用特权

评论回复
地板
songtao0728| | 2014-3-17 13:21 | 只看该作者
按键检测不要用while嘛,用状态机的思想去处理就解决了嘛

使用特权

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

本版积分规则

1

主题

2

帖子

0

粉丝