日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 用51單片機(jī)+11.0592的晶振,如何產(chǎn)生115200的波特率?

          用51單片機(jī)+11.0592的晶振,如何產(chǎn)生115200的波特率?

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

            今天解決了一個(gè)小問(wèn)題(查書后才得到確切結(jié)論。。。)用單片機(jī)+11.0592的,如何產(chǎn)生115200的波特率?

          本文引用地址:http://yuyingmama.com.cn/article/201610/310908.htm

            本來(lái)感覺(jué)這個(gè)小意思,直接初始化定時(shí)器1,程序如下:

            void init_com( void )

            {

            SCON = 0x50 ; //串口工作方式1,8位UART,波特率可變

            TMOD |= 0x20 ; //定時(shí)器1,工作方式2,自動(dòng)再裝入8位定時(shí)器

            PCON |= 0x80 ; //SMOD=1; 波特率加倍

            TH1 = 0xfa ; //波特率:9600 =11.0592MHz

            IE |= 0x90 ; //使能串口中斷

            TR1 = 1 ; // 定時(shí)器1開(kāi)始

            }

            結(jié)果發(fā)現(xiàn)這樣只能得到9600的波特率。。。

            當(dāng)SMOD=1時(shí),K=2,波特率加倍,公式為:

            波特率=K×11059200/32×12×(256-TH1)

            所以,TH1=0xfa=256-(2×11059200/384×波特率) 其中波特率為9600

            這時(shí),及時(shí)令TH1=0xff,所得波特率最大只能為57600,也就是說(shuō),這樣無(wú)法得到115200的波特率。。。

            這樣就只有采用其他方法了:

            1、換,用22.1184M晶振,在TH1=0xff時(shí),剛好可以產(chǎn)生115200波特率。

            2、采用6個(gè)時(shí)鐘周期的單片機(jī)(換單片機(jī)啊。。。)

            3、增強(qiáng)型單片機(jī)有定時(shí)器2!(幸好偶用的是增強(qiáng)型。。。)

            就用第三種方法啦!這時(shí)的公式如下:

            波特率=11059200/32×[65535-(RCAP2H,RCAP2L)]

            其中的RCAP2H,RCAP2L為自動(dòng)重裝值,由上式得:

            RCAP2H,RCAP2L=65536-11059200/32×波特率

            這樣得波特率為115200時(shí),RCAP2H,RCAP2L=0xff,0xfd,初始化程序如下:

            void init_com( void )

            {

            SCON=0x50; //串口工作方式1,8位UART,波特率可變

            TH2=0xFF;

            TL2=0xFD; //波特率:115200 晶振=11.0592MHz

            RCAP2H=0xFF;

            RCAP2L=0xFD; //16位自動(dòng)再裝入值

            /*****************/

            TCLK=1;

            RCLK=1;

            C_T2=0;

            EXEN2=0; //波特率發(fā)生器工作方式

            /*****************/

            TR2=1 ; //定時(shí)器2開(kāi)始

            }

            OK!這樣就實(shí)現(xiàn)用單片機(jī)+11.0592的晶振,產(chǎn)生115200的波特率了,當(dāng)然老鳥(niǎo)看來(lái)很基本,但好長(zhǎng)時(shí)間不用了,再?gòu)?fù)習(xí)一下~~



          關(guān)鍵詞: 晶振 51

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉