找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2651|回复: 6
打印 上一主题 下一主题
收起左侧

关于单片机定时器赋初值的问题,程序里的值和定时计算器的值为什么不一样呢?

[复制链接]
跳转到指定楼层
楼主
请教老师,关于定时器赋初值的问题,程序里的值和定时计算器的值为什么不一样呢?



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:883242 发表于 2022-12-17 16:43 | 只看该作者
三张图,上下两张一样,中间不一样,2:1判断中间错了。
回复

使用道具 举报

板凳
ID:1034262 发表于 2022-12-17 17:22 | 只看该作者
应该是(65536-5000)
回复

使用道具 举报

地板
ID:213173 发表于 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;                //设置定时器模式
  7.         TL0 = 0xC0;                //设置定时初始值
  8.         TH0 = 0x63;                //设置定时初始值
  9.         TL1 = 0x78;                //设置定时初始值
  10.         TH1 = 0x0c;                //设置定时初始值
  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;                //设置定时初始值
  25.         TH0 = 0x63;                //设置定时初始值
  26.         LED1=~LED1;
  27. }

  28. void Timer1Interrupt() interrupt 3
  29. {
  30.         TL1 = 0x78;                //设置定时初始值
  31.         TH1 = 0x0c;                //设置定时初始值
  32.         LED2=~LED2;
  33. }
复制代码



评分

参与人数 1黑币 +15 收起 理由
wpppmlah + 15 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

5#
ID:213173 发表于 2022-12-18 08:32 | 只看该作者
Hephaestus 发表于 2022-12-17 16:43
三张图,上下两张一样,中间不一样,2:1判断中间错了。

恰恰相反,中间图是对的。由于很少用到13位定时器,很多人对13位定时器的理解是想当然。


回复

使用道具 举报

6#
ID:891876 发表于 2022-12-18 09:35 | 只看该作者
wulin 发表于 2022-12-17 20:12
谁是对的,仿真图为证。下面是验证程序。

学习了,但是没看懂
回复

使用道具 举报

7#
ID:401564 发表于 2022-12-18 17:35 | 只看该作者
8051的定时器是计数器加到65536就溢出,产生中断和溢出
TH0和TL0是用来存放初始值的两个寄存器
其它的自己计算就行了,实在不明白,看STC89C52的定时器章节,里面有说明
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表