任务二 制作1位倒计时器(1)(课件)-《单片机技术及应用》(高教版第四版) 同步精品课堂
2025-08-20
|
25页
|
70人阅读
|
0人下载
精品
内容正文:
任务二 制作1位倒计时器(1)
单片机技术及应用
同步精品课堂
高等教育出版社第 4 版
1
理解定时器和定时器中断的基本概念
掌握定时器 / 计数器的结构、控制和工作方式
能够在 1 位 LED 数码管上实现每秒倒计时,显示数字 “9~0” 循环往复
定时器 / 计数器的工作原理和结构
TMOD 和 TCON 寄存器的设置方法
理解定时器 / 计数器不同工作方式的特点和应用场景
准确计算定时器初值以实现所需的定时时间
在很多电子设备中,倒计时功能非常实用,比如厨房的定时器、交通信号灯的倒计时等。
今天我们就来学习如何利用单片机的定时器功能,在 1 位 LED 数码管上实现每秒倒计时,显示数字 “9~0” 循环往复。
任务二 制作1位倒计时器 - 知识准备
日常生活和生产实际中,经常会用到计数和定时功能,如对生产线上的产品进行计数、电机测速,或者对外部设备进行定时控制,如控制热水器延时启动、微波炉控制加热时间等,都需要用到单片机的定时和计数功能。
定时器和定时器中断概述
任务二 制作1位倒计时器 - 知识准备
单片机内部有 T0 和 T1 两个计数器,分别由两个 8 位寄存器构成:
T0 由 TH0 和 TL0 两个 8 位特殊功能寄存器构成;
T1 由 TH1 和 TL1 构成,T0 和 T1 都是 16 位的计数器,其计数范围为 0~65535,
认识定时器 / 计数器 - 计数
51 单片机的计数器采用的加 1 计数,当计满 65536 个数后,会产生计数溢出中断,通知单片机完成相应的工作。
任务二 制作1位倒计时器 - 知识准备
AT89S51 单片机内部计数器经常被用作定时器来使用。
单片机内部有一个时钟振荡器,它可以产生时钟脉冲信号,假设其频率为 12 MHz,经过 12 分频以后,就可以得到频率为 1 MHz 的信号,即每个脉冲的周期为 1μs,计数器对此脉冲进行计数,当计满 65536 个脉冲时,共需要 65536μs = 65.536ms,也就是说其最长定时时间为 65.536ms,通过设定初值,就可以得到某一定时时间。
认识定时器 / 计数器 - 定时
任务二 制作1位倒计时器 - 知识准备
定时器 / 计数器 T0 由特殊功能寄存器 TH0、TL0 构成,
定时器 / 计数器 T1 由特殊功能寄存器 TH1、TL1 构成,
两个 8 位计数器构成 1 个 16 位计数器,两者均为加 1 计数器。
定时器 / 计数器的结构
任务二 制作1位倒计时器 - 知识准备
TMOD用于控制TO和T1的工作方式,低4位用于控制TO,高4位用于控制T1,8位格式如图所示,TMOD特殊功能寄存器的地址为89H。
TMOD(定时/计数器方式控制寄存器)
TMOD 各位的控制功能说明如下:
(1)C/ :定时/计数器模式控制选择位。C/ =0时为定时器工作方式,C/ =1时为计数器工作方式,计数器对外部输入引脚P3.4或P3.5的外部脉冲负跳变(也称负跳沿)进行计数。
任务二 制作1位倒计时器 - 知识准备
M1 M0 工作方式 功能
0 0 方式 0 13 位计数器
0 1 方式 1 16 位计数器
1 0 方式 2 自动重装初值的 8 位计数器
1 1 方式 3 T0: 分为两个 8 位独立计数器;T1: 停止计数
TMOD 各位的控制功能说明如下:
(2)M0、M1:工作方式控制位。
M0、M1共有4种工作方式,其对应关系如表所示。
(3)GATE:门控位。GATE=O时,仅由控制寄存器TCON的运行控制位TRO或TR1为“1”来启动定时器/计数器的运行;GATE=1时,由控制寄存器TCON的运行控制位TR0或TR1为“1”,和外中断引脚P3.2、P3.3上的高电平共同来启动定时器/计数器。
任务二 制作1位倒计时器 - 知识准备
TCON是一个8位特殊功能寄存器,其地址为88H,TCON的主要功能是接收各种中断送来的中断请求信号,同时也对定时/计数器进行启动和停止控制。
TCON(定时/计数器控制寄存器)
任务二 制作1位倒计时器 - 知识准备
(1)TRO和TR1:分别是定时/计数器TO和T1的启动控制位。编程时将该位设置为“1”,表示启动该定时/计数器工作,若设置为“0”表示停止该定时/计数器工作。
TCON(定时/计数器控制寄存器)
任务二 制作1位倒计时器 - 知识准备
(2)TFO和TF1:分别是定时/计数器TO和T1溢出标志位。当定时/计数器产生溢出时,会将此位置为“1”,表示该定时/计数器有中断请求。
TCON(定时/计数器控制寄存器)
任务二 制作1位倒计时器 - 知识准备
定时器/计数器TO和T1 是在TMOD和TCON的联合控制下进行定时或计数工作的,其输入时钟和控制逻辑可如下图表示。
定时器 / 计数器的工作方式 - 输入时钟和控制逻辑
任务二 制作1位倒计时器 - 知识准备
当 M1、M0 为 00 时,定时器 / 计数器处于方式 0 工作状态,结构框图如图所示。
定时器 / 计数器的工作方式 - 工作方式 0
方式0--13位计数器
任务二 制作1位倒计时器 - 知识准备
在方式 0 工作状态下,定时器 / 计数器被设置为一个 13 位的计数器,这 13 位由 TH0 的高 8 位和 TL0 中的低 5 位组成,其中 TL0 中的高 3 位不用。TL0 低 5 位溢出则向 TH0 进位,TH0 计数溢出则置位 TCON 中的溢出标志位 TF0 或 TF1。
定时器 / 计数器的工作方式 - 工作方式 0
C/ 位控制的电子开关决定了定时器 / 计数器的工作模式。
a. 当 C/T = 0 时,T0 选择为定时器模式,对 CPU 内部机器周期加 1 计数,其定时时间为 (8192 - T0 初值)× 机器周期。
b. 当 C/T = 1 时,T0 选择为计数器模式,对 T0(P3.4)脚输入的外部电平信号由 1 到 0 的负跳变进行加 1 计数。
任务二 制作1位倒计时器 - 知识准备
定时器 / 计数器的工作方式 - 工作方式 0
a. 当 GATE = 0 时,或门的另一输入信号 INT0 将不起作用,仅用 TR0 来控制 T0 的启动与停止。
b. 当 GATE = 1 时,INT0 和 TR0 同时控制 T0 的启 / 停。只有当两者都为 1 时,定时器 T0 才能启动计数。
GATE 位的状态决定了定时器 / 计数器运行控制取决于 TR0 一个条件还是 TR0、INT0 引脚这两个条件。
任务二 制作1位倒计时器 - 知识准备
应用经验
TL0 = (8192 - t) MOD 32
TH0 = (8192 - t) / 32
在方式 0 下,若石英晶体频率为 12 MHz,则一个机器周期为 12÷12 MHz = 1μs,其最长定时时间为 2¹³ μs = 8192μs,若要取得 t (μs) 的定时,需要对 TH0 和 TL0 做如下设置:
C51编程如下:
TL0 = - t % 32
TH0 = - t / 32
任务二 制作1位倒计时器 - 拓展内容
介绍定时器 / 计数器的方式 1、方式 2 和方式 3 的特点和应用场景,思考如何用其他方式实现 1 位倒计时器。
定时器其他工作方式
倒计时音效
在倒计时过程中,添加音效提示,如每秒发出 “滴” 的声音,当倒计时到 0 时,发出长音提示。
随堂检测1
单片机内部有几个计数器,分别由哪些寄存器构成?
答案:单片机内部有 T0 和 T1 两个计数器,T0 由 TH0 和 TL0 两个 8 位特殊功能寄存器构成,T1 由 TH1 和 TL1 构成。
TMOD 寄存器中,M1、M0 为 01 时,定时器 / 计数器处于什么工作方式?
答案:处于方式 1,为 16 位计数器。
随堂检测2
在定时器 / 计数器方式 0 下,若要定时 2000μs,石英晶体频率为 12 MHz,
TH0 和 TL0 应如何设置?
答案:TL0 = (8192 - 2000) MOD 32,TH0 = (8192 - 2000) / 32。
在 1 位倒计时器的编程中,定时器中断服务函数的作用是什么?
答案:每秒将显示的数字减 1,当数字减到 0 后,重新显示 “9”,并更新数码管显示。
随堂检测3
阐述定时器 / 计数器在单片机中的应用场景。
答案:
① 计数功能:可对生产线上的产品进行计数,通过对外部输入引脚 P3.4 或 P3.5 的外部脉冲负跳变进行计数,统计产品的数量。
② 定时功能:可用于对外部设备进行定时控制,如控制热水器延时启动. 微波炉控制加热时间等。通过设置定时器 / 计数器的初值和工作方式,使其在规定的时间产生中断,通知单片机完成相应的任务。
③ 电机测速:利用计数器对电机产生的脉冲信号进行计数,结合定时器确定时间间隔,从而计算出电机的转速。
1
分组讨论,讨论如何将 1 位倒计时器扩展为多位倒计时器。分析在定时器中断服务函数中,除了更新显示数字,还可以添加哪些功能。
1. 认识定时器 / 计数器
任务二 制作1位倒计时器(1)
2. 定时器 / 计数器的控制
TMOD
TCON
中断概述
计数
定时
结构
3.定时器 / 计数器的工作方式 0
工作方式 0概述
方式 0 的 C51 编程示例
感谢观看
25
$$
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。