找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2749|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

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

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:891876 發(fā)表于 2022-12-17 13:58 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
請(qǐng)教老師,關(guān)于定時(shí)器賦初值的問題,程序里的值和定時(shí)計(jì)算器的值為什么不一樣呢?



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:883242 發(fā)表于 2022-12-17 16:43 | 只看該作者
三張圖,上下兩張一樣,中間不一樣,2:1判斷中間錯(cuò)了。
回復(fù)

使用道具 舉報(bào)

板凳
ID:1034262 發(fā)表于 2022-12-17 17:22 | 只看該作者
應(yīng)該是(65536-5000)
回復(fù)

使用道具 舉報(bào)

地板
ID:213173 發(fā)表于 2022-12-17 20:12 | 只看該作者
誰是對(duì)的,仿真圖為證。下面是驗(yàn)證程序。


  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è)置定時(shí)器模式
  7.         TL0 = 0xC0;                //設(shè)置定時(shí)初始值
  8.         TH0 = 0x63;                //設(shè)置定時(shí)初始值
  9.         TL1 = 0x78;                //設(shè)置定時(shí)初始值
  10.         TH1 = 0x0c;                //設(shè)置定時(shí)初始值
  11.         TR0 = 1;                        //定時(shí)器0開始計(jì)時(shí)
  12.         TR1 = 1;                        //定時(shí)器1開始計(jì)時(shí)
  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è)置定時(shí)初始值
  25.         TH0 = 0x63;                //設(shè)置定時(shí)初始值
  26.         LED1=~LED1;
  27. }

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



評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

5#
ID:213173 發(fā)表于 2022-12-18 08:32 | 只看該作者
Hephaestus 發(fā)表于 2022-12-17 16:43
三張圖,上下兩張一樣,中間不一樣,2:1判斷中間錯(cuò)了。

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


回復(fù)

使用道具 舉報(bào)

6#
ID:891876 發(fā)表于 2022-12-18 09:35 | 只看該作者
wulin 發(fā)表于 2022-12-17 20:12
誰是對(duì)的,仿真圖為證。下面是驗(yàn)證程序。

學(xué)習(xí)了,但是沒看懂
回復(fù)

使用道具 舉報(bào)

7#
ID:401564 發(fā)表于 2022-12-18 17:35 | 只看該作者
8051的定時(shí)器是計(jì)數(shù)器加到65536就溢出,產(chǎn)生中斷和溢出
TH0和TL0是用來存放初始值的兩個(gè)寄存器
其它的自己計(jì)算就行了,實(shí)在不明白,看STC89C52的定時(shí)器章節(jié),里面有說明
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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