51单片机学习笔记——定时器

本文详细介绍了51单片机的两个16位定时器T0和T1,探讨了它们在定时、计数和PWM等应用中的作用,以及STC89C52的定时器工作模式、系统时钟、中断系统和使用步骤。同时提到了中断资源和相关寄存器的管理。

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

定时器介绍

51单片机有2个16位定时器/计数器:定时器0(T0为P3.4)和定时器1(T1为P3.5)

这里所说的16位是指定时/计数器内部分别有16位的计数寄存器。

当工作在定时模式时,每经过一个机器周期(12个时钟周期)内部的16位计数寄存器的值就会加1,当这个寄存器装满时溢出。
我们可以算出工作在定时模式时最高单次定时时间为65535*1.085us=时间(单位us)

当工作在计数器模式时,T0(P3.4引脚),T1(P3.5引脚)每来一个脉冲计数寄存器加1

定时器作用:定时计数器可以用于精确事件定时,PWM脉宽调制,波形发生,信号时序测量的方面。

定时器介绍:51单片机的定时器属于单片机的内部资源,其电路的连接和运转均在单片机内部完成
定时器作用:
(1)用于计时系统,可实现软件计时,或者使程序每隔一固定时间完成一项操作
(2)替代长时间的Delay,提高CPU的运行效率和处理速度
(…)

STC89C52定时器资源

定时器个数:2个(T0、T1),T0和T1与传统的51单片机兼容
注意:定时器的资源和单片机的型号是关联在一起的,不同的型号可能会有不同的定时器个数和操作方式,但一般来说,T0和T1的操作方式是所有51单片机所共有的

定时器框图

定时器在单片机内部就像一个小闹钟一样,根据时钟的输出信号,每隔“一秒”,计数单元的数值就增加一,当计数单元数值增加到“设定的闹钟提醒时间”时,计数单元就会向中断系统发出中断申请,产生“响铃提醒”,使程序跳转到中断服务函数中执行

在这里插入图片描述

定时器工作模式

STC89C52的T0和T1均有四种工作模式:
模式0:13位定时器/计数器
模式1:16位定时器/计数器(常用)
模式2:8位自动重装模式
模式3:两个8位计数器
工作模式1框图:
在这里插入图片描述

定时器时钟

在这里插入图片描述
SYSclk:系统时钟,即晶振周期,本开发板上的晶振为11.0592MHz

中断系统

在这里插入图片描述

中断程序流程

在这里插入图片描述

STC89C52中断资源

中断源个数:5个(外部中断0、定时器0中断、外部中断1、定时器1中断、串口中断)
中断优先级个数:4个
中断号:
在这里插入图片描述
注意:中断的资源和单片机的型号是关联在一起的,不同的型号可能会有不同的中断资源,例如中断源个数不同、中断优先级个数不同等等

定时器和中断系统

在这里插入图片描述

使用51定时/计数器步骤

1、启动定时/计数器(通过TCON控制器)

2、设置定时/计数器工作模式(通过TMOD控制器)

3、查询定时/计数器是否溢出(读TCON内TF位)

定时器相关寄存器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

中断相关寄存器

在这里插入图片描述

本节使用的按键原理图

在这里插入图片描述

本节程序(独立按键控制LED灯模式)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值