日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
用插值調(diào)整法設(shè)計單片機(jī)串行口波特率
用插值調(diào)整法設(shè)計單片機(jī)串行口波特率
 更新時間:2008-8-16 21:10:06  點擊數(shù):18
【字體: 字體顏色

    摘要:傳統(tǒng)方法設(shè)計單片機(jī)串行口波特率時,往往要使用特殊頻率的晶振。本文在分析MCS-51單片機(jī)串行口工作原理的基礎(chǔ)上,提出基于12MHz晶振的單片機(jī)系統(tǒng),通過編程實現(xiàn)所需波特率的插值調(diào)整設(shè)計方法。

    關(guān)鍵詞:單片機(jī) 串行口 波特率 調(diào)整

引言

單片機(jī)在當(dāng)今的儀表及工業(yè)測控設(shè)備上應(yīng)用相當(dāng)廣泛,在構(gòu)成分布式系統(tǒng)進(jìn)行較長距離數(shù)據(jù)通信或是要求用有限的硬件資源進(jìn)行數(shù)據(jù)交換時,都要用到串行口。也正是串行口使得MCS-51單片機(jī)增色不少,成為單片機(jī)開發(fā)應(yīng)用中不可缺少的部分。

1 MCS-51單片機(jī)串行口工作原理

MCS-51單片機(jī)串行口采用異步通信方式。異步通信方式是以字為單位來傳送數(shù)據(jù)的。每一個字由起始位、數(shù)字位、奇偶檢驗位、停止位等構(gòu)成,稱為一幀,如圖1所示。在幀格式中,一個字由起始位開始,至停止位結(jié)束。起始位為0,用來通知接收端一個新的字開始到來,同時,起始位還被用作接收端的同步時鐘,以保證后面的接收能正確進(jìn)行。起始位后是5~8位數(shù)據(jù),接著是奇偶校驗位(可省略),最后是停止位。停止位為1。

    下面以單片機(jī)串行口工作方式3為例說明其工作原理。串口在發(fā)送時,內(nèi)部有一個16(當(dāng)SMOD=1時)分頻計數(shù)器,用于計算T1的溢出。當(dāng)16分頻計數(shù)器每次滿度翻轉(zhuǎn)時(由全1變?nèi)?)的那個機(jī)器周期,即把1位寫入“SBUF”中的數(shù)據(jù)送到TXD口上。

圖2為接收時序圖。在接收時,接收器在每一個接收時鐘的上升沿(T1的溢出信號)采樣接收數(shù)據(jù)線RXD。當(dāng)發(fā)現(xiàn)出現(xiàn)負(fù)跳變時,16分頻計數(shù)器就立刻復(fù)位,以使計數(shù)器滿度翻轉(zhuǎn)的刻度恰好與輸入位的邊沿對準(zhǔn)。在以后的接收里,16分頻計數(shù)器計算T1的溢出,每滿度翻轉(zhuǎn)1次就接收1位數(shù)據(jù)。在計數(shù)器第7、8、9狀態(tài)時,所對應(yīng)的T1溢出作為位檢測采樣控制脈沖。每個脈沖控制位檢測器對RXD端口采樣1次,這3個脈沖理論上對應(yīng)于每一位的中央段,采樣的結(jié)果按三中取二法確定RXD的值,以抑制干擾。如果所接收的第一位不是0,說明不是一幀數(shù)據(jù)的起始位,該位被摒棄,接收電路復(fù)位,等待下一個負(fù)跳變。

參看串口接收脈沖時序圖,若所接收的數(shù)據(jù)與接收終端自身的波特率設(shè)置有差異,即在接收起始位時,由于起始位的同步作用,7、8、9三個位采樣檢測脈沖處在該數(shù)據(jù)位的中斷。隨著接收的進(jìn)行,檢測采樣脈沖將逐步偏離接收數(shù)據(jù)的中央,在接收停止位時偏移達(dá)到最大值。但由于下一幀起始接收停止位時偏移達(dá)到最大值。但由于一幀起始位的同步作用,致使前面累積的誤差對以后的接收不影響。因此只要這種偏移在允許范圍內(nèi)就不至于發(fā)生錯位或漏碼。由分析可知,當(dāng)檢測時鐘脈沖對于接收數(shù)據(jù)的累積誤差達(dá)50%,則采樣的最后一位數(shù)據(jù)已處于檢測時鐘有效與無效的臨界狀態(tài),這時就可能出錯?紤]到器件的離散性,累積誤差不應(yīng)大于標(biāo)準(zhǔn)值的25%。因此,對于常用的9位和11位一幀的串行傳輸,通常規(guī)定其最大的波特率允許誤差分別為2.8%和2.3%。

2 波特率傳統(tǒng)設(shè)計方法

MCS-51單片機(jī)串行口波特率的傳統(tǒng)設(shè)計,通常是把定時器T1置于工作方式2(8位自動重裝定時初值方式)。這樣,只要給T1裝入初值,啟動T1便會產(chǎn)生相應(yīng)的溢出,串行口工作方式1、3的波特率計算公式為

整理后,得到定時器T1在相應(yīng)波特率時的初裝值:

式中:SMOD-波特率倍增位;fosc-振蕩頻率;X-定時器初值

若用戶板采用的是常用的12 MHz晶振,即有許多常見的波特率由式(2)算得X值非整數(shù)。此,常見的參考資料會使用特定的晶振來獲取所需的波特率。

其實,由前面分析可知,數(shù)據(jù)傳輸以幀為單位,每幀開關(guān)的起始位同時具有同步時鐘的作用。因此,只要在每幀內(nèi)的誤差足夠小就可以了,追求過高的精度并無多大的意義。表1給出了幾種采用12 MHz晶振得到的常用波特率及其誤差值。

表1 采用12MHz晶振產(chǎn)生的常用波特率

波特率/Bs-1 fosc/MHz SMOD 定時器T1 誤差/%
C/T 方式 重裝初值
方式1、3:62500
          4800
          2400
          1200
          137.5
12
12
12
12
12
1
1
1
1
0
0
0
0
0
0
2
2
2
2
2
FFH
F3H
E6H
CCH
1DH

0.16
0.16
0.16
0.12
[1] [2] [3]  下一頁
  • 上一篇: 用單片機(jī)設(shè)計現(xiàn)場總線轉(zhuǎn)換網(wǎng)橋
  • 下一篇: 一種RS-485總線自定義通信協(xié)議及其應(yīng)用
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費(fèi)鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1