国产成人av人人爽人人澡-亚洲国产日韩欧美一区-好吊日视频这里只有精品-日本高清精品视频在线

你好!歡迎來(lái)到深圳市穎特新科技有限公司!
語(yǔ)言
當(dāng)前位置:首頁(yè) >> 技術(shù)中心 >> 單片機(jī)入門(mén) >> STC單片機(jī)自適應(yīng)波特率串口的實(shí)現(xiàn)方法

STC單片機(jī)自適應(yīng)波特率串口的實(shí)現(xiàn)方法

作者:admin 來(lái)源:不詳 發(fā)布時(shí)間:2018-05-08  瀏覽:14

  STC單片機(jī)自適應(yīng)波特率串口的實(shí)現(xiàn)方法通常有以下幾種:

 。1)協(xié)議約定通信開(kāi)始時(shí)主機(jī)固定發(fā)送1 個(gè)字符,從機(jī)以不同的波特率試探接收,當(dāng)接收到的數(shù)據(jù)與約定相同時(shí),確定該波特率即是正確的通信波特率。

 。2)協(xié)議約定通信開(kāi)始時(shí)主機(jī)發(fā)送1 串字符,從機(jī)以某固定波特率接收,然后通過(guò)軟件分析接收到的數(shù)據(jù),計(jì)算出接收數(shù)據(jù)與發(fā)送數(shù)據(jù)之間的倍數(shù)關(guān)系,從而確定正確的波特率。

 。3)協(xié)議約定通信開(kāi)始時(shí)主機(jī)固定發(fā)送1 個(gè)字符,從機(jī)用單片機(jī)定時(shí)器檢測(cè)RXD 上的信號(hào)寬度,通過(guò)計(jì)算來(lái)確定主機(jī)的波特率。

  以上3 種方法,第一種由于需要多次試探,效率很低;第二種計(jì)算量過(guò)大,不適合單片機(jī)處理;第三種方式單片機(jī)有現(xiàn)成的定時(shí)器資源,計(jì)算也相對(duì)簡(jiǎn)單,所以優(yōu)選這種。

  要測(cè)量脈沖寬度,前提是單片機(jī)的時(shí)鐘信號(hào)必須穩(wěn)定。目前很多STC單片機(jī)可選外接晶振時(shí)鐘或片內(nèi)RC振蕩時(shí)鐘,片內(nèi)RC振蕩時(shí)鐘省去了外部的晶振等元件,成本降低、電路板的體積也可以縮小,這對(duì)成本及體積敏感的應(yīng)用很具優(yōu)勢(shì)。但選用片內(nèi)RC振蕩時(shí),頻率會(huì)有±15%左右的誤差,頻率的穩(wěn)定性也比外接晶振要差,按理論計(jì)算值設(shè)置波特率參數(shù),無(wú)法保證可靠的通信,但按以上自適應(yīng)波特率串口的第三種方法,每次通信前實(shí)測(cè)、計(jì)算、確定波特率常數(shù),就可以實(shí)現(xiàn)穩(wěn)定可靠的通信,這樣充分利用了STC單片機(jī)的優(yōu)勢(shì)。

  1 STC 單片機(jī)的特點(diǎn)

  標(biāo)準(zhǔn)51 芯片由于定時(shí)器最高分辨率只有1 μs,對(duì)于較高的通信波特率來(lái)說(shuō),測(cè)量精度不夠,導(dǎo)致計(jì)算值不準(zhǔn),無(wú)法正常工作。STC系列單片機(jī)是在標(biāo)準(zhǔn)51單片機(jī)基礎(chǔ)上發(fā)展起來(lái)的,它增加了很多實(shí)用的接口電路,擴(kuò)大了時(shí)鐘的頻率范圍,設(shè)計(jì)出了1T 時(shí)鐘的芯片,可以通過(guò)軟件對(duì)系統(tǒng)時(shí)鐘分頻,并提供了片內(nèi)RC振蕩時(shí)鐘,在目前51芯片的市場(chǎng)占有極大的份額。STC系列單片機(jī)采用片內(nèi)RC振蕩時(shí)鐘、自適應(yīng)波特率串口通信技術(shù),可以廣泛地應(yīng)用于分布式控制、智能儀表、通信等行業(yè)。

  2 自適應(yīng)工作原理

  STC 單片機(jī)采用異步通信,UART 工作于模式1(8位UART,波特率可變),用定時(shí)計(jì)數(shù)器2做波特率發(fā)生器,工作于模式2(8位自動(dòng)重裝模式),主從機(jī)按圖1方式連接,從機(jī)自適應(yīng)主機(jī)的波特率。

  

  自適應(yīng)過(guò)程由主機(jī)發(fā)送聯(lián)絡(luò)字符開(kāi)始。為了使從機(jī)獲得最大的測(cè)量脈寬,提高測(cè)量精度,由主機(jī)發(fā)送二進(jìn)制“0”.如圖2所示,二進(jìn)制“0”由1位起始位,8位數(shù)據(jù)位(低位在先)及1位停止位構(gòu)成,其中1位起始位和8位數(shù)據(jù)位全為0,所以低電平的寬度為9 b.

  

  從機(jī)查詢RXD引腳的電平,檢測(cè)到低電平后就啟動(dòng)定時(shí)器0開(kāi)始計(jì)時(shí),再檢測(cè)到高電平就停止定時(shí)器0計(jì)時(shí),根據(jù)定時(shí)器0的定時(shí)值就可以計(jì)算出主機(jī)的波特率。

  當(dāng)時(shí)鐘分頻寄存器CLK_DIV=0(不分頻),特殊功能寄存器AUXR=0xC0(T0 用1T 時(shí)鐘),則:

  

  而STC51 系列單片機(jī)在UART 模式1,時(shí)鐘模式為1T 時(shí),其波特率公式為:

  

  從機(jī)UART在模式1下,將式(4)或式(6)計(jì)算結(jié)果作為定時(shí)器1重裝值,設(shè)定通信參數(shù),通過(guò)串口回送應(yīng)答信號(hào)給主機(jī)。主機(jī)如正確接收到從機(jī)回送的信號(hào),就說(shuō)明從機(jī)已完成波特率自適應(yīng),可以開(kāi)始正常通信了。

  3 誤差分析

  為保證可靠通信,要求通信雙方的波特率相對(duì)誤差小于2.5%.

  在自適應(yīng)波特率校準(zhǔn)系統(tǒng)中,誤差主要來(lái)自兩個(gè)方面,一是定時(shí)器T0 啟動(dòng)和停止滯后造成的誤差ΔT0;二是波特率發(fā)生器T1 本身固有的一個(gè)機(jī)器周期誤差ΔT1 = ±1.由于STC51單片機(jī)采用1T 時(shí)鐘定時(shí),ΔT0 誤差只有標(biāo)準(zhǔn)51系列芯片的1 12,系統(tǒng)誤差主要由ΔT1 決定。

  以STC12C5620為例,當(dāng)采用片內(nèi)RC振蕩,時(shí)鐘頻率通常在5.2~6.9 MHz 之間。當(dāng)時(shí)鐘頻率為5.2 MHz,SMOD=1時(shí),UART時(shí)鐘分別按12T,1T 計(jì)算,見(jiàn)表1,表2.

  

  

  表1、表2中加粗部分表示可以選用的波特率值,由表1、表2可知,只要編程時(shí)選擇合適的時(shí)鐘,在5.2 MHz時(shí)鐘頻率下,波特率可以在300~115 200 b/s 之間實(shí)現(xiàn)自適應(yīng),由T1 取整帶來(lái)的誤差在0.5%以內(nèi)。當(dāng)系統(tǒng)時(shí)鐘為6.9 MHz時(shí),用同樣的方法計(jì)算,也可以證明波特率可以在300~115 200 b/s 之間實(shí)現(xiàn)自適應(yīng),由T1 取整帶來(lái)的誤差也在0.5%以內(nèi)。由此可見(jiàn),STC12C5620采用片內(nèi)RC振蕩,可以在300~115 200 b/s之間完成波特率自適應(yīng),實(shí)現(xiàn)穩(wěn)定可靠的通信。

  4 軟件流程與程序

  主機(jī)軟件流程圖如圖3所示,從機(jī)軟件流程圖如圖4所示。

  

  以下為C51波特率自適應(yīng)程序:

  

  

  5 應(yīng)用實(shí)例

  采用STC12C5620 設(shè)計(jì)的重力檢測(cè)開(kāi)關(guān),如圖5 所示。為降低成本、縮小體積,采用了片內(nèi)RC振蕩,不設(shè)按鍵及顯示。重力檢測(cè)開(kāi)關(guān)首次工作前需設(shè)定一些參數(shù),并校準(zhǔn)。由于沒(méi)有鍵盤(pán)及顯示,采用和計(jì)算機(jī)聯(lián)機(jī)設(shè)置、校準(zhǔn)。本電路采用了上述的自適應(yīng)波特率工作方式,由PC機(jī)作主機(jī),通過(guò)串口來(lái)初始化重力檢測(cè)開(kāi)關(guān)的各參數(shù)。

  

  設(shè)置時(shí),將重力檢測(cè)開(kāi)關(guān)與計(jì)算機(jī)之間用RS 232線連接好,然后點(diǎn)擊PC機(jī)軟件界面上的“連接串口”按鈕進(jìn)行波特率自適應(yīng),當(dāng)界面上狀態(tài)欄提示“連接串口成功!”時(shí),表示波特率自適應(yīng)工作正確完成, 如圖6所示,可以進(jìn)行參數(shù)設(shè)置和校準(zhǔn)操作。設(shè)置、校準(zhǔn)后,重力檢測(cè)開(kāi)關(guān)就可脫機(jī)正常工作了。

  

  經(jīng)反復(fù)驗(yàn)證,該電路在300~115 200 b/s 波特率范圍內(nèi)可穩(wěn)定通信工作。

  6 結(jié)語(yǔ)

  該波特率自適應(yīng)方法,可擴(kuò)展應(yīng)用于其他單片機(jī)系統(tǒng),解決對(duì)方的波特率未知、或?qū)Ψ降牟ㄌ芈视衅疃鵁o(wú)法正常通信的問(wèn)題,即使對(duì)方的波特率不是標(biāo)準(zhǔn)值也可正常工作,具有較大的實(shí)用價(jià)值。

編輯:admin  最后修改時(shí)間:2018-05-08

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬(wàn)眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

中文字幕一区久久综合| 不卡免费成人日韩精品| 国产二级一级内射视频播放| 欧美有码黄片免费在线视频| 欧美一二三区高清不卡| 99热中文字幕在线精品| 九九九热视频免费观看| 在线播放欧美精品一区| 大尺度剧情国产在线视频| 国产午夜福利不卡片在线观看| 亚洲一级在线免费观看| 亚洲综合色婷婷七月丁香| 玩弄人妻少妇一区二区桃花| 91欧美亚洲精品在线观看| 亚洲a码一区二区三区| 日韩中文无线码在线视频| 日韩特级黄片免费观看| 日本免费熟女一区二区三区| 精品人妻一区二区三区免费| 色综合久久中文综合网| 我想看亚洲一级黄色录像| 亚洲第一香蕉视频在线| 婷婷色网视频在线播放| 91欧美日韩中在线视频| 欧美精品在线观看国产| 久久精品国产99精品亚洲| 丰满人妻熟妇乱又乱精品古代| 亚洲二区欧美一区二区| 一区二区日韩欧美精品| 91精品国产av一区二区| 成人日韩在线播放视频| 久久久免费精品人妻一区二区三区| 中文字幕在线五月婷婷| 99精品人妻少妇一区二区人人妻| 男人和女人干逼的视频| 激情综合五月开心久久| 91精品欧美综合在ⅹ| 有坂深雪中文字幕亚洲中文| 国产一区二区三区精品免费| 成人国产一区二区三区精品麻豆| 国产精品成人免费精品自在线观看 |