单片机原理与应用课程案例式教学方法实践*

2022-08-09 06:16薛玉利刁广强柳欣
计算机时代 2022年8期
关键词:开发板代码单片机

薛玉利,刁广强,柳欣,田 园

(山东青年政治学院信息工程学院、山东省高校智能信息处理技术与安全重点实验室,山东 济南 250103)

0 引言

“单片机原理与应用”是电子信息工程专业的核心实践课,培养学生电路设计、软件开发和软硬件联调的能力,为后续嵌入式原理与应用、电子技术综合设计、专业实习、毕业实习、毕业设计等课程打下坚实的基础。该课程有实践性强、软硬件结合等特点,传统教学方式将理论教学和实践教学割裂为两部分,难以取得理想效果。为此,许多教师在课程教学中引入了案例教学法,石巧云以LED 数码管动态显示为例介绍了案例教学的实施过程。单巍等人设计了“模拟电磁曲射炮”的实践训练,要求学生分组讨论设计、分析实验结果并改进。张谦设计了基于51单片机的人数监测系统综合实验,可用于单片机项目式教学。雷涛等人设计了一款基于单片机的心电监测系统,并将其应用于课程实验教学。汪爱明等人设计了应用于煤矿无极绳运输设备控制系统的显示及语音提示装置的实验案例。张东阳等人介绍了一套较为完整的基于理实教学一体化的单片机原理与应用课程案例体系设计。

我们认为目前教学存在的问题和已有研究成果存在一些不足之处。①教学中实践性不强。单片机课程一般有配套实验箱,电路的连接和软件的编写较固定,学生大部分时候完成验证性实验,设计性实验较少,无法培养学生的高阶能力。②学生参与度较低。课程教学中,教师先讲授理论知识点并演示,学生随后进行实验验证,出现结果皆大欢喜,然而稍微换一下情境就完全不知道怎么处理。这是因为学生没有深刻理解,不会举一反三和思考总结。③一些研究中提供的教学案例大部分是综合性实验,需要学生掌握较多知识,一般要课程快结束时才能进行,在平时的教学中没有体现出案例教学的特点。

单片机的I/O 口默认为输出口,开关状态检测是单片机作为输入口使用的典型案例。本文以开关状态检测为例介绍案例式教学方法的实施。

1 教学目标

本课程开设在大二上学期,学生已完成C++语言程序设计、电路分析基础、数字电子技术等课程的学习,具备了一定的C 语言编程、电路分析设计的能力。经过前几周的学习,学生对单片机最小系统、硬件结构、C51 语言编程有了初步的认识。本案例将为后续的独立式键盘、矩阵式键盘和中断系统打下良好的基础。具体的教学目标如表1所示。

表1 开关状态检测教学目标

2 教学实施

案例式教学方法主要由课前预习、课中实践和课后拓展三部分组成。课前预习每次十分钟左右,通过视频让学生对所学内容有一个先验知识,方便课堂上直接导入;课中实践分为原理讲授、软件仿真、开发板调试三部分,培养学生分析问题、解决问题和举一反三的能力;课后拓展通过老师布置或者学生自己寻找题目的方式,让学生根据本次课程内容,查阅资料,完成一个创新性的设计,培养其自学能力、信息检索能力和创新精神。每一次课程的实施都像一次过关游戏,每一次解决问题后会增强学生的专业自信,激发他们的学习积极性,为后续的“电子技术综合设计”和“大学生创新创业项目实训”打下良好的基础。

2.1 课前预习

学生观看教师在网上教学平台布置的视频“独立按键的原理”,并翻阅教材中“开关状态检测”部分,对独立按键的原理和应用到开关状态检测部分的电路有个基本的了解。

2.2 课中实践

⑴原理讲授:电路原理图如图1所示。①通过开关闭合和断开两种情况的电路原理分析,学生发现“开关的闭合和断开会导致I/O 端口是低电平还是高电平”。反过来,通过检测I/O端口是低电平还是高电平,就知道开关是闭合还是断开;②检测到I/O 端口的电平,需要将其由高4 位传递给低4位,引入第一个问题:如何实现?③学生依据课前预习的内容,分组讨论后,给出解决方案;④带学生解读该实例的代码。

图1 电路原理图

⑵软件仿真:①利用Proteus绘制开关检测电路;②用keil 软件编写程序、生成hex 文件;③将hex 文件下载到Proteus 的单片机,观察结果。在这个过程中,学生会遇到各种问题,教师在旁边进行手把手指导,并鼓励学生通过网络查找问题的解决方法,将其分享到QQ群,方便其他遇到该问题的同学参考。实验结果出现的一刻,学生会表现的更自信。

⑶开发板调试:单片机开发板电路原理图如图2所示,可以看出,与课本实例发生了一些变化,独立按键连接的IO 端口变为P3 口的低4位,LED 灯连接的IO 端口变为P2口,如何将开关状态检测的信息传递给LED 灯。学生分组讨论分析问题,提出各种解决问题的方法,调整代码,并将hex 文件烧写到开发板中逐一实现,观察设想的方法与实际结果是否相符。

图2 开发板电路原理图

下面以其中一种解决方法为例,观察开发板代码相对于软件仿真代码做了哪些调整。软件仿真代码和开发板代码的对比分析图如图3 所示,与软件仿真代码相比,开发板代码主要发生了两部分的调整:①开关和LED 连接的IO 口发生变化使得代码中的变量发生相应变化;②软件仿真中,开关的状态由P1 口的高4 位检测,利用“&”运算符屏蔽低4 位赋给变量temp,由temp 将高4 位移到低4位,再送到P1 口驱动LED 点亮。而开发板中需要将P3 口的低4 位取出,利用“|”运算符取出低4位,送到P2口驱动LED点亮。

图3 软件仿真代码和开发板代码的对比分析

2.3 课后拓展

学生分组查阅资料,找到开关状态检测的实际问题情境,并通过软件仿真,将仿真结果截图发到网络教学平台,实现举一反三、巩固练习。

3 教学效果

案例式教学方法以学生为主体,教师引导,分层次、分阶段地推进,以传统教学为基础,在完成课本实例基础上,引入新的问题,引导学生针对新问题分组讨论,尝试各种解决方法,并在实践中培养了举一反三的能力。本文以开关状态检测为例进行了介绍,实际教学中每次课程均采用该教学方法,学生均能完成软件仿真部分,实验结果的呈现增强了同学的专业自信心,开发板调试部分需要同学分组讨论、查阅资料,大部分同学顺利完成程序设计,并实现了软硬件联调,这个过程培养了学生的自主学习、团队协作、信息检索和举一反三能力。课后拓展环节给了学生开放空间,根据所学知识去解决实际问题,可以促进学生创新精神的培养。

4 结束语

案例式教学方法帮助学生更容易地学习专业知识,同时提升了他们举一反三的能力。课前预习能够让学生对所学内容大概了解;课中软件仿真促使学生将理论应用到实践,实验结果的出现建立学习自信,随后的开发板调试,根据实际电路调整代码并烧写到开发板,实物结果更加建立专业自信;最后将所学知识技能应用到实际生活情景,培养了学生举一反三的能力,促进了学生创新精神的培养,为后续课程打下了坚实的基础。

猜你喜欢
开发板代码单片机
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
创世代码
创世代码
创世代码
创世代码
Microchip最新推出两款PIC32 Curiosity开发板
浅析单片机开发板的设计与制作
Microchip推出两个全新PIC单片机系列