找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

關(guān)于單片機定時器賦初值的問題,程序里的值和定時計算器的值為什么不一樣呢?

查看數(shù): 2752 | 評論數(shù): 6 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2022-12-17 13:58

正文摘要:

請教老師,關(guān)于定時器賦初值的問題,程序里的值和定時計算器的值為什么不一樣呢?

回復(fù)

ID:401564 發(fā)表于 2022-12-18 17:35
8051的定時器是計數(shù)器加到65536就溢出,產(chǎn)生中斷和溢出
TH0和TL0是用來存放初始值的兩個寄存器
其它的自己計算就行了,實在不明白,看STC89C52的定時器章節(jié),里面有說明
ID:891876 發(fā)表于 2022-12-18 09:35
wulin 發(fā)表于 2022-12-17 20:12
誰是對的,仿真圖為證。下面是驗證程序。

學(xué)習(xí)了,但是沒看懂
ID:213173 發(fā)表于 2022-12-18 08:32
Hephaestus 發(fā)表于 2022-12-17 16:43
三張圖,上下兩張一樣,中間不一樣,2:1判斷中間錯了。

恰恰相反,中間圖是對的。由于很少用到13位定時器,很多人對13位定時器的理解是想當(dāng)然。


ID:213173 發(fā)表于 2022-12-17 20:12
誰是對的,仿真圖為證。下面是驗證程序。


  1. #include<reg51.h>

  2. sbit LED1=P2^0;
  3. sbit LED2=P2^1;

  4. void Timer_Init(void)//5毫秒@12.000MHz
  5. {
  6.         TMOD= 0x00;                //設(shè)置定時器模式
  7.         TL0 = 0xC0;                //設(shè)置定時初始值
  8.         TH0 = 0x63;                //設(shè)置定時初始值
  9.         TL1 = 0x78;                //設(shè)置定時初始值
  10.         TH1 = 0x0c;                //設(shè)置定時初始值
  11.         TR0 = 1;                        //定時器0開始計時
  12.         TR1 = 1;                        //定時器1開始計時
  13.         ET0 = 1;
  14.         ET1 = 1;
  15.         EA = 1;
  16. }

  17. void main(void)
  18. {
  19.         Timer_Init();
  20.         while(1);
  21. }

  22. void Timer0Interrupt() interrupt 1
  23. {
  24.         TL0 = 0xC0;                //設(shè)置定時初始值
  25.         TH0 = 0x63;                //設(shè)置定時初始值
  26.         LED1=~LED1;
  27. }

  28. void Timer1Interrupt() interrupt 3
  29. {
  30.         TL1 = 0x78;                //設(shè)置定時初始值
  31.         TH1 = 0x0c;                //設(shè)置定時初始值
  32.         LED2=~LED2;
  33. }
復(fù)制代碼



評分

參與人數(shù) 1黑幣 +15 收起 理由
wpppmlah + 15 回帖助人的獎勵!

查看全部評分

ID:1034262 發(fā)表于 2022-12-17 17:22
應(yīng)該是(65536-5000)
ID:883242 發(fā)表于 2022-12-17 16:43
三張圖,上下兩張一樣,中間不一樣,2:1判斷中間錯了。

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表