内容正文:
《单片机技术及应用》(高教版第四版) 教案
课 题
制作可调节照明时间的智能照明控制器
课 型
理论
课 时
2
授课班级
授课时间
授课教师
教材分析
任务二为单片机中断与输入输出控制的综合实践章节,聚焦 “可调节照明时间的智能照明控制器” 开发,系统整合硬件搭接、软件编程(C51 代码补充)、仿真调试及功能验证。教材采用 “任务驱动” 结构,通过 “按键调节时间→红外触发照明→延时熄灯” 的逻辑链,将外部中断(INTO)、按键输入(P2.7/P2.6)与延时控制(time 变量)深度融合,培养学生 “硬件连接 - 程序编写 - 系统调试” 的全流程开发能力。作为项目五 “智能照明控制器” 的延伸任务,本节是前序 “人体红外感应控制器” 的功能升级(增加时间调节),为后续开发多参数设置(如亮度调节、模式切换)的智能系统奠定基础,是掌握单片机实时交互控制技术的核心实践环节。
学情分析
学生已掌握单片机基础编程(如外部中断配置、延时函数编写)及 Proteus 仿真、Keil 编译的基本操作,但对多模块协同控制(红外检测 + 按键调节)、中断服务函数动态参数处理(time 变量增减)认知较浅。部分学生熟悉外部中断 0 的触发设置(IT0=0 低电平触发),但易混淆 EX0(外部中断允许位)与 EA(总中断允许位)的配置,导致中断无响应;按键消抖逻辑(延时 10ms 检测)常因延时函数调用位置错误出现误触发;硬件搭接时,按键模块与 P2.7/P2.6 引脚的接线易因接触不良导致信号输入异常。仿真中,加载 HEX 文件后需同步验证 “增加 / 减少时间” 与 “红外触发照明” 的联动效果,学生可能因未正确设置时钟频率(12MHz)或元件参数(电阻值)影响调试结果。需通过代码逐行解析(如 time 变量的边界判断)、硬件接线指导及 “仿真 - 调试 - 验证” 闭环实践,强化多任务协同控制能力,突破智能照明调节的技术瓶颈。
学习目标
知识目标:
1. 掌握制作可调节照明时间的智能照明控制器所需的工具和材料使用。
2. 学会根据电路原理图搭接模块电路。
3. 能够绘制程序流程图并完成编程。
技能目标:
1. 完成可调节照明时间的智能照明控制器的仿真调试和程序下载验证功能。
2. 了解拓展任务中增加 “时间上限” 或减少 “时间下限” 功能按键的设置思路。
情感目标:
培养团队协作与领导力,在集体任务中承担责任并推动团队目标达成。
学习重难点
重点:
1. 可调节照明时间的智能照明控制器电路的搭接。
2. 编程实现照明时间的调节功能。
3. 仿真调试和程序下载的操作流程。
难点:
1. 理解按键消抖和时间调节的编程逻辑。
2. 准确编写中断服务函数实现人体红外检测和灯光控制。
教学方法
案例分析、讲授法、小组讨论法
课前准备
1.查找相应网站资料,课堂演示使用。
2.学生课前预习。
教学媒体
电子课件、多媒体视频
教学过程
教学环节
教师活动设计
学生活动设计
设计意图
活动一:
创设情境
生成问题
【课程导入】
在日常生活中,不同场合对照明时间的需求不同。今天我们要制作一个可调节照明时间的智能照明控制器,它可以根据我们的需求灵活设置照明时间,在节省能源的同时更好地提供照明服务。
【新知识传授】
· 任务需求
可调节照明时间的智能照明控制器可以根据不同场合设置不同的照明时间。
· 按下“增加时间”按钮,可以增加照明时间;
· 按下“减少时间”按钮,可以减少照明时间。
实现在节省能源 的前提下更好地提供照明服务。
· 根据电路原理图搭接电路
(1) 按键控制模块元件清单
根据电路原理图 (如图所示) 用杜邦线搭接电路。按键模块 2 个 I/O 接口与 P2 口 (P2.7 和 P2.6) 相连,人体红外检测模块电路的信号输出端与 P3 口 (P3.2) 相连,灯光控制端口与 P3 口 (P3.4) 相连,连接电源和地端,安装电池盒。
· 绘制程序流程图
2.引导学生带着问题去课本寻找答案,明确本节课的学习内容。
3.展示本讲学习目标。
1. 接收并查看本节课堂任务书。
2. 了解学习目标,带着目标进行学习。
3. 观察生活中常见的多媒体信息形式,思考其背后的技术支撑。
4. 针对教师给出的问题,初步发表个人见解。
5. 目标明确:跟随教师引导,明确本节课学习目标。
1.以提问的方式导入课程,让学生带着问题有针对性的进行学习。
2.通过任务实施,调动学生积极性。
活动二:
调动思维
探究新知
【新知识传授】
· 编程
(1) 新建工程与源文件
① 启动 Keil uVision2,新建一个工程文件 “可调节照明时间的智能照明控制器.uV2”。
② 新建一个 C51 源程序文件 “可调节照明时间的智能照明控制器.C”。
sbit add = P2^7; // 增加照明时间按键
sbit cut = P2^6; // 减少照明时间按键
sbit ex0 = P3^2; // 人体红外检测模块端口
uint time = 2000; // 照明时间
void delay(uint ms); // 延时ms毫秒函数
(2) 主函数部分
main() {
EA = 1; // 开总中断
EX0 = 1; // 开外部中断0
IT0 = 0; // 中断触发方式为低电平触发
while (1) {
if (add == 0) {
delay(10); // 延时消抖
if (add == 0) {
while (add == 0); // 松手检测
if (time <= 50000) {
time = time + 1000; // 照明时间每次增加1s
}
}
}
if (cut == 0) {
delay(10); // 延时消抖
if (cut == 0) {
while (cut == 0); // 松手检测
if (time >= 2000) {
time = time - 1000; // 照明时间每次减少1s
}
(3) 中断服务函数
void int_ex0(void) interrupt 0 using 0 {
light = 0; // 开灯
while (ex0 == 0);
delay(time); // 延时熄灯
light = 1; // 关灯}
(4) 延时函数
void delay(uint ms) {
uint i, j;
for (i = 0; i < ms; i++) {
for (j = 0; j < 125; j++) {
{;}
}
}}
(5) 编译生成 HEX 文件
③ 编译该程序,生成 HEX 文件。
2. 教师操作演示
3. 引导学生带着问题去课本寻找答案,明确本节课的学习内容。
1. 阅读探究:阅读课本相关内容,探究多媒体技术的产生背景。
2. 概念理解:理解多媒体、多媒体技术和多媒体系统的定义,并尝试用自己的话复述。
3. 要点记录:记录多媒体技术强调的要点,加深理解。
1. 了解学生现有知识储备。
2. 巩固练习。
活动三:
调动思维
探究新知
【新知识传授】
· 仿真调试程序
(1) 启动与元件选择
① 启动仿真软件 Proteus 7.4,新建仿真文件 “可调节照明时间的智能照明控制器.DSN”。
② 单击元件选择按钮 “P”,从元件库中选择需要的元件:发光二极管 (LED - RED) 1 个、按键 (BUTTON) 3 个 、PNP 三极管 1 个、电阻 (RES2) 5 个和单片机芯片 (AT89S51) 1 个 。
(2) 绘制仿真电路图
③ 根据电路原理图绘制仿真电路图 (省略复位和时钟电路),添加电源和地端,修改元件标号和标称值,如图所示。
④ 双击芯片 AT89S51,在弹出的对话框中加载 HEX 文件 (可调节照明时间的智能照明控制器.HEX),修改时钟频率为 12 MHz。
⑤ 单击仿真按钮,观察仿真效果。
⑥ 按 Ctrl + S 组合键保存文件。
(3) 加载 HEX 文件与设置时钟频率
(4) 仿真与保存
· 下载程序,验证功能
① 启动编程软件 EasyPRO Programmer。
② 加载 HEX 文件 (文件名 “可调节照明时间的智能照明控制器.HEX”)。
③ 单击 “操作一键通” 按钮,完成程序的下载。
④ 将单片机插到最小系统板的 ZIF 插座上。
⑤ 加电,观察其功能。
2. 教师操作演示
3. 引导学生带着问题去课本寻找答案,明确本节课的学习内容。
1. 应用列举
2. 影响分析
3. 创新思考
1. 引导学生主动思考,发散思维,参与课堂。
2. 培养学生发现问题,解决问题的能力。
3. 了解相关知识。
4. 辩论形式让学生参与并归纳总结。
活动四:
巩固练习
素质提升
【随堂检测】
1 可调节照明时间的智能照明控制器的按键模块与单片机的哪个端口相连?
2 在编程中,延时消抖的时间是多少?
3 在仿真调试程序时,需要选择哪些元件?
4 在中断服务函数中,照明时间由哪个变量控制?
5 在编程时,如何实现增加和减少照明时间的功能?
【分组讨论】
讨论如何优化可调节照明时间的智能照明控制器的时间调节精度。分析增加 “时间上限” 或减少 “时间下限” 功能按键的实现方法。
1. 答案交流
2. 话题讨论
3. 效率分析
4. 挑战探讨
5. 总结汇报
知识检测与巩固
课堂小结
作业布置
课堂小结
作业布置
复习本节课内容,预习下节课内容。
板书设计
1. 根据电路原理图搭接电路
2. 绘制程序流程图
3. 编程
4. 仿真调试程序
5. 下载程序,验证功能
教学反思
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$