3.2 定时器1模模式控制交通信号灯 课件(共57张PPT)-《单片机技术与C语言基础 》同步教学(电子工业版)

资源下载
  1. 二一教育资源

3.2 定时器1模模式控制交通信号灯 课件(共57张PPT)-《单片机技术与C语言基础 》同步教学(电子工业版)

资源简介

(共57张PPT)
单片机与C语言技术应用
第三单元 任务2
3.2 定时器1模模式控制交通信号灯
学习目标
01
知识储备
03
任务工单
05
任务要求与任务分析
02
任务实施
04
任务小结
06
知识与技能提升
07
延伸阅读
08
学习目标
01
掌握定时器1在自由运行模式、模模式、正/倒计数模式下的计数过程;
掌握定时器1在自由运行模式、模模式、正/倒计数模式下相关寄存器的设置方法;
掌握定时器1在自由运行模式、模模式、正/倒计数模式下的中断触发过程;
学习目标
01
掌握定时器1在自由运行模式、模模式、正/倒计数模式下的定时中断周期计算;
掌握定时器1在自由运行模式、模模式、正/倒计数模式下控制交通信号灯的开关。
学习目标
01
能对定时器1在自由运行模式、模模式、正/倒计数模式下相关寄存器进行设置;
能对定时器1在自由运行模式、模模式、正/倒计数模式下的中断使能进行配置;
能根据定时长短在自由运行模式、模模式、正/倒计数模式下计算定时中断的次数;
能使用定时器1在自由运行模式、模模式、正/倒计数模式下控制交通信号灯的开关;
学习目标
01
知识储备
03
任务工单
05
任务要求与任务分析
02
任务实施
04
任务小结
06
知识与技能提升
07
延伸阅读
08
3.2 定时器1模模式控制交通信号灯
任务要求与任务分析
02
● 任务要求:
①黑板通电后,D3绿色LED点亮(黄灯亮),延时1秒;
②1秒到,D3绿色LED熄灭(黄灯灭),延时1秒;
③1秒到,D3绿色LED点亮(黄灯亮),延时1秒;
④LED灯效果可循环。
任务要求与任务分析
02
● 任务分析:
定时器1工作在模模式下定时输出控制。
学习目标
01
知识储备
03
任务工单
05
任务要求与任务分析
02
任务实施
04
任务小结
06
知识与技能提升
07
延伸阅读
08
3.2 定时器1模模式控制交通信号灯
模模式的计数过程
1
知识储备
03
模模式的选择与配置
2
3
4
模模式下定时器1中断触发过程
模模式下定时中断周期的计算
03
知识储备
定时器1工作在模模式下,计数器从0x0000开始计数,计数值在每个定时器时钟的边沿加1,当计数值达到T1CC0时,产生比较输出,然后又从0x0000重新计数。
T1CC0是一个16位的二进制数,由通道0捕获/比较的高8位寄存器T1CCOH和低8位寄存器T1CCOL共同组成。
03
知识储备
模模式计数过程:
03
知识储备
T1CC0L寄存器:
位 位名称 复位值 操作 描述
7:0 T1CC0[7:0] 0x00 R/W 定时器1通道0捕获/比较值,低位字节。
位 位名称 复位值 操作 描述
7:0 T1CC0[15:8] 0x00 R/W 定时器1通道0捕获/比较值,高位字节。
T1CC0H寄存器:
模模式的计数过程
1
知识储备
03
模模式的选择与配置
2
3
4
模模式下定时器1中断触发过程
模模式下定时中断周期的计算
03
知识储备
(1)配置T1CTL寄存器选择模模式计数。
(2)配置T1CCTL0寄存器选择定时器1通道0为比较模式,并使能通道0中断。
(3)配置IEN1寄存器的T1IE位使能定时1中断。
(4)配置EA使能总中断。
03
知识储备
T1CCTL0寄存器:
位 位名称 复位值 操作 描述
7 RFIRQ 0 R/W 当设置时,使用RF中断捕获,而不是常规的捕获输入
6 IM 1 R/W 通道0中断屏蔽位。
设置为1:通道0中断使能
设置为0:通道0中断关闭
03
知识储备
位 位名称 复位值 操作 描述
5:3 CMP 000 R/W 通道0比较模式选择。当定时器的值等于在TICC0中的比较值,选择输出操作。
000:设置输出;
001:清除输出;
010:切换输出;
011:向上比较设置输出;
100:向上比较清除输出;
101:未使用;
110:未使用;
111:初始化输出引脚,该位保持不变
03
知识储备
位 位名称 复位值 操作 描述
2 MODE 0 R/W 模式选择,选择定时器1通道0捕获或者比较模式。
0:捕获模式;
1:比较模式
1:0 CAP 00 R/W 通道0捕获模式选择。
00:未捕获;
01:上升沿捕获;
10:下降沿捕获;
11:上升/下降沿捕获
03
知识储备
本任务设置定时器1工作在模模式下进行计数且定时器标记输出时钟信号经过1分频得到定时器时钟。本任务定时器1在模模式下工作的具体配置代码如下:
1.T1CTL = 0x01; //定时器时钟分频系数为1并选择模模式
2.T1CCTL0 |=0x04; //配置通道0为比较模式,复位后默认通道0中断使能
3.T1IE=1; //使能定时器1中断
4.EA=1; //使能总中断
03
知识储备
T1CCTL0寄存器的通道0中断使能位T1CCTL0.IM复位默认值为1,即默认使能通道0中断,不需要进行配置。
模模式的计数过程
1
知识储备
03
模模式的选择与配置
2
3
4
模模式下定时器1中断触发过程
模模式下定时中断周期的计算
03
知识储备
当定时器1计数器的值为T1CC0时,将会产生比较输出,T1STAT寄存器中的定时器1通道0中断标志位CH0IF被硬件自动置1。
在定时器1通道0中断使能的情况下,硬件会自动将IRCON寄存器的定时器1中断标志位T1IF置1。
在定时器1中断和总中断使能的情况下,CC2530单片机检测到定时器1中断标志位T1IF为1,将会触发定时器1中断,执行定时器1中断服务函数。
模模式的计数过程
1
知识储备
03
模模式的选择与配置
2
3
4
模模式下定时器1中断触发过程
模模式下定时中断周期的计算
03
知识储备
定时器1在模模式下,计数器从0x0000开始计数,计数到T1CC0时,将会产生比较输出。因此,计数器从0x0000开始计数,共计数T1CC0个定时器时钟信号,会触发定时器中断。整个定时中断的周期为T1CC0个定时器时钟周期,其计算公式如下:
(s)
03
知识储备
本任务的定时器时钟频率为16MHz,T1CC0的数值为32000,因此定时中断周期为:
(s)
03
知识储备
这说明本任务在执行过程中,大约每2毫秒将会触发一次定时器1中断。十进制数32000对应的16进制数为0x7d00,将高8位0x7d写入T1CCOH寄存器,低8位0x00写入T1CCOL寄存器, 其具体配置代码如下:
1.T1CC0H=0x7d; //T1CC0高8位
2.T1CC0L=0x00; //T1CC0低8位
03
知识储备
模模式下,高8位寄存器T1CC0H和低8位寄存器T1CC0L组成一个16位二进制数T1CC0,其数值将会决定定时中断的周期。
学习目标
01
知识储备
03
任务工单
05
任务要求与任务分析
02
任务实施
04
任务小结
06
知识与技能提升
07
延伸阅读
08
3.2 定时器1模模式控制交通信号灯
任务实施
04
● 任务实施前必须先准备好以下设备和资源:
序号 设备/资源名称 数量 是否准备到位(√)
1 计算机(已安装好IAR软件) 1台
2 NEWLab实训平台 1套
3 CC-Debugger 仿真器 1套
4 黑板 1块
1
2
任务实施
04
打开工程
编写代码
3
编译工程
4
仿真调试
●打开本书配套源代码文件夹中的“定时器1模模式控制交通信号灯.ewp”工程。
04
任务实施
1
2
任务实施
04
打开工程
编写代码
3
编译工程
4
仿真调试
● 步骤1:头文件包含
04
任务实施
#include
● 步骤2:I/O引脚宏定义
04
任务实施
#define GREEN_RED P1_3 //将P1_3引脚宏定义为D5绿色LED控制引脚
步骤3:全局变量定义
unsigned int Count=0; //定义Count计数器为全局变量并初始化为0
04
任务实施
步骤4:编写定时器1初始化函数
04
任务实施
(1)系统复位后默认选择内部16MHz的RC振荡器为时钟源,且系统时钟频率和定时器标记输出时钟信号频率都为16MHz;通过设置寄存器T1CTL,将定时器标记输出时钟信号经过1分频得到定时器时钟且设置定时器1工作在模模式下。
(2)配置T1CCTL0寄存器选择定时器1通道0为比较模式,并使能通道0中断。
(3)根据定时中断周期配置高8位寄存器T1CC0H和低8位寄存器T1CC0L。
(4)使能定时器1中断。
(5)使能总中断。
定时器1初始化代码如下:
1.void Init_Timer1(void)
2.{
3. T1CTL = 0x01; //定时器时钟分频系数为1并选择模模式
4. T1CCTL0 |=0x04; //配置通道0为比较模式,复位后默认通道0中断使能
5. T1CC0H=0x7d; //T1CC0高8位
6. T1CC0L=0x00; //T1CC0低8位
7. T1IE=1; //使能定时器1中断
8. EA=1; //使能总中断
9.}
04
任务实施
步骤5:编写定时器1中断服务函数
根据前面的初始化配置,定时器时钟频率为16MHz,在模模式下定时器1的定时中断的周期为0.002秒/次。本任务需要完成间隔1秒控制交通信号灯的亮灭,1秒所对应的定时中断次数为:
说明连续500次定时中断所需要的时间为1秒。
04
任务实施
04
任务实施
模模式下定时器1中断处理流程图:
本任务定时器1中断服务的代码如下:
1.#pragma vector=T1_VECTOR //定时器1中断向量指定
2.__interrupt void T1_ISR(void)
3.{
4. Count++; //定时器计数加1
5. if(Count>=500) //判断计数器Count是否等于定时1秒所需要的中断次数
6. {
7. Count=0; //计数器清0
8. GREEN_LED=! GREEN_LED; //绿灯状态翻转
9. }
10.}
04
任务实施
(1)通过宏指令“#pragma vector=T1_VECTOR”或“#pragma vector=0x4B” 将该中断函数指向定时器1中断向量,然后下一行开始写中断服务函数“__interrupt void T1_ISR(void)”;
(2)全局变量Count加1;
(3)将Count的值与500进行比较,当Count的值大于等于500时,表示定时1秒到,绿灯状态翻转,中断返回;当Count的值小于500时,不作任何处理直接中断返回。
04
任务实施
步骤6:编写main主函数
main函数主要完成I/O口初始化、定时器1初始化,然后进入无限循环,其具体配置代码如下:
void main(void)
{
InitIO(); //I/O口初始化
Init_Timer1(); //定时器1初始化
while(1); //无限循环
}
04
任务实施
04
任务实施
代码中应用到所学过的知识点:
1
2
任务实施
04
打开工程
编写代码
3
编译工程
4
仿真调试
对工程进行编译,观察是否提示编译成功。如果出现错误或警告,需要认真检查修改,重新编译链接,直到没有错误和警告为止。
04
任务实施
1
2
任务实施
04
打开工程
编写代码
3
编译工程
4
下载代码
(1)用CC-Debugger仿真器的下载线连接黑板;
(2)完成代码下载;
(3)黑板上电,观察D5绿色LED是否每隔1秒循环交替开关。
04
任务实施
学习目标
01
知识储备
03
任务工单
05
任务要求与任务分析
02
任务实施
04
任务小结
06
知识与技能提升
07
延伸阅读
08
3.2 定时器1模模式控制交通信号灯
05
任务工单
(一)本次任务关键知识引导
1. 定时器1工作在模模式下,计数器从( )开始计数,计数器的值在每个定时器时钟的边沿( ),当计数值达到( )时,产生( ),然后又从( )重新计数。
2. T1CC0是一个( )位的二进制数,由( )捕获/比较高8位寄存器( )和低8位寄存器( )共同组成。
3. 当定时器1工作在模模式下产生比较输出时,( )寄存器中的定时器1通道0中断标志( )被( )自动置( );在定时器1( )中断使能的情况下,硬件会自动将( )寄存器的定时器1中断标志( )置( )。在( )中断和( )使能的情况下,CC2530单片机检测到定时器1中断标志( )为1,将会触发定时器1中断,执行定时器1中断服务函数。
任务工单
05
各组选派代表分析本组任务实施经验;
01
添加标题
请参照评价标准完成自评;
02
完成对其他小组的评价。
03
互评
经验分享
自评
评价方式 可采用自评、互评、老师评价等方式 说明 主要评价学生在项目学习过程中的操作技能、理论知识、学习态度、课堂表现、学习能力等。 序号 评价内容 评价标准 分值 得分
1 知识运用(20%) 掌握相关理论知识,完成本次任务关键知识的作答准确率(20分) 20分
2 专业技能(40%) 工程编译通过,D5绿色LED的工作状态切换正常。(40分) 40分
工程编译通过,D5绿色LED的工作状态异常。(30分)
完成代码的输入,工程没有编译通过。(15分)
建立工程错误,或者部分输入代码。(5分)
3 核心素养(20%) 具有良好的自主学习、分析解决问题、帮助他人的能力、整个任务过程中有指导他人并解决他人问题(20分) 20分
具有较好的学习能力和分析解决问题的能力,任务过程中无指导他人(15分)
具有主动学习并收集信息的能力,遇到问题有请教他人并得以解决(10分)
不主动学习(0分)
4 职业素养(20%) 实验完成后,设备无损坏、设备摆放整齐、工位区域内保持整洁、无干扰课堂秩序(20分) 20分
实验完成后,设备无损坏、无干扰课堂秩序(15分)
无干扰课堂秩序(10分)
干扰课堂秩序(0分)
总得分
学习目标
01
知识储备
03
任务工单
05
任务要求与任务分析
02
任务实施
04
任务小结
06
知识与技能提升
07
延伸阅读
08
3.2 定时器1模模式控制交通信号灯
任务小结
06
学习目标
01
知识储备
03
任务工单
05
任务要求与任务分析
02
任务实施
04
任务小结
06
知识与技能提升
07
延伸练习
08
3.2 定时器1模模式控制交通信号灯
任务拓展
07
动动脑
请思考下,相比于自由运行模式,模模式的优点是什么?
任务拓展
07
动动手
请在本任务的基础上进行修改,调整红灯、绿灯、黄灯的点亮时间。
学习目标
01
知识储备
03
任务工单
05
任务要求与任务分析
02
任务实施
04
任务小结
06
知识与技能提升
07
延伸练习
08
3.2 定时器1模模式控制交通信号灯
延伸练习
08
交通灯控制系统中,红、绿、黄灯共有4种状态,分别是红灯亮、绿灯亮、黄灯亮及黄灯闪烁。
请在本任务代码基础上进行修改,实现“红灯亮3s——绿灯亮5s——黄灯3s——黄灯闪烁10s(亮灭的间隔为0.5s)——红灯亮3s……”
具体实现方案可以在本任务代码的基础上追加黄灯闪烁状态,然后不断循环。

展开更多......

收起↑

资源预览