启发式教学法在单片机原理与应用课程教学中的应用*
2021-07-02刘敬
刘 敬
(滨州学院机电工程学院,山东 滨州 256600)
单片机自20 世纪70 年代问世以来,广泛地应用在工业自动化、自动控制与检测、智能仪器仪表、机电一体化以及家用电器等各个方面[1,2]。“单片机原理与应用”是工科类专业(如机械设计制造及其自动化、电子信息工程、测控技术、机电一体化等专业)重要的基础课程之一。通过理论课程的学习,讲解MCS-51 单片机的硬件结构、指令系统、常用的汇编语言设计以及片内各外围部件(中断系统、定时/计数器、UART 串行口)的工作原理,同时,实验课程的实践训练可进一步加深理解所学知识,使学生具备单片机应用系统的初步设计能力,为将来从事机电一体化、测控系统、仪表等方面应用系统的开发打下坚实的基础[3,4]。单片机原理与应用课程内容多,课时少,知识比较抽象难懂,传统的以教师为中心的“注入式”教学模式教学显然不利于学生自主学习能力的提升以及发散性思维的培养。因此,教师如何高效利用课堂,采取什么样的手段引导,让学生从被动接收转为主动思考,对于激发学生求知欲和培养创新意识,最终达到学以致用的效果有着重要的现实意义。
1 学情分析
以滨州学院机械制造及其自动化专业的学生为例,“单片机原理与应用”是本科阶段第四学期开设的专业课程,相比通用性强、直观易懂的先修课程“C 语言程序设计”,本门课程介绍的汇编语言是面向“硬件”的语言,是在围绕单片机的硬件结构和原理进行讲解的基础上,对片内外各功能部件进行编程应用。该课程综合性、实践性较强,所讲授内容相对抽象,而机械类学生对微型计算机的结构和原理的前期认知较少,基础相对比较薄弱,知识迁移能力、知识应用于实践中的能力相对滞后[5,6],在学习过程中容易产生消极被动的情绪。
2 教学现状和主要问题
就机械类专业培养方案及课程标准来看,单片机原理与应用课程的理论课时所占比重较多(理论课32 学时、实验实践课4 学时)。目前,理论授课以课堂板书结合PPT 的讲授法为主。其中,课程理论内容的前期安排通常是对单片机的内部硬件结构进行讲解,比如,在以某具体型号的MCS-51 单片机为例,首先介绍片内硬件组成、引脚功能以及存储器结构,进而讲授8051 指令系统以及汇编语言编程基础,然后从实际应用的角度对中断系统、定时计数器、串行口等主要硬件的具体原理和应用展开讲解。
由于单片机内的硬件部分以及逻辑结构是看不见、摸不到的,对于没有扎实专业基础知识铺垫的学生来说较为抽象难懂,初始接触时学生普遍感到难以理解、无从入手,这就往往导致学生对单片机的学习提不起来兴趣,缺乏主动探索学习的动力[7]。因此,任课教师在教学过程中的教学方法与设计对于单片机原理与应用课程知识的传授显得尤为重要,围绕专业培养方案和课程目标选取合适的教学方法,能使复杂的问题简单化,抽象的理论具体化,学生也能更容易吸收所学知识。
3 启发式教学在单片机课程中的应用
启发式教学是指教师在课堂讲授过程中根据教学内容和学生学习的客观规律,借助生活中的实例与常识,以启发学生的联想扩展为核心,激起学生自主学习的兴趣,引导学生能够生动灵活地接收所学知识的一种教学指导思想[8,9]。启发式教学的关键在于问题情境的设置,可采用循序渐进由浅入深的方式将理论知识融入案例讲解,从“疑”入手,巧设悬念,对于促进学生积极主动地参与教学活动,激发学生独立思考和创新意识,达到教与学的最佳效益具有重要的现实意义。下面以MCS-51 单片机的定时/计数器章节为例,介绍启发式教学在“单片机原理与应用”课程中的应用。
3.1 基础知识的导入
在工业检测与控制中,许多场合都要用到计数或定时的功能。例如,对外部脉冲计数或产生精确的定时时间等。在介绍定时/计数器的逻辑结构之前,可以先从生活中常见的实例引入相关概念,再过渡到课程理论知识的讲解。
1)定时和计数的概念。生活中,计数的例子比比皆是,选举时通过画“正”字对票数进行统计就是计数的一种方式。家庭里面用的水表、电度表,汽车上的里程表等也是计数的形式。在单片机内部也有一类功能部件用于实现计数的功能,该功能部件称为定时/计数器,其计数的功能是通过对脉冲进行计数来实现的。单片机内的定时/计数器除了能作计数之用外,还能用作时钟,如打铃器,家用电器的定时开关等都是其定时功能的体现。然后请同学们思考:计数器是如何作为定时器来用的呢?引入生活实例进行启发,以闹钟为例,定时1h,秒针走了3600 次,时间就转化为秒针走的次数,学生思考秒针走的次数和时间之间的关系是什么(秒针每走动一次的时间是1s)。由此得出,定时/计数器在作定时的功能时,其本质也是通过“计数”来实现的,关键是计数的时间间隔要固定,而这个时间间隔由单片机的晶振频率决定,也可以理解为对机器周期进行计数,即:定时时间=计数次数×机器周期。最后,对本知识点总结,定时和计数是定时/计数器的两种工作模式,本质上都是通过计数来实现的,只是计数对象不同,定时模式下是对机器周期计数,计数模式下是对来自相应引脚(P3.4、P3.5)的外部脉冲计数。
2)定时/计数器的容量和预置数。对于定时/计数器的容量和预置数的讲解,可以从日常生活中用到的容器导入,在我们的认知中任何容器都是有容量的,同样,MCS-51 的两个计数器(T0 和T1)也有计数的上限,由于每个计数器都是由两个8 位的寄存器组合构成,则最大的计数容量是216=65536。随后进一步引导学生思考,若将水杯放在水龙头下接水,水逐滴落入水杯中,当液面上升至与杯口平齐时若再有一滴水落下,水杯会发生什么现象呢?(水满溢出沿杯壁流下)同样,单片机内的计数器达到计数上限后,再多记一次脉冲也会“溢出”,只是“溢出”后的现象是将标志位TF0/TF1 由“0”变为“1”,而标志位的变化就如触发警报一般传达到CPU,则意味着计数/定时的任务已完成。
当学生理解定时/计数器的容量及“溢出”现象后,承接上面所铺垫的基础知识导入问题:生活中的计数一般从1 开始,计到几是几,而单片机中定时/计数器的计数不管从何初始值开始,都是要计到满为止。请同学们思考:一般我们现实生活中经常会有少于65536 个计数值的要求,怎么实现?由此引出预置数的概念,预置数意味着要先给计数器赋初值,而初值的大小由计数上限和要计的次数来确定。
3)定时/计数器的相关控制寄存器。特殊功能寄存器(SFR)是用来对片内各功能模块进行管理、控制以及监视的控制寄存器和状态寄存器,是一个很抽象的概念[10]。对于定时/计数器的相关控制寄存器的讲解可以拿家用电器空调来举例进行知识导入,空调可以制冷也可以制热,且在任意工作模式下都可以选择不同风速(可看作不同工作方式),同样,定时/计数器作为单片机的功能部件同样有不同工作模式(定时/计数)和工作方式(用途和计数能力不同)。空调工作模式和工作方式的选择可以通过控制按键来实现,那怎样让单片机内的定时/计数器按我们想要的用途工作呢?由此问题引出定时/计数器的工作方式控制寄存器TMOD 和运行状态控制寄存器TCON,进而展开介绍各控制位的名称及作用。
3.2 实例讲解定时/计数器的应用
为加深学生对以上所讲理论知识的理解,紧接着以应用实例进行巩固。在工厂车间流水线上一个包装是200 盒,要求每到200 盒就产生一个打包动作,用AT89S51 单片机定时/计数器T0 来实现(选用工作方式1),试写出定时计数器的初始化设置。
结合前面所学知识,引导学生根据任务绘制主程序框图,如图1 所示。
图1 主程序框图
首先,对工作方式寄存器TMOD 赋值(选用T0在方式1 下进行计数,则TMOD 设置为05H)。然后,根据所需计数个数计算初值X,X 为65536-200=65336,对应的十六进制为FF38H,则相应寄存器赋初值为TH0=FFH,TL0=38H。
进一步引导学生写出主程序即定时/计数器的初始化设置:
4 结论
汇编语言、通信技术等知识结合起来的一门课,有一定的理论深度且工程性、实践性强,是工科类学生培养方案中普遍设置的专业课。本文以机械制造及其自动化专业的学生为教学对象,进行学情分析,并指出了当前教学过程中常存在的问题,针对目前学生普遍反应理论知识枯燥难懂的现象,提出采用启发式教学法进行授课并展示了定时/计数器章节的教学设计。经课堂教学实践,发现从生活常识切入所授教学内容,以启发式的教学手段讲解相对枯燥的理论,更能激发学生的学习热情,提高学生的主观能动性。