定时器/计数器应用提高 ----1
来源:互联网 发布:数据分析统计工具 编辑:程序博客网 时间:2024/05/17 22:42
先来认识几个概念:
1.时钟周期。也是震荡周期,是外接时钟频率的倒数,CPU仅完成一个最基本的动作。
2.状态周期:是时钟周期的2倍。
3.机器周期:单片机的基本操作周期,在一个操作周期内,单片机完成一项基本操作。 是12个时钟周期
4.指令周期:它是指CPU执行一条指令所需要的时间,一般一个指令周期含有1-4个机器周期。
1.方式0应用
具体的设置方式就步解释了,这里详细解释下如何设置时间
由于定时器方式为0是13位计数器,最多能装载的数为2^13=8192个,当TL0和TH0的初始值为0时候,最多经过8192个机器周期该计数器就会溢出一次,向CPU申请中断。
结论:当用定时器的方式为0,设机器周期为Tcy,定时器产生一次中断的时间为t,那么需要计数的个数为N=t/tcy,装入THX和TLX中的数分别为:
THX=(8192-N)/32, TLX=(8192-N)%32
例子: TX-1C实验板上时钟频率为11.0592MHZ,那么时钟周期为12*(1/11059200)=1.0851us,
若t=5ms,那么N=5000/1.0851=4067
2.方式2应用
注意:在定时器的方式0和方式1中,当计数器溢出后,计数器会变0,因此要重新装入初值
这个方法有2个不好点:1.影响定时器精度2.必须反复设置处置
所以用2可以很好的解决这个问题
但是注意:1.只有8位计数器,当定时较长时间会带来麻烦,所以当用精确频率较高的发生器的时候,选用方式2
2.一定要是12的整数
总结,计算方法如下:
THX=256-N TLX=256-N
以计时1s为例,那么计数256,需要耗时1.0851*250=271.275us
下面再计算1S时1000000/271.275=3686
3.方式3
方式3值适用于定时器/计数器T0,当设定定时器T1处于方式3时,定时器T1不计数,
方式3将To分成2个独立的8位计数器TL0和TH0。
其中TL0为正常8为计数器,计数溢出后置位TF0,并向CPU申请中断,之后再重装初值。
TH0将会占有定时器T1的中断请求标志TF1和定时器TR1
- 定时器/计数器应用提高 ----1
- 定时器计数器的应用提高
- 计数器定时器的应用
- 定时器/计数器应用
- 定时器/计数器的提高实验报告
- 定时器/计数器
- 定时器/计数器
- 8052计数器(定时器0和计数器1)
- 51单片机定时器/计数器(1)
- (单片机原理与应用)定时器/计数器设计实验
- 计数器与定时器
- 单片机 计数器与定时器
- 定时器计数器初值求解
- 定时器/计数器设计实验
- 单片机_定时器/计数器
- 51单片机-定时器/计数器
- AM335X定时器计数器
- 定时器/计数器实验报告
- Tomcat启动时一闪而过,看不到错误信息
- 个人免费空间
- Vector和List 有关线程安全和线程同步的理解
- Combination SumII
- Hadoop常见错误问题及解决方法(1)
- 定时器/计数器应用提高 ----1
- Linux GCC常用命令
- openstack dhcp调试
- IOS交互式动画
- 优秀品质对于富军等营销团队的重要性
- 读取BMP文件中关于位图属性的信息,将一个数值矩阵封装为一个BMP格式的文件
- TOJ 4603 Interesting Calculator -- SPFA
- Android设备内存和SD卡操作工具类
- 小试ImageMagik——开发篇