電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>單片機(jī)>80C51單片機(jī)進(jìn)行串行通訊應(yīng)用中自動(dòng)檢測(cè)波特率的方法詳細(xì)介紹

80C51單片機(jī)進(jìn)行串行通訊應(yīng)用中自動(dòng)檢測(cè)波特率的方法詳細(xì)介紹

2019-11-28 | rar | 0.17 MB | 次下載 | 免費(fèi)

資料介紹

  本文介紹一種在80C51 串行通訊應(yīng)用中自動(dòng)檢測(cè)波特率的方法。按照經(jīng)驗(yàn),程序起動(dòng)后所接收到的第1 個(gè)字符用于測(cè)量波特率。

  這種方法可以不用設(shè)定難于記憶的開(kāi)關(guān),還可以免去在有關(guān)應(yīng)用中使用多種不同波特率的煩惱。人們可以設(shè)想:一種可靠地實(shí)現(xiàn)自動(dòng)波特檢測(cè)的方法是可能的,它無(wú)須嚴(yán)格限制可被確認(rèn)的字符。問(wèn)題是:在各種的條件下,如何可以在大量允許出現(xiàn)的字符中找出波特率的定時(shí)間隔。

  顯然,最快捷的方法是檢測(cè)一個(gè)單獨(dú)位時(shí)間(single bit time),以確定接收波特率應(yīng)該是多少??墒?,在RS-232 模式下,許多ASCII 字符并不能測(cè)量出一個(gè)單獨(dú)位時(shí)間。對(duì)于大多數(shù)字符來(lái)說(shuō),只要波特率存在合理波動(dòng)(這里的波特率是指標(biāo)準(zhǔn)波特率),從起始位到最后一位“可見(jiàn)”位的數(shù)據(jù)傳輸周期就會(huì)在一定范圍內(nèi)發(fā)生變化。此外,許多系統(tǒng)采用8 位數(shù)據(jù)、無(wú)奇偶校驗(yàn)的格式傳輸ASCII 字符。在這種格式里,普通ASCII 字節(jié)不會(huì)有MSB 設(shè)定,并且,UART總是先發(fā)送數(shù)據(jù)低位(LSB),后發(fā)送數(shù)據(jù)高位(MSB),我們總會(huì)看見(jiàn)數(shù)據(jù)的停止位。在下面的波特率檢測(cè)程序中,先等待串行通訊輸入管腳的起始信號(hào)(下降沿),然后起動(dòng)定時(shí)器T0。在其后的串行數(shù)據(jù)的每一個(gè)上升沿,將定時(shí)器T0 的數(shù)值捕獲并保存。當(dāng)定時(shí)器T0溢出時(shí),其最后一次捕獲的數(shù)值即為從串行數(shù)據(jù)起始位到最后一個(gè)上升沿(我們假設(shè)是停止位)過(guò)程所持續(xù)的時(shí)間。

  CmpTable 表格列出了每一波特率的最大測(cè)量時(shí)間。這些數(shù)據(jù)是經(jīng)過(guò)選擇的,所以,4 個(gè)數(shù)據(jù)位時(shí)間(加上起始位時(shí)間)仍可產(chǎn)生正確的波特率。

  使用這種方法時(shí),必須遵守一個(gè)假設(shè):這種技術(shù)僅取決于所接收到的一個(gè)字符,接收這個(gè)字符的波特率必須大于最低波特率。本質(zhì)上來(lái)說(shuō),這意味著這個(gè)字符必須來(lái)自正常敲擊鍵盤(pán)時(shí)所產(chǎn)生的字符。

  在PC 上,我們不可能快速、連續(xù)地敲擊兩個(gè)字符,以欺騙程序。但是,PC 的功能鍵具有一個(gè)問(wèn)題,因?yàn)樗鼤?huì)連續(xù)發(fā)送兩個(gè)緊挨著的字符,使程序檢測(cè)得到錯(cuò)誤的波特率。在為12MHz時(shí)鐘頻率而設(shè)計(jì)的的例子程序中,其總采樣時(shí)間大約為65mS,大約可以在RS-232 通訊中以300bps 的速度發(fā)送兩個(gè)字符。

  假如使用了奇偶校驗(yàn),當(dāng)4 個(gè)MSB 以及所接收字節(jié)的奇偶校驗(yàn)位均這同一值時(shí),就可能會(huì)發(fā)生錯(cuò)誤。這類(lèi)錯(cuò)誤的發(fā)生取決于系統(tǒng)是使用了奇校驗(yàn)或偶校驗(yàn),可能發(fā)生于小寫(xiě)的字母“p”到“z”,還有花括號(hào)({})、垂直條(|)、波紋線(~),以及刪除鍵“delete”。值得注意的是,慣常的提示符按鍵(如,空格鍵、回車(chē)鍵、及返回鍵),是沒(méi)有這些限制的(奇數(shù)還是偶數(shù)的限制?)。

  在以此方式運(yùn)行程序時(shí),如第一個(gè)字節(jié)已經(jīng)過(guò)去,但串行口(UART)的波特率未能正確設(shè)置,那將造成用于檢測(cè)波特率的第一個(gè)字符丟失。同樣,如果在正常通訊中檢測(cè)到串行口的通訊“幀”錯(cuò)誤,絕大部分“實(shí)時(shí)”程序必須重復(fù)這一檢測(cè)波特率的過(guò)程。

  如需采用另外設(shè)定的晶體振蕩頻率、波特率,請(qǐng)使用下列公式計(jì)算CmpTable 的表項(xiàng)目:
?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1TC358743XBG評(píng)估板參考手冊(cè)
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開(kāi)關(guān)電源基礎(chǔ)知識(shí)
  4. 5.73 MB  |  6次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計(jì)
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費(fèi)
  11. 651單片機(jī)窗簾控制器仿真程序
  12. 1.93 MB  |  2次下載  |  免費(fèi)
  13. 751單片機(jī)大棚環(huán)境控制器仿真程序
  14. 1.10 MB  |  2次下載  |  免費(fèi)
  15. 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6653次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191185次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)