找回密码
 立即注册

QQ登录

只需一步,快速开始

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

关于单片机定时器方式2的赋值问题

  [复制链接]
跳转到指定楼层
楼主
ID:420829 发表于 2018-11-7 23:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大哥,       TMOD=0x22;  //T1=T0=定时方式2自动重装
        TH1=0;     //脉宽宽度

        TL1=80;



这里定时器方式2
定时时间不是 TH1=256-N
                      TL1=256-N 吗
为什么调节定时时间不是 两个同时调节而是 只调节TH1?
当TH1和TL1的值不同时 怎么计算定时时间?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:213173 发表于 2018-11-8 07:02 | 只看该作者
此模式下定时器 / 计数器 1 作为可自动重装载的 8 位计数器,TL1 的溢出不仅置位 TF1 ,而且将 TH1 内容重新装入 TL1 , TH1 内容由软件预置,重装时 TH1 内容不变。
回复

使用道具 举报

板凳
ID:164602 发表于 2018-11-8 08:01 | 只看该作者
你没有理解错啊,就是那样的。只不过不知道你说的程序是哪来的,是写错了,还是另的什么。
回复

使用道具 举报

地板
ID:149144 发表于 2018-11-8 08:55 | 只看该作者
这个要看你的芯片是什么型号的,有些芯片是 8 位自动重载,而有些是 16 位重载,芯片型号看一下吧,如果 8位重载可能是程序错了,
回复

使用道具 举报

5#
ID:94031 发表于 2018-11-8 09:02 | 只看该作者
TL1是实际执行值,TH1是预装值,可以理解为先执行TL1,执行完后把TH1放入TL1继续执行。
回复

使用道具 举报

6#
ID:156302 发表于 2018-11-8 09:31 | 只看该作者
0x22是定时器0和定时器1都是8位自动重装,定时/计数只用低8位TL1。初始值存储在TH1中。这种模式不需要反复的往TH1和TL1里写值,只需要初始化的时候写一次即可,溢出之后,自动将TH0里面的值存入TL0里。

在你的例子里,TL1设置为80,TH1是0,第一次计数次数为:0xFF - 0x80,
当第一次TL1溢出后,会自动把TH的值0设置为TL1的值,也就是以后计数都是 0xFF 了。
回复

使用道具 举报

7#
ID:422776 发表于 2018-11-8 09:42 | 只看该作者
TH1是预装值,单片机启动后,TH1的值就被装到TL1中,TL1从0----溢出后,
再次将TH1的值就被装到TL1中,TL1从0----溢出后,
再次将TH1的值就被装到TL1中,TL1从0----溢出后.......
如此反复
回复

使用道具 举报

8#
ID:422776 发表于 2018-11-8 09:48 | 只看该作者
单片机启动后把TH1值放入TL1,等到TL1溢出后,
再把TH1值放入TL1,等到TL1溢出后......
如此反复
回复

使用道具 举报

9#
ID:422872 发表于 2018-11-8 11:42 | 只看该作者
TH1和TL1分别表示定时器1的高八位和低八位,不同的时候是用在16位定时器的时候或者13位
回复

使用道具 举报

10#
ID:422888 发表于 2018-11-8 12:19 | 只看该作者
只要设TH1就可以了。从第二次开始自动把TH1放入TL1
回复

使用道具 举报

11#
ID:422893 发表于 2018-11-8 12:25 | 只看该作者
你没有理解错。可能是程序写错了
回复

使用道具 举报

12#
ID:123289 发表于 2018-11-8 13:04 | 只看该作者
学会看手册就没有这么简单的问题了。
回复

使用道具 举报

13#
ID:408573 发表于 2018-11-8 13:20 | 只看该作者
我也感觉你没有理解错。只不过不知道你说的程序是哪来的,是写错了还是什么。
回复

使用道具 举报

14#
ID:422970 发表于 2018-11-8 14:08 | 只看该作者
单片机启动后把TH1值放入TL1,溢出后,TH1的值在存入TL1
回复

使用道具 举报

15#
ID:281036 发表于 2018-11-8 15:25 | 只看该作者
只调节TH1?一个是调节高位一个是低位,合起来就是一个数字
回复

使用道具 举报

16#
ID:281036 发表于 2018-11-8 15:26 | 只看该作者
TH1和TL1分别表示定时器1的高八位和低八位,不同的时候是用在16位定时器的时候或者13位,代表一个数
回复

使用道具 举报

17#
ID:420829 发表于 2018-11-9 23:53 | 只看该作者
duyi324 发表于 2018-11-8 09:31
0x22是定时器0和定时器1都是8位自动重装,定时/计数只用低8位TL1。初始值存储在TH1中。这种模式不需要反复 ...

懂了 ,谢谢你
回复

使用道具 举报

18#
ID:420829 发表于 2018-11-9 23:54 | 只看该作者
yzwzfyz 发表于 2018-11-8 13:04
学会看手册就没有这么简单的问题了。

就是手册上说定时时间TH1和TL1的值一样,然后就不懂了 ,还是要细看才行
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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