<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發網

      電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
      搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 單片機 >> 正文

      51單片機4*4掃描C程序

      作者:佚名    文章來源:本站原創    點擊數:    更新時間:2011-3-31
      ;******************************************************
      ;*標題:    東哥   51單片機4*4掃描C程序  
      ;*文件:                            
      ;*版本:    1.0 
      ;*作者:    東哥    
      ;*郵箱:    picavr@163.com     QQ: 279068079

      ;*******************************************************   

      #include "reg52.h"
      #include<intrins.h>
      #define  uchar unsigned char  
      #define  uint  unsigned int
      bit FLAG0=0;
      uchar ptr;
      static const char tab[16]={0x01,0x02,0x03,0x0c, /*鍵盤碼00,01,02,03,*/
                                 0x04,0x05,0x06,0x0d, /*鍵盤碼04,05,06,07,*/
                                 0x07,0x08,0x09,0x0e, /*鍵盤碼08,09,0a,0b,*/
                                 0x0a,0x00,0x0b,0x0f};/*鍵盤碼0c,0d,0e,0f*/
      void delay (unsigned int value)  /*延時副程式*/
       {
            while (value!=0) value--;  /*10US延時*/
       }

      void scan(void)    /*掃描鍵盤副程式*/
      {
       uchar a1=0xef,i,m;         /*A1=0XF7列掃描初值,I行*/
       FLAG0=0;                 /*設按鍵回應旗號為0,鍵盤掃描計數指標為0*/
           for(i=0;i<4;i++)  /*鍵盤4個掃描列*/
            {
                     P2=a1;   /*列掃描輸出,讀入P1存入M,以便偵測行與偵測按鍵是否放開*/
                      m=P2;
                      switch(m&0x0f)  /*取行的高4位元,偵測那一行被按*/
                  {
                   case 0x07: ptr=i*4; /*第一行被按否?是則掃描指標=列X4*/
                                 FLAG0=1; /*是則設FLAG0=1表有按鍵輸入*/
                                 break; /*跳出此循環*/
                      case 0x0b: ptr=i*4+1; /*第二行被按否?是則掃描指標=列X4+1*/
                                 FLAG0=1; /*是則設FLAG0=1表有按鍵輸入*/
                                 break; /*跳出此循環*/ 
                      case 0x0d: ptr=i*4+2; /*第三行被按否?是則掃描指標=列X4+2*/
                                 FLAG0=1; /*是則設FLAG0=1表有按鍵輸入*/
                                 break; /*跳出此循環*/
                      case 0x0e: ptr=i*4+3; /*第四行被按否?是則掃描指標=列X4+3*/
                                 FLAG0=1; /*是則設FLAG0=1表有按鍵輸入*/
                       default:  break; /*跳出此循環*/
                  }
               if(FLAG0==1)break;  /*不為1,則掃描列右移,掃描下一列*/
               a1=a1<<1|0x01;   /*高位補1,由于P1.7~P1.4未接+5V,而是由指令加載高電平*/
             }
       } 
      void main(void)
      {
       TMOD=0x20;                            //T1工作方式2
       TH1=0xfd;                             //串口波特率為9600
       TCON=0x40;                           //啟動T1
       SCON=0x40;                           //串口工作與方式1并禁止接受
       IE=0x00;                             //無中斷
       while(1)
       {
         scan();                           //啟動鍵盤掃描
         if(FLAG0)                         //當FLAG0=1時,有鍵輸入
         {
          SBUF=tab[ptr];                     
          while(TI==0);TI=0;               //將鍵值送串口
          FLAG0=0;                         //將標識位清零 
          delay(30000);                    //延時
          } 
        } 
       }    
      Tags:51單片機,4*4掃描,C程序  
      責任編輯:admin
    4. 上一篇文章:
    5. 下一篇文章:
    6. 請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網友評論
      關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 亚洲国产精品成人综合色在线 | 色综合久久久久综合体桃花网| 尹人久久大香找蕉综合影院| 成人综合婷婷国产精品久久蜜臀| 色欲综合久久躁天天躁| 五月天婷亚洲天综合网精品偷| 狠狠色综合久久婷婷色天使| 伊人色综合久久天天| 久久久久综合中文字幕| AV狠狠色丁香婷婷综合久久| 伊人久久大香线蕉综合5g| 久久91综合国产91久久精品| 久久婷婷五月综合色丁香| 亚洲人成伊人成综合网久久久| 亚洲综合色丁香麻豆| 自拍三级综合影视| 色综合久久中文字幕| 伊人久久亚洲综合影院首页| 亚洲综合无码精品一区二区三区| 亚洲精品第一综合99久久| 色综合久久久久综合体桃花网| 激情综合婷婷丁香五月| 亚洲国产成人久久综合野外| 亚洲人成网站999久久久综合| 久久99国产综合色| 久久久久综合一本久道| 伊人婷婷综合缴情亚洲五月| 精品久久综合1区2区3区激情 | 天天在线天天综合网色| 人人狠狠综合久久亚洲88| 国产精品综合专区中文字幕免费播放| 亚洲综合激情五月丁香六月| 亚洲综合激情九月婷婷| 亚洲精品综合久久中文字幕| 亚洲国产综合精品| 色欲色香天天天综合网WWW| 五月婷婷综合免费| 天天综合亚洲色在线精品| 狠狠色丁香九九婷婷综合五月 | 狠狠色色综合网站| 久久综合综合久久97色|