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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > stm單片機(jī)io管腳翻轉(zhuǎn)實(shí)驗(yàn)

          stm單片機(jī)io管腳翻轉(zhuǎn)實(shí)驗(yàn)

          作者: 時間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
          這是用匯編寫出來的效果,可見頻率都一樣,而占空比卻變了
          以下為匯編程序
          org 0000h
          ajmpmain
          org0080h
          main:
          loop: mov p1,#0ffh;全不亮
          mov P1,#000h
          jmp loop
          end
          后來我又將c語言改成
          void main()
          {
          P1=0xff;
          while(1)
          {
          P1=0xff;
          P1=0;
          }
          }
          編譯后運(yùn)行,結(jié)果和匯編編寫的一樣了,
          這說明,循環(huán)程序執(zhí)行到最后一句話以后會重新跳回第一句話,這個jmp loop也占一條語句的時間,所以才有了以上的兩種結(jié)果

          上圖是我又把程序變?yōu)?/div>
          void main()
          {
          P1=0xff;
          while(1)
          {
          P1=0xff;
          P1=0;
          P1=0xff;
          P1=0;
          P1=0xff;
          P1=0;//。。。。。。。
          //好多個p1=0,p1=0xff
          }
          }
          這個時候,頻率變成了333.3kHZ了,說明這已經(jīng)是最快的速度了,但問題是,占空比還是33.3%,不解中。理論上來說,應(yīng)該是50%的占空比才對,也許是芯片內(nèi)部,下降保持的速度大于上升時保持的速度吧。
          于是我又將程序改為
          void main()
          {
          P1=0xff;
          while(1)
          {
          P1=~P1;
          P1=~P1;
          P1=~P1;//。。。。。。。
          //好多個P1=~P1;
          }
          }
          這回又有變化了,以下是截圖

          這回效果已經(jīng)非常不錯了,達(dá)到250K,而且占空比在50%,但計算一下可得知,12M的12分頻為1M,也就是說,他的io翻轉(zhuǎn)速度應(yīng)該在500Kh左右阿,也許是時鐘的問題,不解中。

          從以上效果圖來看,還可以得出一個結(jié)論,就是好像取反要比改變管腳狀態(tài)來得快。

          這是LED與電阻中間的波形,還挺好看,但原因還不知道,先不分析,以后解決。
          下面是STM32F103VE的管腳
          這個是72M的可比那快多了

          從上面的波形猜測,頻率接近18Mhz,是不是因?yàn)楣苣_速度太快,由于管腳的分布電容電阻引起的波形變化。
          已經(jīng)快接近正弦波了。
          經(jīng)過驗(yàn)證:芯片的IO翻轉(zhuǎn)速度低于芯片頻率的一半,其原因可能是因?yàn)榫幾g器翻譯出的語句問題。

          上一頁 1 2 下一頁

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();