<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 51單片機 數(shù)碼顯示數(shù)字

          51單片機 數(shù)碼顯示數(shù)字

          作者: 時間:2016-11-25 來源:網(wǎng)絡 收藏
          數(shù)碼管顯示在51單片機里面也是很經(jīng)典的歷程。因為IO口有限,所以數(shù)碼管的數(shù)據(jù)端口與選通端口使用了同樣的IO端口,防止數(shù)據(jù)與選通信號混亂,這里使用了兩個鎖存器,用于區(qū)分選通信號與數(shù)據(jù)信號。在實際工程開發(fā)中,IO復用的情況還是很常見的,所以掌握復用IO的控制過程就顯得很重要了。

          原理圖:

          本文引用地址:http://www.ex-cimer.com/article/201611/321307.htm





          代碼如下:詳細說明見注釋。

          //在6個數(shù)碼管上面顯示數(shù)字0-6,時間間隔是1s。數(shù)碼管1顯示1,1S關閉,數(shù)碼管2顯示2,1S關閉~~~~~~~~~~
          #include //頭文件
          #define uint unsigned int //定義宏--無符號整型
          #define uchar unsigned char //定義宏--無符號字符型
          sbit duanxuan=P2^6; //聲明P2.6端口為段選端
          sbit pianxuan=P2^7; //聲明P2.7端口為片(位)選端
          void delay_1s(uint); //聲明延時函數(shù)--延時一秒
          uint xs; //延時函數(shù)用

          uchar code table[]={
          0x3f,0x06,0x5b,0x4f,
          0x66,0x6d,0x7d,0x07,
          0x7f,0x6f,0x77,0x7c,
          0x39,0x5e,0x79,0x71}; //C語言編碼定義

          void main() //主函數(shù)入口
          {
          xs=20; //參數(shù)越小,就可以實現(xiàn)6個數(shù)碼管一起顯示數(shù)字
          while(1)
          {
          pianxuan=1; //打開片選鎖存器
          P0=0xfe; //執(zhí)行片選,選擇第1個數(shù)碼管
          pianxuan=0; //關閉鎖存器,鎖存器輸出端保持不變
          P0=0x00;
          duanxuan=1; //打開段選端
          P0=table[1]; //顯示數(shù)字1
          duanxuan=0; //關閉段選端,數(shù)字保持
          delay_1s(xs); //延時xS


          pianxuan=1;
          P0=0xfd; //選擇第2個數(shù)碼管
          pianxuan=0;
          P0=0x00;
          duanxuan=1;
          P0=table[2]; //顯示數(shù)字2
          duanxuan=0;
          delay_1s(xs);

          pianxuan=1;
          P0=0xfb; //選擇第3個數(shù)碼管
          pianxuan=0;
          P0=0x00;
          duanxuan=1;
          P0=table[3]; //顯示數(shù)字3
          duanxuan=0;
          delay_1s(xs);


          pianxuan=1;
          P0=0xf7; //選擇第4個數(shù)碼管
          pianxuan=0;
          P0=0x00;
          duanxuan=1;
          P0=table[4]; //顯示數(shù)字5
          duanxuan=0;
          delay_1s(xs);


          pianxuan=1;
          P0=0xef; //選擇第5個數(shù)碼管
          pianxuan=0;
          P0=0x00;
          duanxuan=1;
          P0=table[5]; //顯示數(shù)字5
          duanxuan=0;
          delay_1s(xs);

          pianxuan=1;
          P0=0xdf; //選擇第6個數(shù)碼管
          pianxuan=0;
          P0=0x00;
          delay_1s(xs);
          duanxuan=1;
          P0=table[6]; //顯示數(shù)字6
          duanxuan=0;
          delay_1s(xs);
          }
          }
          void delay_1s(uint xs) //延時函數(shù)主體
          {
          uint i,j;
          for(i=xs;i>0;i--)
          {
          for(j=10;j>0;j--)
          {
          }
          }
          }
          以上,數(shù)碼管顯示結束。



          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();