1、首先定时器和计数器是由同一个模块管理的,由TMOD模式寄存器的C/T位控制选择。
2、时钟周期:单片机时序中的最小单位,计算方法是晶振时钟源分之一。
3、机器周期:单片机完成一个具体操作的最短时间。比如二极管小灯的亮一次所需要的时间就是一个机器周期。它
的值等于时钟周期*12,单位是s
4、定时器:打开定时器后,定时器“存储寄存器”的值(TH0,TL0)经过一个机器周期自动加1。
举例:
让小灯0.02s亮一次。所以需要用到定时器,计算TH0 TL0的初值。假设经过x个机器周期
x*12/1105620=0.02 再假设T0=y初始值。 如果是用模式1,y+x=65536.计算出y就是TH0和TL0的初始值。
使用定时器方法:
第一:设置特殊功能寄存器TMOD。配置好工作模式:只要用到M0和M1位。
第二:设置计数寄存器TH0和TL0的初值。
第三:设置TCON,通过TR0置1来让定时器开始计数。
第四:判断TCON的TF0位(溢出标志位)。检测定制器溢出情况。写入业务逻辑
相关文章
- div clear清除浮动产生的影响 被受影响的div加上清除浮动后 不会填充前一个div浮动后空出的位置
- Huffman Tree (哈夫曼树学习)
- C,C++网络编程学习简明指南
- mysql错误一例:ERROR 1030 (HY000): Got error 28 from storage engine
- Linux学习之在搭建java开发环境
- Perl的Expect模块学习
- (转)【学习笔记】通过netstat+rmsock查找AIX端口对应进程
- 【转】expect语言学习笔记
- 建立一套完整的Maven依赖工程步骤,包含WEB工程
- springBoot+ vue+ Element-ui实现合并多图上传(一次请求多张图片)