OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6180|回复: 12

定时器初值的计算

[复制链接]

54

主题

105

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
341
金钱
341
注册时间
2014-10-30
在线时间
0 小时
发表于 2015-5-4 13:53:26 | 显示全部楼层 |阅读模式
5金钱
装置初值时,N为想要计数的次数
定时器方式1:TH=(8192-N)/32   TL=(8192-N)%32   
定时器方式2:TH=(663516-N)/256   TL=(65536-N)%256  
问:32和256代表什么?为什么要/和取余?

最佳答案

查看完整内容[请看2#楼]

我晕,有这么麻烦吗?简单的理解一点,给你举个例子,假设用的是51单片机,晶振12MHZ,16位的定时器0配置为1MS溢出一次,配置如下 TMOD &= 0XF0;TMOD |= 0X01;TH0 = (65536 - 1000) / 256;TL0 = (65536 - 1000) %256;溢出1000次也就是1000US不就是1MS吗?/256换个形式TH0 = (65536 - 1000)  > ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
119
金钱
119
注册时间
2015-1-15
在线时间
11 小时
发表于 2015-5-4 13:53:27 | 显示全部楼层
我晕,有这么麻烦吗?简单的理解一点,给你举个例子,假设用的是51单片机,晶振12MHZ,16位的定时器0配置为1MS溢出一次,配置如下
TMOD &= 0XF0;TMOD |= 0X01;TH0 = (65536 - 1000) / 256;TL0 = (65536 - 1000) %256;溢出1000次也就是1000US不就是1MS吗?/256换个形式TH0 = (65536 - 1000)  >> 8;//高八位TL0 = (65536 - 1000);//低八位 ,你明白了吗?
http://shop118132896.taobao.com/index.htm?spm=2013.1.w5002-10547694187.2.UDhjf5&v=1我的淘宝小店,欢迎光临
回复

使用道具 举报

58

主题

6291

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11406
金钱
11406
注册时间
2014-4-1
在线时间
1282 小时
发表于 2015-5-4 17:02:49 | 显示全部楼层
一个16位的十六进制数,要把高8位、低8位分出来,该怎么做?

如果是13位呢、12位呢?
回复

使用道具 举报

54

主题

105

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
341
金钱
341
注册时间
2014-10-30
在线时间
0 小时
 楼主| 发表于 2015-5-4 20:08:06 | 显示全部楼层
回复【2楼】xuande:
---------------------------------
定时器方式0是13位的,TH=(8192-N)/32   TL=(8192-N)%32  
8位的定时器:TH=256-N,TL=256-N。N是自己给的,比如说给250.则TH=6,TL=6.  因为N=t/Tcy,机器周期Tcy=12*(1/12)=1us【晶振为12M】,则计数250时,定时时间为t=Tcy*N=250us。所以,赋初值TH=6,TL=6,代表着想要定时250us.

但是,32和256代表什么?
回复

使用道具 举报

58

主题

6291

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11406
金钱
11406
注册时间
2014-4-1
在线时间
1282 小时
发表于 2015-5-4 20:55:31 | 显示全部楼层
回复【3楼】秋枫暮霞惋红曲:
---------------------------------

概念错了。

TH、TL共同构成一个比 8 位多的寄存器,所以才有8192,663516这些数字。
回复

使用道具 举报

54

主题

105

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
341
金钱
341
注册时间
2014-10-30
在线时间
0 小时
 楼主| 发表于 2015-5-4 21:47:51 | 显示全部楼层
回复【5楼】坏苹果:
---------------------------------
明白。但溢出1000次这里为什么 / 256和%256,256代表什么?
回复

使用道具 举报

4

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
119
金钱
119
注册时间
2015-1-15
在线时间
11 小时
发表于 2015-5-4 21:50:44 | 显示全部楼层
回复【6楼】秋枫暮霞惋红曲:
---------------------------------
说实话,对你这种刨根问底的精神很是敬佩,连我自己都觉得会用就行了,没必要去深究,不过是一种算法或者是写法而已,等待一下,我敲敲键盘,想一下
http://shop118132896.taobao.com/index.htm?spm=2013.1.w5002-10547694187.2.UDhjf5&v=1我的淘宝小店,欢迎光临
回复

使用道具 举报

4

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
119
金钱
119
注册时间
2015-1-15
在线时间
11 小时
发表于 2015-5-4 21:54:54 | 显示全部楼层
TH0 = (65536 - 1000) / 256;TL0 = (65536 - 1000) % 256;等同于TH0 = (65536 - 1000) >> 8;TL0 = (65536 - 1000);又等同于TL0 = 0x18; //设置定时初值,TH0 = 0xFC; //设置定时初值,
http://shop118132896.taobao.com/index.htm?spm=2013.1.w5002-10547694187.2.UDhjf5&v=1我的淘宝小店,欢迎光临
回复

使用道具 举报

4

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
119
金钱
119
注册时间
2015-1-15
在线时间
11 小时
发表于 2015-5-4 22:02:58 | 显示全部楼层
以定时器0为例,16位的定时器最大计数是65536,计数从0-65535,TH0是定时器0的高八位,TL0是定时器0的低八位,每一个机器周期计数值加一,存放到TL0里边,因为TL0是低八位,最大计数到255啊,然后进位,TH0加1,TL0呢,重新开始从令计数,一直记到65536,也就是TH0 到255,TL0 到255,256X256 = 65536了,十进制逢10进一,那256进制不就是逢256进一吗?
http://shop118132896.taobao.com/index.htm?spm=2013.1.w5002-10547694187.2.UDhjf5&v=1我的淘宝小店,欢迎光临
回复

使用道具 举报

54

主题

105

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
341
金钱
341
注册时间
2014-10-30
在线时间
0 小时
 楼主| 发表于 2015-5-4 22:04:23 | 显示全部楼层
回复【8楼】坏苹果:
--------------------------------
感谢你的回答。    有疑问不完全解答,总觉得自己不会。                        失去方向了,你在研究什么?你觉得研究什么比较有用?
回复

使用道具 举报

4

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
119
金钱
119
注册时间
2015-1-15
在线时间
11 小时
发表于 2015-5-4 22:12:54 | 显示全部楼层
QQ 597627977
http://shop118132896.taobao.com/index.htm?spm=2013.1.w5002-10547694187.2.UDhjf5&v=1我的淘宝小店,欢迎光临
回复

使用道具 举报

头像被屏蔽

6168

主题

7036

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
19705
金钱
19705
注册时间
2012-12-27
在线时间
25 小时
发表于 2015-5-5 23:33:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
42
金钱
42
注册时间
2015-5-31
在线时间
4 小时
发表于 2015-6-7 10:41:24 | 显示全部楼层
方式0:  13位   低5位高8位    2^5=32
方式1:    16位      低8高8      2^8=256
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 09:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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