中职劳动版《单片机应用技术(C语言)》课题5 任务2 方波信号发生器课件
2023-05-20
|
25页
|
117人阅读
|
2人下载
普通
资源信息
| 学段 | 中职 |
| 学科 | 职教专业课 |
| 课程 | 单片机技术与应用 |
| 教材版本 | - |
| 年级 | 高二 |
| 章节 | - |
| 类型 | 课件 |
| 知识点 | 定时器/计数器,中断初始化 |
| 使用场景 | 同步教学 |
| 学年 | 2023-2024 |
| 地区(省份) | 全国 |
| 地区(市) | - |
| 地区(区县) | - |
| 文件格式 | PPTX |
| 文件大小 | 726 KB |
| 发布时间 | 2023-05-20 |
| 更新时间 | 2023-10-27 |
| 作者 | 匿名 |
| 品牌系列 | - |
| 审核时间 | 2023-05-20 |
| 下载链接 | https://m.zxxk.com/soft/39195825.html |
| 价格 | 0.50储值(1储值=1元) |
| 来源 | 学科网 |
|---|
内容正文:
任务2 方波信号发生器
1.了解定时/计数器的工作原理。
2.掌握定时/计数器相关寄存器的设置方法。
3.掌握定时器中断的初始化过程及在不同工作方式下初始值的计算方法。
4.能够设计并制作方波信号发生器。
单片机内部含有定时器和计数器,主要用于延时、定时控制、外部计数和检测等。利用单片机定时器输出指定周期的方波,既可作为其他电路的信号源,也可直接驱动音响设备,用来制作报警器和简易电子琴等电子产品。
本任务将利用定时器中断方式产生如下图所示周期为1s的等宽连续正方波脉冲,并在P1.0口输出。单片机系统的外接晶振频率fOSC=12MHz。
一、定时/计数器简介
在51系列单片机内部有两个16位可编程的定时/计数器,简称为T0和T1。它们的核心部件都是16位加法计数器,当计数计满回零时,自动产生溢出发出中断请求,表示定时时间已到或计数已满,使用时可通过编程设置为定时或计数模式。
定时/计数器的寄存器是一个16位的寄存器,由两个8位寄存器组成,高8位为TH,低8位为TL,见下表:
定时/计数器名称 寄存器(高8位) 寄存器(低8位)
T0 TH0 TL0
T1 TH1 TL1
二、定时/计数器的控制寄存器(TCON)
TCON
(88H) 位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H
位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
✤ TR0和TR1 —— 定时器运行控制位
TR0(TR1)= 0 定时器/计数器 0(1)停止工作
TR0(TR1)= 1 定时器/计数器 0(1)开始工作
✤ TF0和TF1 —— T0和T1的溢出标志位
对定时/计数器T0、T1的中断,CPU响应中断后,硬件自动清除中断请求标志TF0和TF1。如果编程中不使用中断服务程序,也可在主程序中利用查询中断请求标志TF0和TF1的状态,完成相应的中断功能。
TMOD
(89H) 位符号 GATE M1 M0 GATE M1 M0
控制定时器 T1 控制定时器 T0
三、定时/计数器的方式控制寄存器(TMOD)
✤ GATE —— 定时器动作开关控制位,也称门控位
GATE = 1 时,当外部中断引脚 ( )出现高电平且控制寄存器TCON中TR0(TR1)控制位为1时,才启动定时器T0(T1)。
GATE = 0 时,只要控制寄存器TCON中TR0(TR1)控制位为1,便启动定时器T0(T1)。
✤ —— 定时/计数器模式选择位
=0时,设置为定时器模式,定时/计数器的计数脉冲输入来自单片机内部系统时钟提供的工作脉冲(系统晶振输出脉冲经12分频),计数值乘以机器周期就是定时的时间。
=1时,设置为计数器模式,定时/计数器的计数脉冲输入来自外部引脚 T0(P3.4)或 T1(P3.5)输入的外部脉冲。
✤ M1、M0 —— 工作方式选择位
M1 M0 工作方式 功 能 说 明
0 0 方式0 13位定时/计数器,TLx只用低5位
0 1 方式1 16位定时/计数器(常用)
1 0 方式2 自动重装初值的8位定时/计数器,THx的值保持不变,TLx溢出时,THx的值自动装入TLx中(常用)
1 1 方式3 仅适用于T0,T0分成2个独立的8位计数器,T1停止计数
TMOD不能位寻址,只能是整个字节进行设置,如程序中TMOD=0X01; 语句就是对TMOD进行整体设置。CPU复位时TMOD所有位清0。
四、定时/计数器的工作方式
1.工作方式1
该模式是一个16位定时/计数方式,最大计数值为216=65536。寄存器THx和TLx是以全16位参与操作,当要定时任意时间时,采用预置数的方法,THx赋高8位,TLx赋低8位。定时工作方式时,定时时间为:
T定 =(216 - 初值)× 机器周期Tm
[例] 若单片机晶振频率fosc=12MHz,使用定时器T0工作在方式1下,定时50ms中断,试计算寄存器TH0和TL0装入的初始值。
解: 已知 fosc = 12MHz,则:
振荡周期 Tc = 1/12MHz = 1/12s
机器周期 Tm = 12Tc
= 12×(1/12)
= 1s
因为 T定 =(216 - 初值)×Tm
50 000
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。