基于项目驱动的单片机原理及应用课程教学实践
2021-03-02江苏大学电气信息工程学院王照伟
江苏大学电气信息工程学院 王照伟 王 博 陈 前
本文针对《单片机原理及应用》课程实践性强、知识点多但逻辑关联性弱、过于抽象等特点,立足于自动化专业创新型、实践型、知识型复合人才培养目标,基于项目驱动理念,重新构建教学内容,将理论教学与实践教学有机结合,优化教学过程,增强学生学习的主观能动性,解决了传统教学模式重理论轻实践、理论与实践结合不够紧密的问题。教学实践结果表明,学生应用性和创新性能力得到显著提高,专业知识体系得到了完善。
《单片机原理及应用》课程是自动化专业的一门专业基础核心课程,是理论基础课程走向工程实践应用的桥梁,在自动化专业课程教学中起着重要的衔接作用。课程内容包括单片机工作原理、硬件结构、外围接口、汇编/C51语言程序设计、应用系统开发等,涉及数字电路、模拟电路、微机原理、C语言编程等先修课程,呈现出知识点多、分散、关联性弱等特点。传统教学过程中,多采用专业理论知识讲授先行、课程设计实践集中教学后之的方式。但因学生缺乏实际的开发经验和应用背景,对于抽象的单片机硬件结构和工作原理、枯燥的程序语言,往往随着课程的推进,其学习兴趣逐渐丧失。加之课时压缩、学生课后学习主动性不足、课程前后知识点逻辑性差等,学生学习效果并不好。虽然通过集中复习,学生也可通过课程终结性考核,但在后续课程设计环节的知识点扩展应用时,就会暴漏出对于关键知识点掌握严重不足的问题。
《单片机原理及应用》的课程目标是使学生在理解单片机基本结构与工作原理的基础上,掌握单片机应用系统的软、硬件开发能力,为学生毕业后从事控制工程的计算机检测与控制、智能仪表、运动控制等相关工作奠定理论与实践基础。传统教学方式侧重于以教师为主导的单片机相关基础理论知识的讲授,缺乏学生参与的主观性引领教学,课程实践与理论教学衔接关系薄弱,造成学生在课程结束后获得的能力不能有效达到既定教学目标。针对《单片机原理及应用》课程的特点,我们立足于课程目标达成,结合新时代单片机应用实例,基于项目驱动重构课程教学内容,寓教于学,激发学生的学习兴趣,进一步培养学生的创新性思维和解决实际控制问题的能力。
1 项目驱动教学理念分析
传统侧重于理论教学、以教师引导为主的讲授过程,立足于选定教材,通过PPT、板书等形式讲解理论知识,按照教材章节安排顺序讲授单片机的基本结构与工作原理、指令系统、程序设计、外围接口芯片扩展、应用系统开发等知识。但过于抽象的概念、知识体系的逻辑性差、脱离课程实践的关联,学生学习难度大、听课过程枯燥,进一步造成其无法深入理解相关知识点。
项目驱动教学方法通过设计完整的学习情境,将理论与实践互联,重新构建教学内容,通过实际的应用范例将知识点嵌入到项目功能实现中。课程知识不再是空中楼阁,而是可看、可触、可控。教师通过设置问题“What”、“Why”、“How”,引导学生层层推进知识的应用,激发学生的学习兴趣,将教师的被动讲授变为学生的主动学习。在学习过程中,学生不再是漫无目的学习,而是带着实践任务去学习,提高了解决实际工程问题的能力。
2 课程教学目标
江苏大学自动化专业旨在培养专业知识扎实、富有创新能力、具有国际视野的复合型人才。具体到《单片机原理及应用》课程,则期望通过该课程的深入学习,激发学生科技报国的家国情怀和使命担当,使学生具备精益求精的大国工匠精神和百折不挠的抗挫能力。
此外,要求掌握单片机的基本结构和工作原理,包括I/O口、定时器/计数器、串行接口、中断系统、存储系统等工作原理和应用方法;掌握单片机的程序设计方法,涉及存储器扩展、并行接口的扩展、A/D接口、D/A接口等设计和编程方法;掌握单片机键盘接口、LED显示器接口、LCD接口等工作原理和编程方法,如图1所示。
图1 《单片机原理及应用》课程目标及知识结构
在此基础之上,进一步掌握基本的单片机应用系统软、硬件设计过程和技巧,以及基本方法和常用接口的使用方法;能够针对自动控制系统的特定需求,分析关键环节和参数的作用,开发、设计硬件系统和软件程序。达到能够使用单片机的相关知识对目标系统方案进行分析、判断和评价的能力。同时具备自主拓展学习、可创造性解决工程实践问题的能力。
课程目标明确要求教师在教学过程中要注重培养学生的实际工程应用能力,寓用于教、寓教于乐,加强学生对单片机软、硬件结构分析和设计的掌握和认识,夯实进一步学习ARM嵌入式系统、人工智能、过程控制等相关专业课程的基础。
3 项目驱动教学实践
如图1所示,项目驱动教学方法着力于培养学生软硬件设计、关键环节和参数分析与设计的自动控制系统工程设计开发能力。在实践教学中,课程团队从实际案例出发,采用自顶向下的步骤,重新组织教学内容。课程以嵌入式应用系统开发流程为起点,从具体的硬件功能设计到抽象的软件系统分析,将实践与理论充分融合,紧扣培养学生实践能力的目标,具体实施过程如下。
3.1 项目引导,激发学习兴趣
课程开始,通过项目案例,分析具体的嵌入式应用系统开发流程,包括明确系统任务需求;设计硬件电路,以及元器件选择;基于硬件基础和应用需求编写软件控制系统;软硬件调试,完成功能设计。
以“履带式机器人循迹控制”为例,向学生讲授完整的嵌入式应用系统开发实现所涉及到的单片机相关知识,包括“What(单片机是什么?)”,奠定学生的单片机概念,与微机原理课程做出有效区分,避免学生对二者产生混乱;“Why(为什么学习单片机?)”,从就业、高端电子技术的学习等角度引导学生进一步深入理解课程学习目标;“How(怎么学习单片机?)”,涉及硬件电路设计、软件系统设计、集成开发环境使用等知识点,为学生学习后续课程知识奠定初步基础。
3.2 需求牵引,模块化硬件结构设计
以“循迹控制”为例,其硬件结构组成主要包括单片机控制板、传感器模块、电机驱动模块等,功能实现流程为:由传感器模块智能探测路线,并向单片机控制板输出感知信号;单片机控制版基于收到的感知信息,向电机驱动模块输出命令,从而控制履带的运转速度和方向,实现机器人智能循迹。在此过程中,引导学生学习掌握单片机的内部结构组成,并熟练使用相关模块。
单片机内部结构要与芯片内部实际的物理结构和布局区分开,从应用角度展开进行讲授,引导学生通过开发者的视角来学习。同时,单片机硬件结构的学习则应从外到内逐步展开,其外围引脚可分为电源、时钟、控制和I/O等四大类,其分类可用于学习其他同类型芯片的引脚。通过引脚的学习,近一步延伸到单片机内部结构,包括:用于存储数据、指令的程序/数据存储器;与外围芯片连接的I/O口;串行通信口;定时/计数器;中断系统等。需要注意,内部结构和外围引脚互联互通,二者之间的学习需要紧密联系起来。
3.3 强化功能,扩展硬件接口
在“履带机器人循迹控制”项目开发中,单片机开发板需要提供传感器接口、舵机接口。此外,为了丰富其功能,还提供了蓝牙接口、红外接口、按键接口、手柄接口等。以51单片机为例,其提供了32根I/O引脚线,其中P0口和P2口一般多作为地址线和数据线,P3口为控制线,可用于外围硬件使用的只有P1口。因此,基于单片机构成的最小应用系统往往不能满足实际的应用需求,在实际应用中,经常需要扩展单片机硬件接口。
布置硬件接口扩展任务,引导学生对比学习单片机硬件接口的扩展,其中需要扩展的硬件包括程序存储器ROM、数据存储器RAM、数/模和模/数(D/A和A/D)转换、并行接口、键盘、LED/LCD显示器等接口芯片。在外围芯片扩展时,通过三总线结构实现外围芯片与单片机芯片的互联,其中P0口和P2口构成地址总线,P0口复用为数据总线,P3口复用控制线和单片机独立控制线一起构成控制总线。
3.4 软件支撑,驱动硬件功能
运行于单片机硬件平台上的软件系统,是硬件功能的支撑,提供了系统运行的操作系统以及单片机与外部设备通信的功能。软件与硬件相辅相成,共同构成完整的单片机应用系统。软件编程流程包括分析问题明确功能需求、确定算法并绘制程序流程图、编制源程序、程序调试。在“智能循迹”控制中,需要首先明确检测以及控制逻辑算法,在此基础上基于Keil开发工具编写源程序。
在授课过程中需要重点提醒学生,程序的编写离不开硬件的支持。硬件平台变化,程序设计也要做出相应调整。而一段完整的程序由一条条指令组成,指令的执行包括取指令、指令译码、取数据执行、存结果。其中,如何存储、查找数据是指令执行的关键,因此,需要重点讲解指令和数据的存储,即寻址方式。同时根据功能需求,指导学生设计顺序程序、分支程序、循环程序或子程序。而程序的编写离不开编程语言的支持,常用的编程语言有汇编语言和C51语言。
3.5 启发教学,培养创新实践能力
最后,鉴于学生已完成课程理论学习和初步实践项目开发,利用“履带机器人”开发平台提供的单片机最小应用系统及外围功能扩展模块,设置多个综合能力提升课题。将课堂延伸至课下,其目的在于提高学生的主动学习、团队合作、创新实践等能力。
首先,通过网络提供相关的技术资料,让学生提前自主学习,锻炼其资料查阅能力。在课堂上,学生3人一组自由组队,自行讨论设计课题方案。教师需关注每组方案设计的进展与正确性,进行启发式教学。其次,学生根据方案思路,设计硬件和软件系统,并进行系统功能调试。最后,学生进行小组答辩和功能展示。在教学过程中,教师应引导学生充分发挥创新性思维,方案设计不拘一格,不限于已学习的知识。学生则利用网络、课堂、MOOC等多种途径查询资料,完成方案设计和功能演示。
本课程通过采用项目驱动教学理念,使得《单片机原理及应用》课程教学内容与项目案例有机结合,课程内容各知识模块的层次和逻辑更加清晰,变抽象的知识学习为具体的实例教学,进一步加深了学生对理论知识的理解。同时,动态交互式教学模式提高了学生的参与度,激发了学生的学习兴趣。从课后调研情况看,学生的实践能力、创新能力得到了显著提高,对于知识的掌握和理解也有了明显提升。