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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > c51 串口 波特率的計算

          c51 串口 波特率的計算

          作者: 時間:2016-11-17 來源:網(wǎng)絡(luò) 收藏
          在串行通信中,收發(fā)雙方對發(fā)送或接收的數(shù)據(jù)速率要有一定的約定,我們通過軟件對MCS—51串行口編程可約定四種工作方式。其中,方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可變的,由定時器T溢出率決定。

          串行口的四種工作方式對應(yīng)著三種波特率。由于輸人的移位時鐘的來源不同,所以,各種方式的波特率計算公式也不同。
          一、方式0的波特率
          方式0時,移位時鐘脈沖由56(即第6個狀態(tài)周期,第12個節(jié)拍)給出,即每個機器周期產(chǎn)生一個移位時鐘,發(fā)送或接收一位數(shù)據(jù)。所以,波特率為振蕩頻率的十二分之一,并不受 PCON寄存器中SMOD的影響,即:

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

          方式0的波特率=fosc/12

          三、方式l和方式3的波特率
          方式1和方式3的移位時鐘脈沖由定時器T1的溢出率決定,故波特宰由定時器T1的
          溢出率與SMOD值同時決定,即:
          方式1和方式3的波特率=2SMOD/32·T1溢出率
          其中,溢出率取決于計數(shù)速率和定時器的預(yù)置值。計數(shù)速率與TMOD寄存器中C/T的狀態(tài)有關(guān)。當(dāng)C/T=0時,計數(shù)速率=fosc/2;當(dāng)C/T=1時,計數(shù)速率取決于外部輸入時鐘頻率。
          當(dāng)定時器Tl作波特率發(fā)生器使用時,通常選用可自動裝入初值模式(工作方式2),在
          工作方式2中,TLl作為計數(shù)用,而自動裝入的初值放在THl中,設(shè)計數(shù)初值為x,則每過“256一x”個機器周期,定時器T1就會產(chǎn)生一次溢出。為了避免因溢出而引起中斷,此時應(yīng)禁止T1中斷。這時,溢出周期為:

          系統(tǒng)晶振頻率選為11.0592MHZ就是為了使初值為整數(shù),從而產(chǎn)生精確的波特率。
          如果串行通信選用很低的波特率,可將定時器Tl置于工作方式0或工作方式1,但在
          這種情況下,T1溢出時,需用中斷服務(wù)程序重裝初值。中斷響應(yīng)時間和執(zhí)行指令時間會使波特率產(chǎn)生一定的誤差,可用改變初值的辦法加以調(diào)整。
          表6—2列出了各種常用的波特率及其初值。



          關(guān)鍵詞: c51串口波特

          評論


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