任务二 制作行列矩阵式键盘电子密码锁 (2)(教案)-《单片机技术及应用》(高教版第四版) 同步精品课堂

2025-08-20
| 8页
| 82人阅读
| 1人下载
精品

内容正文:

《单片机技术及应用》(高教版第四版) 教案 课 题 制作行列矩阵式键盘电子密码锁 (2) 课 型 理论 课 时 2 授课班级 授课时间 授课教师 教材分析 任务二为 “电子密码锁” 项目的进阶实践章节,聚焦 “行列矩阵式键盘密码锁全流程制作” 核心目标,系统讲解矩阵键盘原理、硬件制作、程序设计及仿真验证的技术要点。教材采用 “知识准备(矩阵键盘→扫描方法)→实践流程(电路设计→焊接→编程→仿真)” 递进结构,通过元件清单、电路原理图及扫描函数代码(KeyV ()),将抽象的多按键检测与 “6 位密码输入验证” 需求深度融合。作为衔接独立式键盘(任务一)与复杂输入系统的关键环节,本节通过矩阵扫描(行线列线协同)和函数模块化设计(扫描函数、延时函数)培养学生工程实践能力,为后续学习触摸键盘、智能密码算法等任务奠定技术基础,是提升单片机系统开发综合能力的核心章节。 学情分析 学生已完成独立式键盘密码锁(任务一)的制作,掌握 I/O 口控制、按键消抖等基础,但对行列矩阵式键盘的行线列线扫描逻辑(逐列送低电平→逐行读取)理解较浅;部分学生能完成单按键检测,却难以将 “行列短接信号→键值计算” 关联,对 16 键协同(4×4 矩阵)的扫描算法易混淆。硬件操作中,焊接 16 个按键与布局因元件密集易出错;软件编程中,键盘扫描函数(KeyV ())的位操作(_cror_循环右移)与密码比对逻辑(主函数逐位验证)常因逻辑遗漏导致仿真异常。需通过电路原理图、流程图及 “设计 - 焊接 - 编程 - 仿真” 实践,强化复杂输入系统的开发能力,突破矩阵键盘密码锁的技术瓶颈。 学习目标 知识目标: 1. 了解行列矩阵式键盘模块电路原理图的绘制方法。 2. 掌握行列矩阵式键盘模块的焊接与电路搭接。 3. 学会绘制行列矩阵式键盘电子密码锁的程序流程图。 技能目标: 1. 能够编写、编译行列矩阵式键盘电子密码锁的 C51 源程序。 2. 完成行列矩阵式键盘电子密码锁的仿真调试和程序下载验证功能。 情感目标: 明确职业定位与发展方向,结合产业趋势制定科学的职业规划与成长路径。 学习重难点 重点: 1. 行列矩阵式键盘模块电路原理图的绘制。 2. 行列矩阵式键盘模块的焊接工艺和电路搭接。 3. 行列矩阵式键盘电子密码锁程序流程图的绘制和 C51 源程序的编写。 难点: 1. 理解行列矩阵式键盘扫描函数的原理和实现。 2. 根据流程图准确编写 C51 源程序,确保密码锁功能正常。 教学方法 案例分析、讲授法、小组讨论法 课前准备 1.查找相应网站资料,课堂演示使用。 2.学生课前预习。 教学媒体 电子课件、多媒体视频 教学过程 教学环节 教师活动设计 学生活动设计 设计意图 活动一: 创设情境 生成问题 【课程导入】 在之前的学习中,我们对电子密码锁有了一定的了解。这次我们将制作一个行列矩阵式键盘电子密码锁,它可以输入更多位数的密码,提高密码的安全性。 【新知识传授】 · 绘制行列矩阵式键盘模块电路原理图 (1) 启动与新建文件 ① 启动 Protel DXP 2004,新建一个电路原理图文件,其文件名为 “行列矩阵式键盘模块电路原理图”。 (2) 查找与拖入元件 ② 从元件库 “Miscellaneous Connectors.IntLib” 中查找 “Header 8”(1 个 I/O 口插座) 和 “Header 2”(1 个电源插座),拖入工作窗口。 ③ 从元件库 “Miscellaneous Devices.IntLib” 中查找 “RES”(4 个 10kΩ 电阻) 和 “SW - PB”(16 个按键) 拖入工作窗口。 (3) 绘制电路 ④ 绘制如图所示的电路,修改标号和标称值。 (4) 保存文件 2.引导学生带着问题去课本寻找答案,明确本节课的学习内容。 3.展示本讲学习目标。 1. 接收并查看本节课堂任务书。 2. 了解学习目标,带着目标进行学习。 3. 观察生活中常见的多媒体信息形式,思考其背后的技术支撑。 4. 针对教师给出的问题,初步发表个人见解。 5. 目标明确:跟随教师引导,明确本节课学习目标。 1.以提问的方式导入课程,让学生带着问题有针对性的进行学习。 2.通过任务实施,调动学生积极性。 活动二: 调动思维 探究新知 【新知识传授】 · 焊接行列矩阵式键盘模块 (1) 元件选取与检测 ① 根据行列矩阵式键盘模块电路元件清单,选取元件,用万用表检测元件的好坏。 (2) 元件布局与插装 ② 绘制元件布局图,在万能电路板上按布局图依次进行元件的排列、插装。 (3) 焊接元件 ③ 按工艺要求焊接元件,背面用直径为 0.5 - 1mm 的导线连接,直到所有的元件连接并焊完为止。焊接顺序为按键 →I/O 口插座 → 电阻 → 电源插座 → 连接导线。 · 搭接电路 根据电路原理图 (如图所示) 用杜邦线搭接电路,行列矩阵式键盘的 I/O 口与最小系统板的 P1 口相连,LED 灯控电路的 I/O 口与最小系统板的 P2 口相连,连接电源和地端,安装电池盒。 2. 教师操作演示 3. 引导学生带着问题去课本寻找答案,明确本节课的学习内容。 1. 阅读探究:阅读课本相关内容,探究多媒体技术的产生背景。 2. 概念理解:理解多媒体、多媒体技术和多媒体系统的定义,并尝试用自己的话复述。 3. 要点记录:记录多媒体技术强调的要点,加深理解。 1. 了解学生现有知识储备。 2. 巩固练习。 活动三: 调动思维 探究新知 【新知识传授】 · 绘制程序流程图 ① 启动流程图绘图软件 Diagram Designer,新建一个文件,文件名为 “行列矩阵式键盘电子密码锁主程序流程图.DDD”,设置图纸大小为 A4。 ② 从右侧的标准框图符号库中拖取所需的框图符号,调整其大小和位置。 ③ 在框图中输入文本。 ④ 用指向线连接框图符号 ⑤ 保存该文件。 (1) 启动与设置文件 (2) 拖取与调整框图 (3) 输入文本 (4) 连接框图与保存 · 编程 1) 新建工程与源文件 启动 Keil uVision2,新建工程文件 “行列矩阵式键盘电子密码锁.uV2”;新建 C51 源程序文件 “行列矩阵式键盘电子密码锁.C”,编写包含延时函数、键盘扫描函数、主函数等的代码。 · 编程实现 - 延时函数 void delay(uint ms){     uchar i;     while(ms--)     {         for(i = 0; i < 125; i++);     }} · 编程实现 - 键盘扫描函数 uchar KeyV() {     uchar key, key_value, a;     P1 = 0x0f;     if(P1 == 0x0f)         return(0); // 无键按下,返回0值     else     {         delay(10);         if(P1 == 0x0f)             return(0);         for(a = 0; a < 4; a++)         {             P1 = _cror_(0x7f, a);             if(P1_0 == 0) break;             if(P1_1 == 0) break;             if(P1_2 == 0) break;             if(P1_3 == 0) break;         }        key = P1; for(; P1 != 0x0f; P1 = 0x0f) {;} // 等待松开按键         switch(key)         {             case 0xee: key_value = 1; break; // 1             case 0xed: key_value = 2; break; // 2             case 0xeb: key_value = 3; break; // 3             case 0xe7: key_value = 4; break; // 4             case 0xde: key_value = 5; break; // 5             case 0xdd: key_value = 6; break; // 6         case 0xdb: key_value = 7; break; // 7             case 0xd7: key_value = 8; break; // 8             case 0xbe: key_value = 9; break; // 9             case 0xbd: key_value = 10; break; // 10             case 0xbb: key_value = 11; break; // 11             case 0xb7: key_value = 12; break; // 12             case 0x7e: key_value = 13; break; // 13             case 0x7d: key_value = 14; break; // 14             case 0x7b: key_value = 15; break; // 15             case 0x77: key_value = 16; break; // OK             default: break;         }         return(key_value);     } } · 编程实现 - 主函数 uchar key_value = 0xff;     while(1)     {         while(key_value != D[0])         {             key_value = KeyV();         }         while(key_value != D[1])         {             key_value = KeyV();         }         while(key_value != D[2]) //与数组中预置的密码逐位比对         {             key_value = KeyV(); //键盘扫描,并取键值         } while(key_value != D[3])         {             key_value = KeyV();         } while(key_value != D[4])         {             key_value = KeyV();         }         while(key_value != D[5])         {             key_value = KeyV();         }     }} · 编程实现 - 编程(代码解释) · 延时函数delay:通过循环实现指定毫秒数的延时,用于按键消抖等操作。 · 键盘扫描函数KeyV:先检查是否有键按下,若有则进行消抖处理,然后通过循环右移和判断行线电平确定按下的键,最后根据键值返回对应的数字或确认键(1 - 16)。 · 主函数main:不断调用键盘扫描函数,依次等待输入与预设密码对应的键值。 2) 编译生成 HEX 文件 编译生成 “行列矩阵式键盘电子密码锁.HEX” 文件。 2. 教师操作演示 3. 引导学生带着问题去课本寻找答案,明确本节课的学习内容。 1. 应用列举 2. 影响分析 3. 创新思考 1. 引导学生主动思考,发散思维,参与课堂。 2. 培养学生发现问题,解决问题的能力。 3. 了解相关知识。 4. 辩论形式让学生参与并归纳总结。 活动四: 巩固练习 素质提升 【随堂检测】 1  绘制行列矩阵式键盘模块电路原理图时,从哪个元件库中查找 I/O 口插座和电源插座? 2  焊接行列矩阵式键盘模块时,焊接顺序是什么? 3  在行列矩阵式键盘电子密码锁程序中,键盘扫描函数返回值的范围是多少? 4  绘制行列矩阵式键盘电子密码锁程序流程图时,第2步是什么? 【分组讨论】 分组讨论,讨论如何优化行列矩阵式键盘电子密码锁的电路设计,提高其稳定性。分析在编程过程中,键盘扫描函数可能出现的问题及解决办法。 1. 答案交流 2. 话题讨论 3. 效率分析 4. 挑战探讨 5. 总结汇报 知识检测与巩固 课堂小结 作业布置 课堂小结 作业布置 复习本节课内容,预习下节课内容。 板书设计 1. 绘制行列矩阵式键盘模块电路原理图 2. 焊接行列矩阵式键盘模块 3. 搭接电路 4. 绘制程序流程图 5. 编程 教学反思 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $$

资源预览图

任务二 制作行列矩阵式键盘电子密码锁 (2)(教案)-《单片机技术及应用》(高教版第四版) 同步精品课堂
1
任务二 制作行列矩阵式键盘电子密码锁 (2)(教案)-《单片机技术及应用》(高教版第四版) 同步精品课堂
2
任务二 制作行列矩阵式键盘电子密码锁 (2)(教案)-《单片机技术及应用》(高教版第四版) 同步精品课堂
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。