新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STC單片機(jī)波特率自適應(yīng)方法

STC單片機(jī)波特率自適應(yīng)方法

作者: 時(shí)間:2014-01-16 來(lái)源:網(wǎng)絡(luò) 收藏

  3 誤差分析

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

  在自適應(yīng)校準(zhǔn)系統(tǒng)中,誤差主要來(lái)自?xún)蓚€(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%以?xún)?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%以?xún)?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)程序:

51單片機(jī)相關(guān)文章:51單片機(jī)教程


單片機(jī)相關(guān)文章:單片機(jī)教程


單片機(jī)相關(guān)文章:單片機(jī)視頻教程


單片機(jī)相關(guān)文章:單片機(jī)工作原理


數(shù)字通信相關(guān)文章:數(shù)字通信原理


通信相關(guān)文章:通信原理


負(fù)離子發(fā)生器相關(guān)文章:負(fù)離子發(fā)生器原理
塵埃粒子計(jì)數(shù)器相關(guān)文章:塵埃粒子計(jì)數(shù)器原理
晶振相關(guān)文章:晶振原理
離子色譜儀相關(guān)文章:離子色譜儀原理


評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉