导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→有谁能帮我看下单片机的键盘扫描程序吗?

* 100426: 有谁能帮我看下单片机的键盘扫描程序吗?

   forrest7507 
forrest7507发表的帖子 

 有谁能帮我看下单片机的键盘扫描程序吗?
有高手能给下面的键盘程序注释下吗,本人看的不是很懂,按键的值什么时候能给单片机啊?谢谢了
#include  <reg51.h>  
#include  <intrins.h>  
#include  <absacc.h>  

#define uchar unsigned char

 

uchar rr;
uchar k;
uchar keydata;

 


void key_scan(void);          //键盘函数定义段;
uchar key_tab(uchar k);
void delay(void);
void key_in(uchar k);

//---------------------------------------------------------------
void main(void)
{
     while(1)
 {
    key_scan();
 }
}//---------------------------------------------------------------------------------------------

void key_scan(void)
{  uchar sccode,recode,i;
        P1=0xf0;
            if((P1&0xf0)!=0xf0)
          {
               delay();
                if((P1&0xf0) !=0xf0)
              {
                        sccode=0xfe;
                    for(i=0;i  <4;i++)
                   {
                        P1=sccode;
                     if((P1&0xf0) !=0xf0)
                        {
                              recode=(P1&0xf0)|0x0f;
                              k=(~recode)+(~sccode);
                              rr=P1;

                             key_in(k);
                             break;
                         }
                      else
                         sccode=(sccode  <  <1)|0x01;
                  }
             }

  }
  //do {ta=P2;}while(ta==rr);
}
void delay()        //去抖动
{int a=2500;
 while(--a);
}

void key_in(uchar k)
{   uchar ta;
    //uchar keydata;

    do {ta=P1;}while(ta==rr);
    keydata=key_tab(k);
}

发表时间:2006年12月8日12:22:25

  
回复该帖

本主题共有 1 帖,分页:>>>>>该主题的所有内容[1]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

[上一篇帖子]:探讨有源RC低通滤波器如何快速计算最近用到4阶有源RC低通滤波器,按照书上算的话实在太烦了,不知各位
[下一篇帖子]:经营民工用WAVE6000软件可以行