单片机课程教学的探索与实践
2013-08-23蒋存波
金 红,蒋存波
(桂林理工大学信息科学与工程学院,广西桂林 541004)
“单片机原理与应用”是我校电气信息类专业的一门重要课程,该课程的特点是理论与应用相结合,硬件与软件并重。但由于涉及多个学科,信息量大且课时少,其教学难度较大。我国各高校在开展该课程的优化课程体系结构教学和案例教学等方面都取得了一定成绩[1-3]。我校开设该课程共有5个专业涉及12个班级,从2006年开始进行该课程教学改革试点,取得了一点经验和教训。
1 传统教学方法改革
我校单片机教学主要包括课堂教学和实验教学两部分,总课时为48学时,其中课堂理论教学为36学时,实验教学为12学时。课堂理论教学,按照单片机内部结构、引脚、最小系统硬件、指令系统、汇编语言程序设计、存储器扩展、键盘与LED等IO接口扩展、AD和DA接口扩展、单片机应用举例顺序讲解相关的概念、知识与应用方法。实验教学中配置了爱迪克AEDK-EAT598单片机实验箱。学生使用该实验箱时,由于实验项目均具有实验程序源代码,教师容易进行指导,学生容易完成实验,许多实验不需要连线。但存在硬件资料不完整和实验系统占用部分资源等缺点,且实验与工程应用相对脱节,学生实际上并未掌握硬件和程序设计方法[4]。他们遇到某个具体的设计题目时,往往不能灵活运用自己所学的知识。
我校单片机课程教学团队长期从事相关技术的教学及应用研究工作,具有较丰富的单片机应用系统设计经验与成功案例。改革传统教学的试点就是从这些成功的应用系统中选用一个难度适中且较典型的案例[5],将其按功能分解为若干个子任务和设计问题,建立一个案例模型。我们围绕这个模型由浅入深地来讲解相关概念、理论和设计方法,课后作业围绕着各个设计任务布置。实验教学不再利用实验箱,而是利用案例硬件环境围绕着设计任务,并用工程设计方法由浅入深、从模仿到自主设计逐步进行。
2 案例模型的提取
案例模型由主模块和若干附加功能模块组成,其硬件结构如图1所示。
图1 案例模型硬件结构框图
该模型以现场总线式过程检测与控制模块为基础,融合了教学团队开发的与信号检测与处理、智能控制、现场总线控制、信号传输与通信协议、嵌入式操作系统及应用等多个案例作为模块,形成模块化的硬件结构。我们根据专业特点及实验需要,利用这些模块构成与工程设计极其贴近的硬件环境。提供典型的应用程序构建及结构作为软件案例。实例程序功能划分如图2所示。一个以温度检测与控制的案例主程序的流程如图3所示,图中虚线框的温度控制对非控制类专业可不做要求。任课教师可提供图3所示程序的全部目标代码供演示,源代码则按需要提供一部分,另一部分要求学生由浅入深逐步完成。
3 基于案例模型的课堂教学
图2 程序功能结构框图
图3 主程序流程框图
我们在介绍单片机的特点和应用后,根据专业特色展示1~2个工程案例样机以及案例模型。并利用案例模型下载运行不同的软件,实现不同的功能,包括所展示工程案例样机以及一些教学实验内容。然后进行案例解剖,从总体结构和设计思路开始介绍案例系统的功能、硬件和软件特点,利用硬/软件功能结构框图介绍硬件和软件基本结构,并将系统按功能与结构分解成若干子任务。按照从具体的局部设计到整体设计的步骤,从简单到复杂逐步深入,在解决设计问题过程中讲解其中的概念、原理和设计方法。
我们在每次课结束前提出下次课需要解决的问题,作为作业要求学生在课外阅读资料并进行设计工作。下次课通过提问和(或)课堂小作业的形式检查任务的完成情况并计入平时成绩,通过点评学生的设计或给出一个参考设计来讲解相关概念和基本原理。
整个课堂教学从硬件及设计阶段开始,掌握单片机的结构与引脚、存储器与IO接口扩展等硬件设计相关概念、知识与方法,然后进行一次硬件认识实验,按照实验指导书的提示,利用案例模型构造一个基本应用系统,编译一个示例程序并下载到所构建的系统中运行。
软件设计阶段教学采用如下顺序。
(1)软件的概念、基本结构、设计流程以及程序流程的图示表示方法;
(2)程序设计的基本方法与步骤;
(3)提出设计任务,引导学生寻找解决程序设计问题的方法并绘制流程图,根据流程图讨论完成案例程序的功能需要什么操作指令,介绍指令的基本概念和机内表示方式,数据的存放与寻址;
(4)介绍汇编语言指令的书写格式,汇编语言程序设计的基本知识,代码与数据存放地址的定义方式以及相关伪指令;
(5)指令功能及应用,在对指令进行讲解过程中,除基本应用外,直接引导学生完成案例各功能程序的设计。第一次给出具体的设计思路,带着学生绘制流程图,依据流程图写代码。学生从模仿开始,逐步过渡到修改程序和独立编写程序。
4 实验教学
全部实验在案例模型上模仿工程设计应用系统方法进行,实验项目选择案例功能中比较典型的、难度适中的设计任务,分为基础实验和提高性实验等不同层次,基础实验必须完成,提高性实验由学生按兴趣自由选择。
第一阶段为系统认识实验,给出主程序、存储器读写(测试)程序、信号灯控制和按键检测功能程序(包括设计思路、程序流程图、示例代码,进行演示与详细讲解),以此学习编译及下载运行方法、获得对硬件软件的初步认识;
第二阶段实验完成模拟信号检测及LED数字显示实验,指导书给出硬件图、程序设计思路和流程图,学生模仿着进行程序设计,完成调试与下载运行;其后从模仿逐步过渡到独立完成设计与调试。
第三阶段,由教师提供除要求学生完成的功能之外的其它功能程序,指导学生装配成一个完整的应用程序,并进行系统软硬件整体测试。
5 结语
近三年来,我校利用案例和任务驱动方法开展了“单片机原理与应用”课程教学改革试点。从试点班与传统教学班的对比上看到,课程结束后,学生对基本概念、原理的掌握并无差异,但试点班较大一部分学生的硬件调试和程序设计能力有较大提高。
我们利用案例模型,在不脱离工程背景的条件下,比直接使用工程案例,其教学活动特别是实验教学更易开展,且更具典型性和灵活性,能兼顾不同专业学生的不同要求与兴趣。如能适当增加课时,将嵌入式操作系统及应用添加到该课程中,将提升该课程的价值。
[1] 莫莉,赵悦,董万福等.“单片机原理”课程教改探析-以成都大学工业制造学院为例[J].成都:教育与教学研究,2010,1(24)
[2] 陈艳丽,刘小燕.“单片机原理与应用”教学改革探讨[J].北京:中国电力教育,2010,4
[3] 史恒亮,刘中华,杨贺丽.《单片机原理与接口技术》教学改革的研究与实践[J].洛阳:洛阳师范学院学报,2010,2
[4] 吴定会,纪志成.单片机原理与应用课程教学的改革与实践创新[J].无锡: 江南大学学报(教育科学版),2008,6(28)
[5] 蒋存波,陈小琴,金红.提高单片机教学效果的实验教学方法探讨[J].南京:电气电子教学学报,2006,6(28)