模块四 定时器实验
一、知识点
MCS-51单片机定时/计数器的4种工作模式,模式控制寄存器TMOD,控制寄存器TCON。
二、知识点分析
MCS-51单片机定时/计数器按计数器的组成不同,可分为4种工作模式。模式0:13位计数方式,相当于有5位预分频的8位计数方式;模式1:16位计数方式;模式2:计数常数可自动重装的8位计数方式;模式3:两个8位计数器与波特率发生器方式。
TMOD命令格式如下:
GATE:门控位。GATE=1时,只有信号为高电平且TRi=1时,定时/计数器才开始工作;GATE=0时,只要TRi=1,定时/计数器就开始工作,与信号无关。:计数、定时方式选择位。=1时,设定为计数方式,计数脉冲来自外部=0时,设定为定时方式,对内部振荡时钟12分频脉冲计数。
M1、M0:工作模式控制位,设定定时/计数器的4种工作模式。
TCON命令格式如下:
TFi:计数器溢出标志位,计数溢出时该位由硬件置1并申请中断,进入中断服务程序后由硬件自动清零。
TRi:计数器运行控制位,由软件置1和清零。置1时,定时/计数器开始工作;清零时停止工作。
IEi:外中断请求标志位。置1时,表示有中断请求,中断响应后自动清零。
ITi:外中断触发方式选择位。ITi=1时,为下降沿触发中断;ITi=0时,为低电平触发中断。
三、实践训练
1)实验目的
(1)学习MCS-51单片机内部定时器的使用和编程方法;
(2)掌握MCS-51单片机中断处理程序的编程方法。
2)实验设备
PC机,XZNU MCUS-I单片机实验箱1台,伟福V8/L型仿真器1台。
3)实验内容及说明
MCS-51单片机P1口的P1.0~P1.7分别接八个发光二极管L1~L8,要求编写程序模拟一时序控制装置:开机后第一秒钟L1、L3亮,第二秒钟L2、L4亮,第三秒钟L5、L7亮,第四秒钟L6、L8亮,第五秒钟L1、L3、L5、L7亮,第六秒钟L2、L4、L6、L8亮,第七秒钟八个二极管全亮,第八秒钟二极管全灭,然后又从头开始,如此周而复始。
设MCS-51单片机内部定时器1按照方式1工作,每50ms溢出中断一次,实验中系统晶振为12MHz,定时时间常数Tc满足方程(216-Tc)×1=50000,解得Tc=15536,化为十六进制为3CB0H,故初始值TH1=3CH,TL1=0B0H。CPU响应中断后将中断次数计数器R0减1,令(R0)=14H,即可实现1s延时。
中断服务程序除了要完成计数器减1工作外,还要将时间常数重新送入定时器,为下一次中断做准备;主程序则用来控制发光二极管按要求顺序亮灭。
4)实验电路及连线
定时器实验电路原理图如图3.7所示。使用专用连接导线,将接插件J41、J42、J43与J1的插孔按照顺序连接。
图3.7 定时器实验电路原理图
5)程序设计
(1)流程图
定时器实验主程序流程图如图3.8所示。
图3.8 定时器实验主程序流程图
(2)参考程序
6)思考题
(1)单片机内部定时/计数器工作在不同模式时的最大定时时间分别是多少?
(2)总结单片机内部定时/计数器工作在不同模式时的编程技巧。
(3)总结实验过程中所遇到的问题与解决的办法。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。