<del id="9lhst"></del>
    1. <kbd id="9lhst"><form id="9lhst"></form></kbd>
      <dfn id="9lhst"></dfn>

        <th id="9lhst"><progress id="9lhst"></progress></th>
          • <b id="9lhst"><menuitem id="9lhst"></menuitem></b>

            <label id="9lhst"><menuitem id="9lhst"></menuitem></label>
            <em id="9lhst"></em>
            • <th id="9lhst"><progress id="9lhst"></progress></th>

              歡迎進(jìn)入廣州光橋通信官網(wǎng),我們的產(chǎn)品有:光纖收發(fā)器,工業(yè)交換機(jī),電話光端機(jī),工業(yè)4G路由器.

              他們都在找: 工業(yè)PoE交換機(jī)光纖收發(fā)器視頻光端機(jī)電話光端機(jī)工業(yè)以太網(wǎng)交換機(jī)

              當(dāng)前位置首頁 » 串口通信為什么要設(shè)置波特率?串口通信波特率計(jì)算

              串口通信為什么要設(shè)置波特率?串口通信波特率計(jì)算

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

              串口通信為什么要設(shè)置波特率?串口通信波特率計(jì)算

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

              有兩種比較可靠地說法:

              1:根據(jù)電、傳輸介質(zhì)等的物理特性結(jié)合串口設(shè)備使用的要求

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

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

              電話線路的帶通是300--3KHz,當(dāng)時(shí)hayes先搞的modem,所以用的2400HZ信號(hào),對(duì)應(yīng)波特率是2400。由于基本頻率確定了,以后采用的提高通訊速率的方法都是在2400基礎(chǔ)上倍頻的,所以形成了9600.19200......

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

              單片機(jī)串口通信波特率計(jì)算

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

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

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

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

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

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

              那么溢出頻率自然就為:

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

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

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

              波特率的計(jì)算公式有了,那自然就可以根據(jù)波特率推導(dǎo)出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)

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


              光纖收發(fā)器|工業(yè)交換機(jī)|PCM復(fù)用設(shè)備|串口光端機(jī)|串口服務(wù)器

                【本文標(biāo)簽】:光纖交換機(jī) 工業(yè)交換機(jī) 以太網(wǎng)交換機(jī) 光纖收發(fā)器 電話光端機(jī) 光電轉(zhuǎn)換器 光端機(jī)
                【責(zé)任編輯】:光橋版權(quán)所有:轉(zhuǎn)載請(qǐng)注明出處
                    <del id="9lhst"></del>
                  1. <kbd id="9lhst"><form id="9lhst"></form></kbd>
                    <dfn id="9lhst"></dfn>

                      <th id="9lhst"><progress id="9lhst"></progress></th>
                        • <b id="9lhst"><menuitem id="9lhst"></menuitem></b>

                          <label id="9lhst"><menuitem id="9lhst"></menuitem></label>
                          <em id="9lhst"></em>
                          • <th id="9lhst"><progress id="9lhst"></progress></th>
                            黄色电影一级网站 | 三级三级看三级91 | 日本成人中文字幕在线观看 | 国产成人免费视频 | 蜜芽精品。con |