<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

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

本文引用地址:http://dyxdggzs.com/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)始

  }

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

  當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í)鐘周期的單片機(換單片機啊。。。)

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

  就用第三種方法啦!這時(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í)現用單片機+11.0592的晶振,產(chǎn)生115200的波特率了,當然老鳥(niǎo)看來(lái)很基本,但好長(cháng)時(shí)間不用了,再復習一下~~



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

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>