定时器学习一
来源:互联网 发布:武侠巨人网络 编辑:程序博客网 时间:2024/06/03 11:23
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位(溢出标志位)。检测定制器溢出情况。写入业务逻辑
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位(溢出标志位)。检测定制器溢出情况。写入业务逻辑
0 0
- 定时器学习一
- spring学习系列 -- 定时器一TimerTask
- spring学习系列 -- 定时器一TimerTask
- swoole学习笔记(一)简单定时器
- Quartz定时器快速入门学习(一)
- 定时器学习
- 学习定时器
- 定时器学习
- STM32学习笔记(一)时钟和定时器
- STM8L学习笔记一 TIM2定时器设定系统工作计时
- 单片机的定时器中断的学习(一)
- STM32定时器学习---基本定时器
- linux 定时器使用一
- 定时器 timer_list (一)
- linux 定时器( 一)
- android 定时器实现一
- 传统定时器(一)
- 一、STM32F4_SYSTICK定时器
- 用JavaScript创建Map
- Android手机修改hosts文件
- 追MM与23种设计模式
- 使用jQuery+flot插件在网页中动态显示服务器CPU运行状态
- Fastdfs与nginx进行压缩图片比率随记
- 定时器学习一
- 堆、栈增长方向和大端、小端问题
- (记录)练习的记录
- struts2拦截器
- Linux epoll
- VC6.0 error LNK2001: unresolved external symbol _main解决办法
- SSL单向/双向认证详解(其实是握手过程的详解)
- Proxy 设计模式
- 巴什博奕