51单片机定时器应用(C程序)_codestorm_新浪博客

本文介绍了51单片机的定时器/计数器的结构、工作方式、控制和状态寄存器,以及如何进行设置。通过举例展示了如何在不同工作模式下设置定时器,例如在方式0下产生2ms方波的计算和设置。此外,还提到了定时器2的特性及其应用,包括捕捉方式、自动重装方式和串行口通信中的数据传输率设置。
摘要由CSDN通过智能技术生成

用Keil C51开发定时器/计数器
基本的51单片机内部有两个16位可编程的定时器/计数器T0和T1。它们各自具有4种工作状态,其控制字和状态均在相应的特殊功能寄存器中,可以通过软件对控制寄存器编程设置,使其工作在不同的定时状态或计数状态。
现在,许多厂家生产的8051兼容单片机上,还加入了定时器/计数器2,使单片机的应用更为灵活,适应性更强。
很多8051单片机的书籍都对定时器/计数器有详细的介绍,我们在此不再详细地讨论。但因为编写或或阅读程序时经常要查阅定时器/计数器的设置情况,因此我们仅对一些编程时经常要用到的较重要的寄存器和设置方式进行简要简介。
1 定时器/计数器简介
8051单片机的定时器/计数器基本结构如图1-1所示,定时器T0由两个8位计数器TH0和TL0构成,定时器T1也由两个8位计数器TH1和TL1构成,TMOD寄存器控制定时器的工作方式,TCON寄存器控制定时器的启动和停止以及定时器的状态。



51单片机定时器应用(C程序)

 

图1-1 定时器/计数器结构

在作定时器使用时,输入的时钟脉冲是由晶体振荡器的输出经12分频后得到的。实际上,定时器就是单片机机器周期的计数器。因为每个机器周期包含晶体振荡器的12个振荡周期,而每一个机器周期定时器加1,故其频率为晶振频率的1/12。如果晶振频率为12MHz,则定时器每接收一个输入脉冲的时间为1μs。
选择计数器工作方式时,计数脉冲来自相应的外部输入引脚T0(P3.4)或T1(P3.5)。在这种情况下,当检测到输入引脚上的电平由高跳变到低时,计数器就加1。
2 控制和状态寄存器
(1)定时器控制寄存器(TCON)
TCON为定时器/计数器的控制寄存器,同时也锁存外部中断请求标志,各位定义如下。
? TF1:定时器/计数器1中断请求标志位。当定时器计数满溢出回零时,由硬件置位,并可申请中断。当CPU响应中断并进入中断服务程序后,TF1自动清零。
? TR1:定时器/计数器1运行控制位,靠软件置位或清除。置位时,定时器/计数器1接通工作,清除时停止工作。
? TF0:定时器/计数器0中断请求标志位,其功能和操作情况类同于TF1。
? TR0:定时器/计数器0运行控制位,其功能和操作情况类同于TR1。
? IEl:外部中断1的中断申请标志,检测到在INT引脚上出现的外部中断信号的下降沿时,由硬件置位,申请中断。进入中断服务程序后被硬件自动清除。
? IT1:外部中
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值