您当前的位置:五五电子网电子知识单片机-工控设备51单片机12864显示屏4*4键盘实验 正文
12864显示屏4*4键盘实验

12864显示屏4*4键盘实验

点击数:7279 次   录入时间:03-04 11:36:41   整理:http://www.55dianzi.com   51单片机
          TransferData(adder2,1);
        TransferData(data1[16],1);
}
/***************键盘扫描子程序*************/
keyscan()  
{    
    char sCCode,recode,tcode,i,keyvalue,temp;
    P1=0xf0;  //发全“0”行扫描,列线输入
    if((P1&0xf0)!=0xf0) //有键按下
        { 
            delay1(10);   //延时去抖动
            tcode=0x01;
           if((P1&0xf0)!=0xf0)
                {
                    for(i=0;i<4;i++)
                      {
                        sccode=~tcode;  //扫描初始值
                       P1=sccode;     //输出行扫描码
                       if((P1&0XF0)!=0XF0)  //本行有键按下
                            {
                              recode=P1&0xf0;
                              //recode=recode>>4;
                              recode=recode+0x0f;
                              temp=((~sccode)+(~recode));
                              keyvalue=Key_return(temp);  //返回特征码
                              return keyvalue;
                            }
                         else
                        tcode=tcode<<1;  //行扫描码左移一位
                         }
                }

            }
    else
    return keyvalue;  //无键按下,返回0
}

/***************查键值子程序*************/
Key_return(char keyvalue)
{
    unsigned int Key_num;
  //keyword=keyvalue;
     switch(keyvalue)
           {
           case(0x11):
                      {
                      Key_num=0x00;
                      }break;
           case(0x12):
                      {
                      Key_num=0x04;
                      }break;
           case(0x14):
                      {
                      Key_num=0x08;
                      }break;
           case(0x18):
                      {
                      Key_num=0x0c;
                      }break;
           case(0x21):
                      {
                      Key_num=0x01;
                      }break;
           case(0x22):
                      {
                      Key_num=0x05;
                      }break;
           case(0x24):
                      {

上一页  [1] [2] [3] [4]  下一页


本文关键字:显示屏  键盘  51单片机单片机-工控设备 - 51单片机