单片机C语言实例:6、定时器的应用

本文详细介绍了STC89C51RC单片机中定时器/计数器的原理、工作模式及应用,包括定时器0和定时器1在模式1下的操作,并给出了多个LED闪烁和方波产生的程序实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定时器原理

 1、什么是定时器?什么是计数器?

定时器,字面意思就是定时的。手机的闹钟就是个定时器,定个每天早上7点的闹钟。

计数器,字面意思计时统计个数的,来一个就加一个,一直累加着。

其实定时器和计数器里面的内容是一样的,区别在于,定时器是在数内部的时钟,计数器是数外面的脉冲。

2、STC89C51RC单片机的定时器/计数器

定时器/计数器0

定时器/计数器1

定时器/计数器2

其实传统的51单片机就只有定时器/计数器0和定时器/计数器1这两个,STC的51单片机自己加了一个定时器/计数器2。

定时器/计数器的核心内容就是一个加法计数器,对脉冲进行计数,来一个脉冲计数器就加1.

用作定时的时候,单片机是在数自己的系统时钟脉冲;

用作计数的时候,单片机是在数从外面的脉冲,这个外面的脉冲通过计数器绑定的引脚传给单片机,

T0对应的引脚是P3.4,T1对应的引脚是P3.5;

是用来定时还是用来计数,可以通过设置定时器模式寄存器TMOD的C/T位来决定。

3、定时器/计数器0的工作模式

模式0:13位定时器/计数器

模式1:16位定时器/计数器

模式2:8位自动重装模式

模式3:两个8位定时器/计数器

4、定时器/计数器1的工作模式

模式0:13位定时器/计数器

模式1:16位定时器/计数器

模式2:8位自动重装模式

5、定时器/计数器0、定时器/计数器1相关的寄存器

定时器控制寄存器TCON

TF1:定时器/计数器T1溢出标志位。当T1被允许计数后,就开始不断+1计数,计数计到最大值的时候,TF1位的值就自动变成1了,这也叫做硬件置1。如果这个时候定时器中断被允许了,那就向CPU请求中断,当CPU响应了中断之后,TF1位的值就自动变成0了。

TR1:定时器T1的运行控制位。TR1位要由软件来置位或者清零。TR1相当于计数使能信号,但是这个计数使能信号有个前提:

当TMOD计数器的第7位那个GATE =0的时候,TR1 =1,开始计数,TR1=0,禁止计数;

当TMOD计数器的第7位那个GATE =1的时候,TR1 =1,然后INT1为高电平的时候才开始计数

TF0:跟TF 1的功能是一样的,用于定时器/计数器0;

TR0:跟TR1的功能是一样的,用于定时器/计数器0;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值