找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7086|回復: 9
收起左側

定時器2如何改變波特率?

  [復制鏈接]
ID:109715 發(fā)表于 2016-6-5 16:56 | 顯示全部樓層 |閱讀模式
有一個例程,是9600波特率的,代碼如下
  1. void UART_Init(void)
  2. {

  3.         SCON = 0x50;                //8位數據,可變波特率
  4.         AUXR |= 0x01;                //串口1選擇定時器2作為波特發(fā)生率
  5.         AUXR |= 0x04;                //定時器2時鐘作為Fosc,即1T
  6.         T2L = 0x8F;                //設置定時器初值
  7.         T2H = 0xFD;                //設置定時器初值
  8.         AUXR |= 0x10;                //啟動定時器2
  9.        
  10. }
復制代碼

我找到的單片機的書,定時器1是SCON,PCON這些,比如PCON=0x00改成PCON=0x80. 定時器2就是T2MOD,
沒看到有AXUR,請問上邊的初始化程序中,怎么將波特率翻倍?



回復

使用道具 舉報

ID:97438 發(fā)表于 2016-6-5 21:52 | 顯示全部樓層
書上的單片機沒有定時器2吧。。。一般書上說的都是89c51,只有定時器0和定時器1的~~~這個定時器2看你用的什么單片機
回復

使用道具 舉報

ID:109715 發(fā)表于 2016-6-5 22:52 | 顯示全部樓層
luoluoluo136 發(fā)表于 2016-6-5 21:52
書上的單片機沒有定時器2吧。。。一般書上說的都是89c51,只有定時器0和定時器1的~~~這個定時器2看你用的什 ...

恩,好像定時器1比較常用
回復

使用道具 舉報

ID:125374 發(fā)表于 2016-6-6 09:19 | 顯示全部樓層
void UART_Init(void)
{

        SCON = 0x50;                //8位數據,可變波特率
        AUXR |= 0x01;                //串口1選擇定時器2作為波特發(fā)生率
        AUXR |= 0x04;                //定時器2時鐘作為Fosc,即1T
        T2L = 0x8F;                //設置定時器初值
        T2H = 0xFD;                //設置定時器初值
        AUXR |= 0x10;                //啟動定時器2
       
}
回復

使用道具 舉報

ID:125378 發(fā)表于 2016-6-6 09:52 | 顯示全部樓層
通過設置定時器的初值就可以改變波特率
回復

使用道具 舉報

ID:110895 發(fā)表于 2016-6-19 18:27 | 顯示全部樓層

寫的不錯的。
回復

使用道具 舉報

ID:218025 發(fā)表于 2018-7-29 09:56 | 顯示全部樓層
luoluoluo136 發(fā)表于 2016-6-5 21:52
書上的單片機沒有定時器2吧。。。一般書上說的都是89c51,只有定時器0和定時器1的~~~這個定時器2看你用的什 ...

52單片機就有T2,功能很強
回復

使用道具 舉報

ID:213173 發(fā)表于 2018-7-29 20:58 | 顯示全部樓層
無標題.jpg

評分

參與人數 1黑幣 +10 收起 理由
yousunny + 10 贊一個!

查看全部評分

回復

使用道具 舉報

ID:380874 發(fā)表于 2018-7-30 14:56 | 顯示全部樓層

通過設置定時器的初值就可以改變波特率
回復

使用道具 舉報

ID:366710 發(fā)表于 2018-7-30 18:07 | 顯示全部樓層
寫PCON=0x80就行了
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表