<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

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

        4×4鍵盤C程序HD7279A顯示

        作者:浪子   來源:浪子   點擊數:  更新時間:2014年06月10日   【字體:

         #include "AT89X52.H"

        #define  uchar unsigned char
        #define  uint unsigned int
        sbit    CLK  = P3^0;
        sbit    DAT  = P3^1;
        sbit    CS   = P3^2;//sbit a1=P1^1;
         
        void delay(uint t)
        {
         uint i;
         while(t--)
         {
          for(i=0;i<125;i++){}
         }
        }
         void   L_Delay()                      //CS被清零后,要經過50μs,才送CLK.
        {
           uchar i;
           for ( i=0; i<48; i++ ) ;
        }
         
        //
         
        void  Write7279( uchar CMD, uchar DTA )
        {
           Send_Byte( CMD );
           Send_Byte( DTA );
         
        }
        uchar kbscan(void)
        {uchar sccode,j,k=0;
         P1=0xf0;
        if((P1&0xf0)!=0xf0)
        {delay(30);
         if((P1&0xf0)!=0xf0)
          {sccode=0xfe;
           for(j=0;j<4;j++)
             {P1=sccode;
              if((P1&0xf0)!=0xf0)
           {k=~P1;
           while((P1&0XF0)!=0XF0);
            return (k);
           }
              else sccode=(sccode<<1)|0x01;
             }
           }
        }
        return(0);
        }
        uchar bian(uchar key)
        {switch(key)
        {
         case 0x00: return  0;break;
         case 0x11: return  1;break;
         case 0x12: return   2;break;
         case 0x14: return   3;break;
         case 0x18: return   4;break;
         case 0x21: return   5;break;
         case 0x22: return   6;break;
         case 0x24: return   7;break;
         case 0x28: return   8;break;
         case 0x41: return   9;break;
         case 0x42: return   10;break;
         case 0x44: return   11;break;
         case 0x48: return   12;break;
         case 0x81: return   13;break;
         case 0x82: return   14;break;
         case 0x84: return   15;break;
         case 0x88: return   16;break;
         
        }
        }main()
        {
         uchar m;
         while(1)
         {
          m=bian(kbscan()); 
                        if(m>0&m<16){
                   Write7279( 0xc8,m); }
         }
        }
        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮