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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > c51循環(huán)移位的淺談

          c51循環(huán)移位的淺談

          作者: 時間:2016-11-18 來源:網(wǎng)絡 收藏
          如果學習單片機,最基本的考題就是流水燈了,呵呵,可是有時候一個很厲害的工程師,還真是不好弄出來,當然,我不是工程師,可是學習51單片機也有很長時間了,回想起當初學習51的時候,一直都是沒有自己的核心的東西,今天就談談c51循環(huán)移位的見解

          記得如果你打開intrins.h(51自帶的一個頭文件),你會發(fā)現(xiàn)其中有關于定義_crol_()(字符循環(huán)左移函數(shù))(一般我們用的多的是這個,呵呵),還有一個是_cror_()(字符循環(huán)右移函數(shù))

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

          可是,如果你去面試的時候,這個時候,你難道還用它自帶的循環(huán)函數(shù)么?當然不能了。真是的(有時候我們自己小組出的筆試題就是流水燈,可是我卻緊鎖眉頭,感覺很是窩囊???,今天就把源程序?qū)懗鰜?。)這時候就要用到你的c語言知識了,呵呵。

          假如說是共陰極數(shù)碼管的話:

          程序可以這樣(只寫主要算法):

          while(1)

          {

          temp=0x01;

          P1=temp;

          delay(100); //延時100ms

          for(i=1;i<8;i++)

          {

          temp=temp<<1;

          P1=temp;

          delay(100);

          }

          }

          可是假如是共陽極流水燈的話,就得寫成這樣,更好些:

          while(1)

          {

          temp=0xfe;

          P1=temp;

          delay(100);

          for(i=1;i<8;i++)

          {

          P1=(temp<>(8-i);

          delay(100);

          }

          }

          看到?jīng)]有,其中核心的一條語句就是 temp=temp<<1;P1=temp;和P1=(temp<>(8-i);,其實第一個可以用第二個代替,不過對于共陰極的太過簡單,直接寫出來就行了,可是對于共陽極的話,就得思考思考了,先左移,然后和右移的數(shù)進行相或,這是相當經(jīng)典的(8次)。呵呵,可能還有更經(jīng)典的,以后有時間補充上,呵呵。



          關鍵詞: c51循環(huán)移

          評論


          技術專區(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); })();