日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當前位置:首頁 >> 技術中心 >> 單片機入門 >> 51單片機晶振與波特率的關系

51單片機晶振與波特率的關系

關鍵字:51單片機 單片機晶振 作者:admin 來源:不詳 發(fā)布時間:2018-05-19  瀏覽:12

在串行通信中,MCS—51串口可約定四種工作方式。其中,方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可變的,由定時器T1的溢出率決定。

波特率是指串行端口每秒內可以傳輸的波特位數。這里所指的波特率,如標準9600不是每秒種可以傳送9600個字節(jié),而是指每秒可以傳送9600個二進位,而一個字節(jié)要8個二進位,如用串口模式1來傳輸,那么加上起始位和停止位,每個數據字節(jié)就要占用10個二進位,9600波特率用模式1傳輸時,每秒傳輸的字節(jié)數是9600÷10=960字節(jié)。

一、方式0和方式2的波特率

方式0的波特率是固定的,為fosc/12,以一個12M 的晶振來計算,那么它的波特率可以達到1M。

方式2的波特率是固定在fosc/64 或fosc/32,具體用那一種就取決于PCON 寄存器中的SMOD位,如SMOD 為0,波特率為focs/64,SMOD 為1,波特率為focs/32。

二、方式1和方式3的波特率

模式1和模式3的波特率是可變的,取決于定時器1或2(對于52芯片)的溢出速率,就是說定時器1每溢出一次,串口發(fā)送一次數據。可以用以下的公式去計算:

上式中如設置了PCON寄存器中的SMOD位為1時就可以把波特率提升2倍。通常會使用定時器1工作在定時器工作模式2下,這時定時值中的TL1做為計 數,TH1做為自動重裝值,這個定時模式下,定時器溢出后,TH1的值會自動裝載到TL1,再次開始計數,這樣可以不用軟件去干預,使得定時更準確。在這 個定時模式2下定時器1溢出速率的計算公式如下:

溢出速率=(計數速率)/(256-TH1初值)

溢出速率=fosc/[12*(256-TH1初值)]

上式中的“計數速率”與所使用的晶體振蕩器頻率有關,在51 芯片中定時器啟動后會在每一個機器周期使定時寄存器TH的值加1,一個機器周期等于十二個振蕩周期,所以可以得知51芯片的計數速率為晶體振蕩器頻率的1/12,一個12M 的晶振用在51芯片上,那么51的計數速率就為1M。通常用11.0592M 晶體是為了得到標準的無誤差的波特率,那么為何呢?計算一下就知道了。如我們要得到9600 的波特率,晶振為11.0592M 和12M,定時器1 為模式2,SMOD 設為1,分別看看那所要求的TH1 為何值。代入公式:

11.0592M:

9600=(2÷32)×((11.0592M/12)/(256-TH1))

TH1=250

12M:

9600=(2÷32)×((12M/12)/(256-TH1))

TH1≈249.49

上面的計算可以看出使用12M晶體的時候計算出來的TH1不為整數,而TH1的值只能取整數,這樣它就會有一定的誤差存在不能產生精確的9600波特率。當然一定的誤差是可以在使用中被接受的,就算使用11.0592M 的晶體振蕩器也會因晶體本身所存在的誤差使波特率產生誤差,但晶體本身的誤差對波特率的影響是十分之小的,可以忽略不計。

編輯:admin  最后修改時間:2018-05-19

聯系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

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

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

连城县| 娱乐| 沂源县| 商城县| 柯坪县| 阳原县| 土默特左旗| 星座| 黔西| 黔西| 华宁县| 海淀区| 吕梁市| 昌江| 黄平县| 将乐县| 家居| 余庆县| 德保县| 宁晋县| 阿瓦提县| 宜君县| 肥西县| 吴川市| 手机| 泰兴市| 福鼎市| 东莞市| 惠来县| 庆城县| 曲沃县| 临汾市| 镶黄旗| 溧阳市| 长宁区| 陈巴尔虎旗| 华坪县| 米脂县| 封丘县| 磐安县| 斗六市|