欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機定時器程序 TL1=TH1初值等于重載值 語句理解

[復制鏈接]
ID:1079270 發表于 2023-6-12 10:14 | 顯示全部樓層 |閱讀模式
void ConfigUART(unsigned int baud)
{
SCON = 0x50; //配置串口為模式 1
TMOD &= 0x0F; //清零 T1 的控制位
TMOD |= 0x20; //配置 T1 為模式 2
TH1 = 256 - (11059200/12/32)/baud; //計算 T1 重載值
TL1 = TH1; //初值等于重載值
ET1 = 0; //禁止 T1 中斷
ES = 1; //使能串口中斷
TR1 = 1; //啟動 T1
}

TL1 = TH1; //初值等于重載值?有誰知道這個怎么理解嗎

回復

使用道具 舉報

ID:1034262 發表于 2023-6-12 10:49 | 顯示全部樓層
這是8位自動的初始化,TH1放的就是重裝值,每次自動重裝都是自動從TH1拷貝到TL1,所以初始化時拷貝一次,其實你寫TL1=0也沒關系,就是第一次溢出時間長一點而已。
回復

使用道具 舉報

ID:235200 發表于 2023-6-12 13:23 | 顯示全部樓層
定時計數器方式2為8位自動重裝模式,即當TL1計數滿后產生溢出中斷,然后把TH1中的值自動賦值給TL1,所以只需一次給TH1和TL1一個初始值就行,上述程序是先把TH1計算出來,在啟動定時計數器計數前要先給TL1一個初始值(此時未實現自動重裝),于是就有了TL1=TH1
回復

使用道具 舉報

ID:116103 發表于 2023-6-12 22:32 | 顯示全部樓層
51定時器就是對機器周期定時,有方式1,2之分,如果定時器初值是0,每來個機器周期定時器加1,直到FF,方式是是16位的,TH0(1),TL0(1),如果想計一個數,就是設置定時器初值是65535,而定時器溢出后又從0計,所以要賦初值65535,而方式2不用,是8位的TL0計數,溢出后把TH0數裝入TL0,不用程序里再設置初值
回復

使用道具 舉報

ID:155507 發表于 2023-6-12 11:26 | 顯示全部樓層
因為你配置定時器 T1 為模式 2,這個是8位定時器。
        TL1                         //設置定時初始值
        TH1                         //設置定時重載值

回復

使用道具 舉報

ID:180919 發表于 2023-6-12 12:05 | 顯示全部樓層
TH1 = 256 - (11059200/12/32)/baud; //計算 T1 重載值
TL1 = TH1; //初值等于重載值
TL1和TH1值一樣,同等于
TL1 = 256 - (11059200/12/32)/baud;
回復

使用道具 舉報

ID:1083552 發表于 2023-6-12 13:25 | 顯示全部樓層
應該不是,TL表示數的低位,TH表示數的高位。所以說數是分兩端存儲的。
回復

使用道具 舉報

ID:149799 發表于 2023-6-12 21:05 | 顯示全部樓層
看手冊也是一頭霧水,哪位師傅能詳細的講解一下定時/計數器,萬分感謝。
回復

使用道具 舉報

ID:1083771 發表于 2023-6-13 12:05 | 顯示全部樓層
定時計數器方式2為8位自動重裝模式,就是當TL1計數滿后產生溢出中斷,將TH1中的值自動賦值給TL1,所以只需一次給TH1和TL1一個初始值就行,上述程序是先把TH1計算出來,在啟動定時計數器計數前要先給TL1一個初始值(此時未實現自動重裝),于是就有了TL1=TH1
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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