定时器的应用涉及到中断方面的知识,可以先了解中断的概念再来看定时器
如,一个16位的定时器,它所能计数的范围是0~65535,如果单片机采用的是12m的晶振,那么定时器单次最长的时间为65535((1/12)12),因为一个一个机器周期等于12个振荡周期,那么定时器加一所用的时间是1/12m*12是1us,也就是一个12mhz晶振的51单片机单次最长时间约为65ms.
定时器的控制
89c51的定时器由两个寄存器控制,分别是工作模式寄存器tmod和控制寄存器tcon
工作模式寄存器tmod是用于控制定时器0/1的工作模式,通过对tmod进行赋值,则可以改变定时器的工作模式
具体各位的定义如下
当我们使用定时器功能时,就只用设置d0、d1、d4、d5的的值就可以了,其余位置0即可
我们在使用定时器时基本使用的是模式1和模式2,模式0与模式3基本不用,我就不进行描述了。
模式1
当tmod的d5位置0,d4位置1时,即为定时器t1的模式一,该模式对应的是一个16位的定时器,寄存器th1和tl1即为t1初值的高8位和低8位,定时时间为:(65536-t1的初值)振荡周期12
模式二
当tmod的d5位置1,d4位置0时,即为定时器t1的模式二,该模式对应的是一个可以自动装载的8位定时器,当定时器计数满了(计数溢出时),会自动把th1中的内容重新装载到tl1中,那么模式二计数的最长时间即为(257-t1的初值)振荡周期12
定时器的控制寄存器tcon
tcon的各位定义如下
tf1:t1的溢出标志位,当t1溢出时,由硬件自动使tf1位置1,并向cpu申请中断。当cpu响应中断进入中断服务子程序后,tf1又被硬件自动清0,也可以用软件清0.
tf0:t0溢出标志位。其功能和操作情况同tf1
tr1:t1的运行控制位,当该位置1时,即启动定时器1当该位置0时,即关闭
tr0:t0的运行控制位,其功能及操作情况同tr1。
接下来我将用定时器来结合数码管制作一个0-9计时器
具体操作如下(定时器的初始化在程序最下面)
include //引用了51单片机的官方库文件 void t0ini() ; //定时器0初始化函数声明 unsigned int temp = 0,i = 0; //中间变量 unsigned char leddata[]={ //定义一个字符型数组用来存放共阳极数码管数字显示 0xc0, //0 0xf9, //1 0xa4, //2 0xb0, //3 0x99, //4 0x92, //5 0x82, //6 0xf8, //7 0x80, //8 0x90, //9 0x88, //a 0x83, //b 0xc6, //c 0xa1, //d 0x86, //e 0x8e, //f 0x89, //h 0xc7, //l 0xc8, //n 0xc1, //u 0x8c, //p 0xa3, //o 0xbf, //- 0xff, //熄灭 0xff //自定义 }; void main() { t0ini(); while(1) { p2 = 0x0e; //位选段p20置0 p0 = leddata[i]; //数码管显示 if(tf0 == 1) //当定时器计数溢出时 { th0 = 0x3c; tl0 = 0xb0; //给定时器高8位和低8位重新赋值 temp++; //50ms加1 } if(temp == 20) //计数到20次也就是一秒 i++; //数码管显示值加一 if(i == 10) i = 0; } } void t0ini() //定时器t0初始化 { ie = 0x82; //cpu开总中断 ,定时器t0溢出中断允许 tcon = 0x10; //打开定时器t0 tmod = 0x01; //设置t0为工作模式1,16位定时计数器 th0 = 0x3c; tl0 = 0xb0; //12mhz定时50ms }
富士康郭台铭:房地产是一次性商品,唯有技术可循环利用
基于S3C2410A微控制器的嵌入式数字示波器的应用设计方案
当生物识别“不再唯一”,我们的信息如何得到保护?
AT89S51单片机与82C55接口芯片的设计
基于ADL5317和LM35的APD偏压温度补偿电路设计
单片机学习心得1:89c51单片机定时器应用!
基于边缘网关构建水污染监测治理方案
未来人工智能技术将不能代替哪些岗位?
螺丝包装机的原理是什么
朗科智能发布2019年年度报告
焊料回流焊工艺—焊料回流炉中的氧气测量
小米6将在2月14日发布,会是100%屏占比手机吗?
Realme的第一款智能手表Realme Watch于5月推出
低成本效率高达90%效率的推挽隔离电源方案MX6501案例分享
并联电路中一个电阻增大,总电阻怎么变
为对抗三星和NEC,爱立信与富士通达成战略合作
世界上最古老的数字计算机操作手册被发现,或将探索其的工作原理
电源滤波器的作用与选购指南?
科创板申报即将开始,已有多家企业加入备战科创板的队伍
eureka蒸汽清洁机SC5评测 实测效果令人信服