定时器学习一
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位(溢出标志位)。检测定制器溢出情况。写入业务逻辑