日本 欧美 制服 中文 国产丨18进禁男女爱免费视频丨亚洲性夜夜摸人人天天丨精品免费人成视频网丨日韩欧美黄色一区二区三区

歡迎進入廣州光橋通信官網,我們的產品有:光纖收發器,工業交換機,電話光端機,工業4G路由器.

他們都在找: 工業PoE交換機、光纖收發器視頻光端機、電話光端機工業以太網交換機

當前位置首頁 » 串口通信為什么要設置波特率?串口通信波特率計算

串口通信為什么要設置波特率?串口通信波特率計算

返回列表 來源:光橋 查看手機網址
掃一掃!串口通信為什么要設置波特率?串口通信波特率計算掃一掃!
瀏覽:- 發布日期:2020-05-28 09:33:43【

串口通信為什么要設置波特率?串口通信波特率計算

單片機串口通信時,總要設置波特率,而波特率一般要設成9600,19200...?這是傳統么?從什么來的?而相應的晶振一般也是11.0592MHZ。是先設晶振再設波特率還是先設波特率再設晶振,為什么要這樣設置呢?

有兩種比較可靠地說法:

1:根據電、傳輸介質等的物理特性結合串口設備使用的要求

為了保證有效通訊,根據電、傳輸介質等的物理特性結合串口設備使用的要求,確定RS232最大傳輸速率只能是115200,然后逐級二分得到57600,28800,19200......;為適應這些速率,設計相應的晶振頻率。

2:這是由電信線路特性決定的

電話線路的帶通是300--3KHz,當時hayes先搞的modem,所以用的2400HZ信號,對應波特率是2400。由于基本頻率確定了,以后采用的提高通訊速率的方法都是在2400基礎上倍頻的,所以形成了9600.19200......

不管哪種說法,都是先有波特率再有晶振頻率。

單片機串口通信波特率計算

在模式0和模式2下,串口波特率固定,模式0為Fosc/12。模式2為Fosc/32或Fosc/64,具體由PCON寄存器的SMOD位決定。

在模式1和模式3下,波特率是一個可變值,波特率可以由定時器1產生(8052可以由定時2產生),那么波特率到底為多少呢?波特率由定時器1的溢出率來決定:

Baud Rate = (2SMOD/32)*(Timer 1 Overflow Rate)

注意:2SMOD這里的SMOD是指數,SMOD為波特率雙倍波特率位,該位在PCON寄存器中。

當使用timer 1作為波特率產生器時,通常需要將timer 1配置成8位自動重裝的工作模式下,同時還要禁止timer 1中斷,那么timer 1的溢出率是怎樣計算的呢?溢出率即溢出的頻率,假設晶振頻率為12MHz,TH1值為0xFE,則只需要兩個時鐘脈沖就會溢出,溢出的周期為2us,那么溢出的頻率就為500KHz。根據定時器一節,定時時間有如下計算公式

定時時間=(最大計數值-計數器初值)*機器周期=(最大計數值-計數器初值)*(12/晶振頻率(Hz))(s)=(256-TH1)*(12/OSC_FREQ(Hz))(s)。

那么溢出頻率自然就為:

OSC_FREQ(Hz)/((256-TH1)*12)。

所以最后推到出波特率為:

(2SMOD/32)*(OSC_FREQ(Hz)/((256-TH1)*12))。

波特率的計算公式有了,那自然就可以根據波特率推導出TH1的初值了:

BAUD_RATE=(2SMOD/32)*(OSC_FREQ(Hz)/((256-TH1)*12))

32*12*(256-TH1)=(2SMOD*OSC_FREQ(Hz))/BAUD_RATE

256-TH1=(2SMOD*OSC_FREQ(Hz))/(BAUD_RATE*32*12)

TH1=256-(2SMOD*OSC_FREQ(Hz))/(BAUD_RATE*32*12)

假設晶振頻率為11.0592MHz,波特率為9600,SMOD=0,TH1初值應該為多少呢?根據上面公式可以計算得TH1=256-11059200/(9600*32*12)=0xFD。


光纖收發器|工業交換機|PCM復用設備|串口光端機|串口服務器

    【本文標簽】:光纖交換機 工業交換機 以太網交換機 光纖收發器 電話光端機 光電轉換器 光端機
    【責任編輯】:光橋版權所有:轉載請注明出處
    主站蜘蛛池模板: 临江市| 宁武县| 衡水市| 丰台区| 贞丰县| 雷州市| 镶黄旗| 喜德县| 上思县| 大渡口区| 通化市| 德阳市| 榆中县| 永嘉县| 奉新县| 融水| 南涧| 云浮市| 朔州市| 安新县| 清苑县| 仙居县| 梅河口市| 永德县| 西吉县| 横峰县| 秀山| 保靖县| 桑日县| 碌曲县| 广灵县| 洪泽县| 北辰区| 马龙县| 即墨市| 玛多县| 宣汉县| 安新县| 江津市| 溧阳市| 石渠县|