由于电子信息科学与工程类学科专业具有发展速度快和交叉学科多的特点,并随着社会需求的不断变化,需要统筹考虑、全面规划专业教学内容和知识体系。微机原理与接口技术和单片机原理与应用是目前大多数高校电子信息类专业开设的已发展较成熟的专业课程。其中,专业基础课程微机原理与接口技术以早已退出应用领域的Intel 8086/8088 CPU为教学模型机,偏重于系统理论的教学,而单片机原理与应用课程以51系列单片机为教学模型机,偏重于实践应用的教学。我校长期以来与大多数高校一样,前后分两个学期单独开设这两门课程。贯彻落实“高校本科教学质量与教学改革工程”,亟待加强学生的实践能力和创新精神,针对微机原理课程教学内容相对陈旧而两门课程在教学内容上存在一定重复的问题,我校将这两门课程合二为一,课程名称仍为“微机原理与接口技术”,安排45学时的理论教学,并配备20学时的微型计算机接口(单片机)实验。
1课程教学内容探索
专业知识体系由知识领域、知识单元和知识点三个层次组成,专业知识体系分成学科基础知识体系和专业方向知识体系。电子信息类学科基础知识体系由电路与电子学知识领域、信号系统与控制知识体系、计算机知识领域和电磁场知识领域四个基本知识领域构成[1]。传统的微机原理课程作为计算机知识领域的专业基础课,与计算机文化基础、C语言、电路分析、模拟电子技术、数字电子技术等先导课程联系紧密,同时又是单片机原理与应用、嵌入式系统与应用、DSP原理与应用、现代计算机体系结构、计算机网络与通信等后续课程的理论基础。该课程在上述学科前三个基础知识领域与电子信息类各专业方向知识体系之间起到承上启下的作用。
随着集成电路技术的迅猛发展,微处理器的发展也日新月异,其芯片集成度越来越高,内部结构越来越复杂,处理能力越来越强,已进入64位的微处理器时代。对于刚刚进入高校的本科生,如果直接学习32位、甚至64位的微机系统原理,需要掌握的相关背景知识太多,容易陷入技术的泥潭中[2]。而传统的微机原理介绍的16位的微处理器8086/8088及其相应的配套接口芯片早已退出应用舞台,造成知识点与实际应用存在较大的脱节,让学生产生学习这门课程没有用的错觉。虽然微机原理理论更系统,而单片机应用性更强,但这两门课程在内容上(原理与接口应用等)和形式上(指令系统和汇编程序设计等)具有较大的交叉,独立设课将不可避免地出现知识点的重复和各自重点的缺失。此外,尽管微机原理课程偏重于系统理论,但也是一门实践性很强的课程,需要通过实验实践来加深对系统理论的理解,以8086/8088为核心的实验平台缺乏实际应用背景,在学时较少的情况下实验教学效果较差,如果采用广泛使用的51系列单片机来合理地设计实验课程内容,实验将具有更强的实际应用背景,可以更有效地与系统理论知识协调互补,提升学生的学习兴趣,并引导学生进行课外动手实践制作,可更好地增强学生的实践能力和创新精神。为此,我校电子信息类专业将这两门课程合二为一,安排45学时的理论教学和20学时的实验教学。
由于各领域的应用需求不同,微型计算机系统形成了以PC机为代表的通用微型计算机系统和以单片机、ARM,DSP,SOC,SOPC等为代表的嵌入式计算机系统这两大分支。尽管这两大分支系统在外形上具有很大差异,但由于“本是同根生”,它们都是由基本的冯•诺依曼结构计算机工作原理演变而来,存在很多共同的知识点。因此,课堂教学应首先介绍计算机的基本原理:对数制与编码、计算机的基本组成逻辑电路、存储器等基础知识简要回顾,做好课程与数字电子技术课程内容的衔接;明确计算机系统在硬件结构组成上以运算器和控制器为中心引出系统总线配备存储器和输入输出设备,以指令系统作为软件基础明确计算机是按照给定程序,逐条执行指令从而实现特定功能,明确程序设计语言中的机器语言、汇编语言和高级语言这三大类型语言各自的特点和相互关系;硬件系统和软件系统有机组合在一起才能构成完整的微机系统,以计算机执行访问存储器或I/O设备程序过程举例说明微型计算机的基本工作过程和原理;从中断基本概念出发明确中断系统功能和中断处理过程,介绍中断程序的一般设计方法,从而明确计算机中断系统的原理。由于51系列单片机“麻雀虽小五脏俱全”,一个芯片包含了计算机结构中运算器、控制器、存储器和输入/输出5个组成单元,其知识相对简单,容易理解和掌握,而且有广泛的应用背景,比较容易进行各种系统设计实验,因此,学习计算机的基本工作原理后,可着重讲授51系列单片机原理及应用。通过对51系列单片机内部电路结构和工作原理的学习,辅以电源电路、复位电路和时钟电路建立单片机最小系统作为硬件平台;在软件基础方面,理解和掌握80C51指令系统中的寻址方式和指令的分类,掌握各条指令有序组合在一起实现特定功能的汇编程序设计方法,从而更深入地理解和掌握单片机的硬件结构,再偱序渐进地引导学生采用高级语言进行程序设计,实现与C语言课程内容的衔接;通过内部主要功能单元(定时/计数器、UART串行接口和中断系统)结构和编程应用、单片机系统扩展和接口的编程应用的学习,从软硬两方面综合实现单片机的实际应用。在学时允许的条件下,最后简要介绍微型计算机系统的原理与应用,加深计算机系统工作原理的理解,为后续课程学习奠定理论基础。
教学是教师的教和学生的学所组成的一种人类特有的人才培养活动。站上讲台,教师要明确教什么,帮助学生建立学科相关课程的体系结构,让学生明确所学课程在学科体系中的地位和作用,明确能够学什么。以上介绍可明确我校电子信息专业微机原理与接口技术课程改革后“教什么与学什么”的问题。
2课程教学方法探索
通过对课程教学内容的探索,课程重点讲授微型计算机系统架构及其基本工作原理、单片机工作原理和实际开发应用两部分内容,课程具有较强的理论性和应用性,课程内容比较抽象,如何提高课程教学效果,需要深入探索“怎么教与怎么学”的问题。
2.1 课堂授课方式探索
随着现代化多媒体教学方式的普及,传统的纯板书教学方式逐步被多媒体投影教学方式取代。这种
现代化的教学方式在声形结合、图文并茂地给学生带来不同的学习体验的同时,也显现出一定的弊端。通常情况下,教师在控制台讲解投影屏上的教学内容时,学生听到的讲解声音和看到的课程内容处于脱离状态,视觉和听觉难以集中[3]。此外,由于多媒体教学没有教师板书环节,课堂教学信息量增大,学生对课程内容思考时间变短,同时长时间盯着投影屏接受大量信息容易造成视觉疲劳,导致教学效果不佳,不具有传统板书教学方式中学生的视觉和听觉集中在教师板书区域,能够跟随教师板书节奏边听边理解的优点。因此,我们针对具体教学内容采用传统板书与现代化多媒体相结合的方式授课,不仅给学生带来图文并茂的学习体验,同时对于重点和难点知识,采用板书形式循序渐进地引导学生一起互动式理解并掌握,提高教学效果。例如:通过举例方式讲解汇编语言程序设计基本方法,通过课件显示例题题目内容可节省传统板书书写时间,对设计题目分析时,通过课件以动画的形式生动地展示程序流程图,以流程图为依据进一步采用传统板书的方式引导学生一起在黑板上依次书写一条条的指令,完成程序设计,然后将备课时在计算机上编辑好的程序源代码用仿真软件运行并通过投影仪展示程序运行过程。
由于该课程在学科专业体系中承上启下,课程内容与数字电子技术息息相关,在授课过程中要注重相关课程的衔接。例如:讲授总线概念时,可联系数字电子技术课程中讲授的三态门采用分时工作的工作方式,主要应用在计算机总线中;讲授存储器扩展时,联系数字电子技术课程中讲授的半导体存储器的相关概念;讲授定时/计算器时,联系数字电子技术课程中讲授的时序逻辑电路计算器的工作原理;讲授计算机中有符号数采用补码形式可将符号位直接参与运算,结果仍为补码形式表示时,可进一步拓展到数字系统中有符号表示和运算均采用补码形式。此外,课程内容自成体系,需注重课程前后知识点的连贯衔接,在授课过程中,只要讲授的新知识点与前面学习的知识点相关,我们就引导学生翻到教材学过的相关知识点位置,将前后知识点有机结合起来,帮助学生形成完整的课程体系。
由于课程部分内容较为抽象、难以理解,在讲授相关内容时,还可采用比喻的方法用日常生活中相似的事例进行类比,将抽象内容形象化、生动化,让学生更好地理解和掌握。例如:讲授中断处理过程可以用事例“正常讲课过程中出现学生提出疑问并解答完毕回归正常讲课”作类比。“教师正常授课”类似于“执行主程序”,“学生举手”类似于“中断请求”,“教师请学生提出疑问”类似于“中断响应”,“学生提出疑问以及教师解答”类似于“中断处理”,“回到正常授课”类似于“中断返回”,此外,“学生提出疑问前的授课进度和内容”类似于“中断的断点”,学生通过这样的类比可以更好地理解和掌握中断的相关概念。讲授“MOV”传送指令时,可用学生在课堂上抄作业进行类比。讲授空操作指令“NOP”时,可拿学生在课堂上打瞌睡作类比,类比过程引来了学生哄堂大笑,活跃课堂气氛的同时,也提醒部分学生要遵守课堂纪律,不要在课堂上虚度光阴。
2.2 注重实验实践环节
本课程是实践性和应用性非常强的专业基础课,仅仅通过课堂教学来学习掌握基本系统概念、工作原理、设计原则和方法是远远不够的,尤其在当今大力提倡以培养创新能力为核心的素质教育中,为满足经济社会发展对高素质创新型人才的需要,必须将理论和实践紧密结合起来,用理论指导实践,用实践强化理论。因此,教学双方都要注重实验实践教学环节,正确合理地设计实验课程内容,并采用探究式教学方法,以教师为主导、学生为主体,调动学生的积极性,挖掘学生的学习潜力,变被动接收为主动探求,“做中学,学中做”,做到学以致用、活学活用。
实验课程采用层次化的实验实践内容体系,分成基础实验、系统综合实验和课程设计实践三个层次。基础实验内容包括:软件开发环境和简单程序设计,I/O口输入、输出实验,中断、定时器实验;异步串行通信实验,D/A和A/D接口实验等。通过基础实验逐步掌握单片机的定时/计数器、中断、串行通信、系统扩展、接口技术等功能,在实验过程中偱序渐进地引导学生采用C语言进行程序设计。以简易数字时钟设计为题进行系统综合实验训练,让学生将基础实验中掌握的单片机各功能模块组成完整系统,建立单片机系统整体概念,学会站在系统的高度分析和解决问题,初步具备单片机系统的设计和实现能力。通过以上两个层次的训练后,学生有了一定的理论基础以及实践能力,则进入课程设计实践环节。学生通过课外时间自行选择课题,独立完成相关软件和硬件的设计,要求设计实物系统测试验收,训练学生自主解决问题的能力和创新能力。
由于实验项目设计来自实际应用课题,使得实验课程更接近实际应用。设计性、综合性实验占85%,要求根据任务,做好预习,根据参考方案或自行设计硬件电路,编写相应的程序。每位学生独立完成软硬件的调试,做好实验记录并由指导教师检查后签字确认。每个实验结束后,要求学生提交完整的实验报告,包括程序清单、电路原理图、测试记录、结果分析等。
3课程教学目标探索
将传统的微机原理与接口技术和单片机原理与应用课程合二为一后,为了能够实现为后续课程学习奠定较强的微机系统理论基础并掌握单片机系统原理和具备单片机实际应用开发能力的教学目标,我们还需要进一步探讨教学过程中“教到什么程度与学到什么程度”的问题。
微机系统理论基础是原理性的,传统的微机原理课程基于8/16位微处理器展开,而由于技术不断发展,当代微处理器已进入64位的时代,教学内容与实际应用之间存在巨大的脱节。尽管技术在不断变换,但是从计算机面世以来,基本原理没有发生太大的改变,从冯•诺依曼结构提出到现在已有几十年,即使技术工艺有了翻天覆地的变化,但体系结构没有发生本质改变[4]。因此,课程抛开具体的微处理器型号,把握通用微型计算机系统和嵌入式计算机系统这两大分支的共性,以共性为基础建立微型
计算机系统软硬件体系架构,并了解微型计算机技术的发展趋势,为后续课程的学习奠定理论基础。然后学习比较容易入手的单片机原理及应用的相关内容:一方面,通过理论教学与实践教学相结合,掌握51系列单片机应用系统的软硬件设计及调试方法,掌握单片机开发工具的使用方法,锻炼和提高学生的工程实践能力,为新型单片机的学习和应用打下基础;另一方面,通过具体型号的单片机内部结构、工作原理和应用开发的学习,夯实微型计算机系统软硬件体系架构的理解,掌握微型计算机系统学习的一般方法,用于后续课程的学习。
此外,随着编译技术的进步,现代计算机系统中的软件大多采用高级语言编写,仅少量引导代码采用汇编语言编写[5]。因此,在课程中,对于51单片机指令系统和汇编语言程序设计的教学只需要服务于帮助学生更深入地理解和掌握单片机的硬件结构和高级语言程序的相关原理就足够了,之后,引导学生转入高级语言的学习,从而在软件编程时做到得心应手,能够编写出高效的软件程序。
4结束语
本课程是高等院校电子信息类专业必修的专业基础课。我校电子信息类专业将微机原理与接口技术和单片机原理与应用课程合二为一,结合“教什么与学什么”“怎么教与怎么学”和“教到什么程度与学到什么程度”三个问题,从课程教学内容、教学方法和教学目标三个方面对课程教学进行改革。通过理论结合实践的教学活动,一方面让学生具备基于51系列单片机的实际应用系统开发技能,另一方面掌握微机系统理论基础并建立微型计算机系统软硬件体系架构,为后续课程的学习奠定理论基础。