亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? key4x4.c

?? 4 4鍵盤矩陣程序[PIC16F877A PICC]是目前4 4鍵盤矩陣程序中最新的!不足的地方請您指正!
?? C
字號:
//實驗目的:熟悉鍵盤矩陣的掃描方法
//程序中沒有做按鍵去抖,也沒有考慮多個鍵同時按下的情況。
//最低兩位數碼管顯示相應的按鍵(如按下S10,在顯示10;按下S25,則顯示25)
//無按鍵按下的時候顯示FF 
//按鍵跟按鍵的掃描結果滿足如下關系:
//   按鍵     掃描結果(result)        按鍵       掃描結果  
//   K10            0XE7                K18          0XB7
//   K11            0XEB                K19          0XBB
//   K12            0XED                K20          0XBD
//   K13            0XEE                K21          0XBE
//   K14            0XD7                K22          0X77
//   K15            0XDB                K23          0X7B
//   K16            0XDD                K24          0X7D
//   K17            0XDE                K25          0X7E

//硬件要求:撥碼開關S4全部置ON
//          撥碼開關S6全部置ON,撥碼開關S5第5-6位置ON,其他位置OFF
//          其它撥碼開關置OFF

#include<pic.h>              //包含單片機內部資源預定義
 __CONFIG(0x1832);        
//芯片配置字,看門狗關,上電延時開,掉電檢測關,低壓編程關,加密,4M晶體HS振蕩

 int  result;
 void  delay();              //delay函數申明
 void  init();               //I/O口初始化函數申明
 void  scan();               //按鍵掃描程序申明
 void  display(int x);       //顯示函數申明
//---------------------------------------------------
                             //主程序  
void main()
{
  while(1)                   //循環工作
    {
      init();                //調用初始化子程序
      scan();                //調用按鍵掃描子程序
      display(result);       //調用結果顯示子程序
    }
 }
 
//---------------------------------------------------
//初始化函數
void init() 
 {
  ADCON1=0X07;               //設置A口為普通I/O口
  TRISA=0X0f;                //設置A口高2位為輸出,低4位為輸入
  TRISC=0XF0;                //設置C口高4位為輸入,低4位為輸出
  TRISD=0X00;                //設置D口為輸出
  PORTA=0XFF;              
  PORTD=0XFF;                //先清除所有顯示
 }

//---------------------------------------------------
//按鍵掃描程序
void scan()
{
 PORTC=0XF7;                 //C3輸出低電平,其他三位輸出高電平
 asm("nop");                 //插入一定延時,確保電平穩定
 result=PORTC;               //讀回C口高4位結果
 result=result&0xf0;         //清除低4位
 if(result!=0xf0)            //判斷高4位是否為全1(全1代表沒按鍵按下)?
   {
     result=result|0x07;     //否,加上低4位0x07,做為按鍵掃描的結果
   }
 else                        //是,改變低4位輸出,重新判斷是否有按鍵按下
   {
   PORTC=0XFb;               //C2輸出低電平,其他三位輸出高電平
   asm("nop");               //插入一定延時,確保電平穩定
   result=PORTC;             //讀回C口高4位結果
   result=result&0xf0;       //清除低4位
   if(result!=0xf0)          //判斷高4位是否為全1(全1代表沒按鍵按下)
     {
     result=result|0x0b;     //否,加上低4位0xb,做為按鍵掃描的結果
     }
   else                      //是,改變低4位輸出,重新掃描
       {
       PORTC=0XFd;           //C1輸出低電平,其他三位輸出高電平
       asm("nop");           //插入一定延時,確保電平穩定
       result=PORTC;         //讀回C口高4位結果
       result=result&0xf0;   //清除低4位
       if(result!=0xf0)      //判斷高4位是否為全1(全1代表沒按鍵按下)
        {
        result=result|0x0d;  //否,加上低4位0x0d,做為按鍵掃描的結果
        }
       else                  //是,改變低4位的輸出,重新掃描
          {
          PORTC=0XFe;        //C0輸出低電平,其他三位輸出高電平
          asm("nop");        //插入一定延時,確保電平穩定
          result=PORTC;      //讀回C口高4位結果
          result=result&0xf0;//清除低4位
          if(result!=0xf0)   //判斷高四位是否為全1(全1代表沒有按鍵按下)
            {
             result=result|0x0e;//否,加上低4位0x0e,做為按鍵掃描的結果
            }
          else               //是,全部按鍵掃描結束,沒有按鍵按下,置無按鍵按下標志位
            {
             result=0xff;    //掃描結果為0xff,做為沒有按鍵按下的標志
            }   
          }      
      }
   }
 }

//----------------------------------------------------------
//顯示程序
void   display(int x)
  {
   switch(result)                 
      {
       case 0xe7:
                 PORTD=0xf9;PORTA=0X2F;delay();PORTD=0xc0;PORTA=0X1F;delay();break;   //K10
       case 0xeb:
                 PORTD=0xf9;PORTA=0X2F;delay();PORTD=0xf9;PORTA=0X1F;delay();break;   //K11
       case 0xed:
                 PORTD=0xf9;PORTA=0X2F;delay();PORTD=0xa4;PORTA=0X1F;delay();break;   //K12
       case 0xee:
                 PORTD=0xf9;PORTA=0X2F;delay();PORTD=0xb0;PORTA=0X1F;delay();break;   //K13
       case 0xd7:
                 PORTD=0xf9;PORTA=0X2F;delay();PORTD=0x99;PORTA=0X1F;delay();break;   //K14
       case 0xdb:
                 PORTD=0xf9;PORTA=0X2F;delay();PORTD=0x92;PORTA=0X1F;delay();break;   //K15
       case 0xdd:
                 PORTD=0xf9;PORTA=0X2F;delay();PORTD=0X82;PORTA=0X1F;delay();break;   //K16
       case 0xde:
                 PORTD=0xf9;PORTA=0X2F;delay();PORTD=0XF8;PORTA=0X1F;delay();break;   //K17
       case 0xb7:
                 PORTD=0xf9;PORTA=0X2F;delay();PORTD=0X80;PORTA=0X1F;delay();break;   //K18
       case 0xbb:
                 PORTD=0xf9;PORTA=0X2F;delay();PORTD=0X90;PORTA=0X1F;delay();break;   //K19
       case 0xbd:
                 PORTD=0xa4;PORTA=0X2F;delay();PORTD=0xc0;PORTA=0X1F;delay();break;   //K20
       case 0xbe:
                 PORTD=0xa4;PORTA=0X2F;delay();PORTD=0xf9;PORTA=0X1F;delay();break;   //K21
       case 0x77:
                 PORTD=0xa4;PORTA=0X2F;delay();PORTD=0xa4;PORTA=0X1F;delay();break;   //K22
       case 0x7b:
                 PORTD=0xa4;PORTA=0X2F;delay();PORTD=0xb0;PORTA=0X1F;delay();break;   //K23
       case 0x7d:
                 PORTD=0xa4;PORTA=0X2F;delay();PORTD=0x99;PORTA=0X1F;delay();break;   //K24
       case 0x7e:
                 PORTD=0xa4;PORTA=0X2F;delay();PORTD=0x92;PORTA=0X1F;delay();break;   //K25
       case 0xff:
                 PORTD=0x8e;PORTA=0X2F;delay(); PORTD=0x8e; PORTA=0X1F; delay();      //無按鍵按下
      }
   }

//------------------------------------------------------------------
//延時程序
void  delay()              //延時程序
    {
     int i;                 //定義整形變量
     for(i=0x100;i--;);     //延時
    }

     

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区在线播放视频| 欧美乱妇23p| 久久99这里只有精品| 亚洲成a人v欧美综合天堂| 亚洲午夜一区二区| 亚洲一级二级三级在线免费观看| 最新热久久免费视频| 一区二区三区中文在线| 亚洲综合免费观看高清在线观看| 一区二区三区中文字幕电影 | 日韩中文字幕1| 在线免费观看视频一区| 亚洲一区在线观看免费| 亚洲自拍与偷拍| 天天操天天色综合| 国产一区二区看久久| 国产不卡视频在线观看| 色拍拍在线精品视频8848| 欧美三级中文字幕| 久久在线免费观看| 国产精品视频你懂的| 亚洲最新在线观看| 久久激五月天综合精品| 国产盗摄精品一区二区三区在线| 成人av在线网| 欧美日韩国产一二三| 欧美日本一道本| 欧美电视剧在线看免费| 中文字幕精品一区二区三区精品| 亚洲三级电影网站| 奇米精品一区二区三区在线观看 | 成人免费一区二区三区在线观看| 一区二区三区中文字幕| 九九在线精品视频| 91亚洲永久精品| 欧美顶级少妇做爰| 欧美激情资源网| 亚洲国产日韩在线一区模特| 国产综合色在线| 欧美日韩视频在线观看一区二区三区 | 国产亚洲欧美一级| 一区二区三区在线不卡| 国产在线精品不卡| 7777精品伊人久久久大香线蕉经典版下载 | 国产精品欧美久久久久无广告| 色婷婷综合久色| 欧美一区国产二区| 91麻豆精品国产综合久久久久久| 国产清纯白嫩初高生在线观看91| 亚瑟在线精品视频| 99精品久久只有精品| 亚洲精品一区二区三区影院 | 国产黑丝在线一区二区三区| 欧美日韩一区在线观看| 中文字幕一区二区三区不卡 | 在线精品视频小说1| 久久综合久色欧美综合狠狠| 亚洲高清免费在线| 成人sese在线| 国产日韩精品视频一区| 美女脱光内衣内裤视频久久影院| 日本乱人伦一区| 国产精品久久精品日日| 国产一区二区三区综合 | 国产一区二区久久| 日韩视频在线观看一区二区| 亚洲成在人线免费| 欧美特级限制片免费在线观看| 国产精品久久网站| 成人激情动漫在线观看| 久久综合资源网| 精品在线亚洲视频| www久久精品| 国产成人亚洲综合色影视| 国产清纯白嫩初高生在线观看91 | 国产精品水嫩水嫩| 丁香亚洲综合激情啪啪综合| 久久久综合视频| 国产福利91精品一区| 国产亚洲污的网站| 成人av在线看| 亚洲另类在线制服丝袜| 欧洲一区二区三区在线| 午夜精品久久久久久| 色婷婷综合五月| 天堂av在线一区| 精品国产制服丝袜高跟| 国产成人免费视频一区| 国产精品电影一区二区| 在线观看av一区| 美女国产一区二区| 国产日韩视频一区二区三区| 成人涩涩免费视频| 亚洲黄色尤物视频| 在线综合+亚洲+欧美中文字幕| 久久成人综合网| 国产精品丝袜黑色高跟| 欧美视频在线观看一区二区| 日本va欧美va精品| 国产精品系列在线| 91麻豆精品秘密| 国产女同性恋一区二区| 精品一区二区三区影院在线午夜| 粉嫩aⅴ一区二区三区四区五区| 国产精品三级在线观看| 欧洲激情一区二区| 精品一区中文字幕| 亚洲丝袜精品丝袜在线| 欧美成人官网二区| 91小视频在线免费看| 日韩成人伦理电影在线观看| 久久影院视频免费| 欧美揉bbbbb揉bbbbb| 国产精品99久久久| 亚洲自拍与偷拍| 国产亚洲美州欧州综合国| 欧美在线免费视屏| 狠狠色综合色综合网络| 亚洲一二三四区不卡| 国产清纯在线一区二区www| 欧美日韩成人一区| 色综合天天综合给合国产| 另类小说色综合网站| 亚洲一区二区av在线| 国产精品剧情在线亚洲| 欧美变态口味重另类| 欧美日韩精品欧美日韩精品| 粉嫩av一区二区三区| 久久激五月天综合精品| 婷婷成人激情在线网| 最新热久久免费视频| 国产欧美1区2区3区| 久久亚洲综合色| 日韩欧美一级二级三级久久久| 91麻豆精品秘密| 99视频国产精品| 成人免费高清视频在线观看| 捆绑紧缚一区二区三区视频| 偷拍一区二区三区四区| 亚洲一线二线三线久久久| 成人免费在线观看入口| **网站欧美大片在线观看| 中文字幕乱码一区二区免费| 久久免费国产精品| 精品成人佐山爱一区二区| 欧美精品777| 欧美精品乱人伦久久久久久| 欧美视频在线一区| 欧美日韩国产综合一区二区三区| 在线视频国内自拍亚洲视频| 在线观看日韩毛片| 欧美体内she精视频| 欧美乱妇15p| 日韩美一区二区三区| 精品国产乱码久久久久久牛牛| 精品久久久久久久久久久久久久久久久 | 亚洲福利电影网| 亚洲成av人**亚洲成av**| 香蕉加勒比综合久久| 三级影片在线观看欧美日韩一区二区| 五月激情综合婷婷| 九九精品视频在线看| 国产suv一区二区三区88区| 成人激情开心网| 在线观看日韩高清av| 日韩手机在线导航| 欧美激情一区二区三区四区| 亚洲人成亚洲人成在线观看图片| 一区二区三区在线免费播放| 亚洲图片自拍偷拍| 精品亚洲国产成人av制服丝袜| 国产精品一区二区三区乱码| 成人中文字幕在线| 欧美日韩激情一区二区| 精品美女在线播放| 中文字幕亚洲一区二区av在线| 亚洲一区二区三区不卡国产欧美| 蜜桃av一区二区在线观看| 成人午夜又粗又硬又大| 欧美羞羞免费网站| 久久亚洲一级片| 夜夜精品浪潮av一区二区三区| 亚洲国产综合色| 国产精品一二三| 欧洲一区在线电影| 久久久国产精品麻豆| 一区二区三区在线免费视频| 韩日精品视频一区| av亚洲精华国产精华精华| 亚洲美女屁股眼交| 日韩av一区二区三区四区| 国产精品自在欧美一区| 91福利在线导航| 国产日韩欧美a| 视频一区视频二区中文| 成人精品电影在线观看| 日韩区在线观看| 尤物在线观看一区| 粉嫩久久99精品久久久久久夜| 欧美老年两性高潮|