久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專(zhuān)注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

C51單片機(jī)的3*3矩陣鍵盤(pán)程序

作者:佚名   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2013年11月02日   【字體:

#include <reg51.h>
#include<dis.h>
/**延時(shí)1**/    //用于消抖
void delay1(void)
{uchar i;
 for(i=0;i<200;i++);
 }

/****延時(shí)2**********/
 void delay2(void)
{
  uchar i,j,s;
  for(i=250;i>0;i--)
  for(j=250;j>0;j--)
  for(s=5;s>0;s--);
}
/****串口初使化****/
void chuankou_init(void)
{
 TMOD=0X20;   //定時(shí)器1,方式2,8位計(jì)數(shù)器   
 SCON=0x40;   //方式1,而不允許接收
 PCON=0X00;   //波特率不翻倍 
 TH1=0xf4;         //11.0592晶振,somd=0,波特率9600,初值=0xfa.應(yīng)用sst89E564,已經(jīng)倍頻
 TL1=0xf4;
 TR1=1;         //啟動(dòng)定時(shí)器1
}
/**鍵盤(pán)掃描函數(shù)**/
uchar keyscan(void)
{
  uchar code_h;     //行掃描值
  uchar code_l;     //列掃描值
  P1=0xf8;      //P1.0-P1.2發(fā)全0,P1.3-P1.5發(fā)1,準(zhǔn)備讀列狀態(tài)
  if((P1&0Xf8)!=0Xf8)  //如果P1.3-P1.5不全為1,可能有鍵按下
   {
    delay1();    //消抖
 if((P1&0xf8)!=0xf8)   //重讀列位,若還是不全為1,定有鍵按下
  {
   code_h=0xfe;   //P1.0為0。開(kāi)始行掃描
   while((code_h&0x08)!=0x00)   //判斷是否為最后一行,若不是,繼續(xù)掃描
    {
     P1=code_h;       //P1口輸出行掃描值
  if((P1&0Xf8)!=0Xf8)     //如果P1.3-P1.5不全為1,該行有鍵按下
   {
    code_l=((P1&0xf8)|0x07);    //保留P3-p5位,低3位為1,作為列值
    return((~code_h)+(~code_l)); //鍵編碼=行掃描值+列掃描值,返回主程序
    }
   else         //該行無(wú)鍵按下,行掃描值左移,掃描下一行
  code_h=((code_h<<1)|0x01);
  }
   }
 }
   return(0);      //無(wú)鍵按下,反回0

 }
 /**主函數(shù)**/
 void main(void)
{
 uchar key;
 chuankou_init();      //串口初使化
 while(1)
  {
   key=keyscan();      //調(diào)用鍵盤(pán)掃描函數(shù),返回的鍵值送變量key
   switch(key)
     {  
   case 0x0a:SBUF=0X00;delay2();break;  
      case 0x11:SBUF=0x05;delay2();break;
      case 0x12:SBUF=0x04;delay2();break;
      case 0x14:SBUF=0x03;delay2();break;
      case 0x22:SBUF=0x01;delay2();break;
      case 0x24:SBUF=0x02;delay2();break;
      case 0x21:SBUF=0x06;delay2();break;
   case 0x0c:break;
   case 0x05:break;
     
      default:break;
     }
   }
}     

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 午夜影院在线观看免费 | 国产免费一区二区三区 | 影音先锋成人资源 | 午夜一区二区三区 | 日韩精品成人 | 99精品一区二区三区 | 99免费视频 | 四虎成人在线播放 | 久热精品免费 | 国产精品国产精品国产专区不卡 | 精品国产一区二区三区性色av | 国内成人免费视频 | 精品伦精品一区二区三区视频 | 国产一区二区三区在线免费观看 | 黄视频免费在线 | 一级毛片色一级 | 嫩草视频在线免费观看 | 日韩一区二区三区视频在线观看 | 国产一级片在线观看视频 | 久久人爽| 日本在线一区二区 | 久久一区| 欧美亚洲视频在线观看 | 日韩欧美一区二区三区在线播放 | 偷拍自拍网址 | 亚洲欧美日韩网站 | 日韩www视频 | 亚洲欧美精品 | 国产精品99一区二区 | 99热碰| h片在线观看网站 | 国产精品久久国产精品 | 毛片大全 | 91精品国产一区二区三区 | 欧美激情一区 | 毛片在线看片 | 国产精品视频一 | 亚洲国产精品99久久久久久久久 | 国产精品小视频在线观看 | 国产精品日韩一区 | 国产精品一区二区三区在线播放 |