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

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

單片機c語言之矩陣按鍵

作者:佚名   來源:本站原創   點擊數:  更新時間:2012年12月17日   【字體:

程序為當按下第一個矩陣按鍵,數碼管顯示1,按第2個矩陣按鍵,數碼管顯示2,以此類推,直到第十五個按鍵顯示F。第十六個按鍵顯示o為止

#include<reg52.h>
    #define uint unsigned int
    #define uchar unsigned char
       sbit dula=P2^6;
    sbit wela=P2^7;
    uchar code table[]={
      0x00,0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,
      0x39,0x5e,0x79,0x71,0
    };
    uchar num,temp,num1;    
     void delay(uint z) 
           {
              uint x,y;
        for(x=z;x>0;x--)
           for(y=110;y>0;y--);    
                 }
     uchar keyscan(); 
              void main()
    { num1=17;
       dula=1;
       P0=0;
       dula=0;
    wela=1;
    P0=0x00;
    wela=0;
    while(1)
     {
      num1=keyscan(); 
      dula=1;
      P0=table[num1];
      dula=0;         
      }
      }
     uchar keyscan()
     { 
       P3=0xfe;
     temp=P3;
     temp=temp&0xf0;
     while(temp!=0xf0)
      {  
       delay(5);
       temp=P3;
       temp=temp&0xf0;
       while(temp!=0xf0)
          {   
                  temp=P3;// 退出循環
         switch(temp)
             {
             case 0x7e:num=1;
                break;
             case 0xbe:num=2;
                break;
          case 0xde:num=3;
                break;
          case 0xee:num=4;
                break; 
                      }
          while(temp!=0xf0)
          {
            temp=P3;
            temp=temp&0xf0;
           }      // 松手檢測
              
         }
             }
         P3=0xfd;
         temp=P3;
         temp=temp&0xf0;
                      while(temp!=0xf0)
      {  
       delay(5);
       temp=P3;
       temp=temp&0xf0;
       while(temp!=0xf0)
          {   
                  temp=P3;
         switch(temp)
             {
             case 0x7d:num=5;
                break;
             case 0xbd:num=6;
                break;
          case 0xdd:num=7;
                break;
          case 0xed:num=8;
                break; 
                      }
           while(temp!=0xf0)
          {
            temp=P3;
            temp=temp&0xf0;
           }      // 松手檢測
                 
        }
    
                       }
     P3=0xfb;
     temp=P3;
     temp=temp&0xf0;
     while(temp!=0xf0)
      {  
       delay(5);
       temp=P3;
       temp=temp&0xf0;
       while(temp!=0xf0)
          {   
                  temp=P3;
         switch(temp)
             {
             case 0x7b:num=9;
                break;
             case 0xbb:num=10;
                break;
          case 0xdb:num=11;
                break;
          case 0xeb:num=12;
                break; 
                      }
           while(temp!=0xf0)
          {
            temp=P3;
            temp=temp&0xf0;
           }      // 松手檢測
             
                 }
    
                       } 
            P3=0xf7;
             temp=P3;
             temp=temp&0xf0;
          while(temp!=0xf0)
      {  
       delay(5);
       temp=P3;
       temp=temp&0xf0;
       while(temp!=0xf0)
          {   
                  temp=P3;
         switch(temp)
             {
             case 0x77:num=13;
                break;
             case 0xb7:num=14;
                break;
          case 0xd7:num=15;
                break;
          case 0xe7:num=16;
                break; 
                      }
         while(temp!=0xf0)
          {
            temp=P3;
            temp=temp&0xf0;
           }      // 松手檢測
              }
    
                       }
        return num;
     }
關閉窗口

相關文章

主站蜘蛛池模板: 亚洲成人av| 亚洲激情综合 | 久久草在线视频 | 玖玖精品| 日韩一区二区三区精品 | 喷潮网站| 国产精品一区二区免费 | 男人电影天堂 | 久久久免费毛片 | 中文字幕在线精品 | 国产日韩精品一区 | 二区av| 久久久入口 | 欧美日韩电影一区二区 | 毛片毛片毛片毛片 | 欧美美女一区二区 | 天天操欧美 | 中文字幕在线一区 | 精产国产伦理一二三区 | 国产精品久久久久久婷婷天堂 | 欧美日韩视频在线第一区 | 精品日韩| 天天拍夜夜爽 | 天天插天天射天天干 | 天天舔天天 | 成人深夜小视频 | 日韩欧美成人一区二区三区 | 粉嫩国产精品一区二区在线观看 | 91短视频网址 | 欧美成人h版在线观看 | 视频一区中文字幕 | 国产三级电影网站 | 草久视频| 一区二区在线免费观看 | 亚洲免费视频一区 | 国产精品免费观看 | 国产精品2区 | 国产精品视频观看 | 91免费在线看 | 亚洲网址在线观看 | 免费精品视频 |