基于模块化实验系统的单片机教学改革
2009-12-11倪晓军章韵
倪晓军 章 韵
摘要:文章分析了传统单片机教学方法的不足,提出了基于实例化的单片机教学改革思路,介绍了以MCS-51单片机为核心的模块化实验平台的特点及该平台在单片机教学改革中以及对提高学生实践能力的作用。
关键词:单片机;实例化;模块化;实验平台;教学改革
中图分类号:G642 文献标识码:B
1引言
MCS-51系列单片机因结构紧凑、指令系统灵活、成本低、开发工具普及等原因,得到了非常广泛的应用。目前几乎所有工科大专院校都开设了单片机原理及应用等课程。但多年的教学实践经验也表明,单片机原理与应用课程的教学质量较难保证,其主要原因是:传统的灌输式课堂教学方法、过多的理论课时抑制了学生学习的积极性,而较少的实验课时又使本门课程的理论和实践脱节。如何根据单片机原理与应用课程的特点,寻求一种能较好培养学生实践能力的教学方法,是每一位任课教师都应深入思考的问题。
2传统单片机教学模式的不足之处
目前,大多数单片机课程在教学内容设置和教学顺序安排方面仍然采用传统的先基础后应用的模式,即从介绍单片机的硬件结构、指令系统及寻址方式入手,然后依次讲解汇编语言程序设计、系统总线扩展及接口技术,最后介绍应用系统设计实例。在上述安排中,课堂理论教学的学时大大多于实验教学的学时,例如对于32学时的单片机原理与应用,通常实验只分配4~6学时。同时,实验环节通常安排在“汇编语言程序设计”之后才开始进行。这种教学体系的不足之处在于:
(1) 课程开始时原理性内容太多,内容较为枯燥,学生理解困难,影响学习热情;
(2) 侧重于原理知识介绍,应用系统设计及实验学时不足,不利于培养学生的实践能力;
(3) 因课时限制,程序设计语言的介绍止步于汇编语言,更常用的C51则无暇顾及;
(4) 实验系统功能固定,缺少和南京邮电大学通信类教学内容相关的实验内容,实验学时少,不利于进行较为复杂的综合性、设计性实验,使学生在构建实际的单片机应用时缺少系统化的思路。
上述几个原因中,对教学质量影响最大的原因就是实验课时不足、实验系统功能固定以及缺少通信类实验内容,不利于学生进行综合性、设计性实验,学生无法对所学知识融会贯通。同时,单片机原理与应用课程通常在第六或第七学期作为选修课开出,而此时学生由于找工作或考研等多方面因素的影响,对这些课程的重视程度不够,也使得教学效果大打折扣。
3通过实例化教学加强单片机课程的实践环节
对于单片机这类实践性较强的课程,在教学中更应该强调学以致用。为了能更好地培养学生单片机技术应用能力,激发学生的学习主动性,我们在单片机教学过程中进行了实例化教学的探索。所谓的“实例化”教学,就是把单片机课程中所要教授的各项理论知识和实践技能按由浅入深的原则分解到一个个具体的实验实例中,通过让学生在教学过程中按顺序完成这些实验来达到教学目的。在实例的设计和顺序安排上必须注意循序渐进,各部分内容既循序渐进,又互相联系,前面的实例为后续的实例打基础,后续的实例在不断引入新内容和新概念的同时,也对前面实例中提到的知识点进行适当的重复,以加深学生对教学内容的理解。
为了达到上述的教学目的,作者在主持单片机教学改革项目时,决定自行设计模块化的单片机通信接口实验平台,以配合单片机教学方式及教学内容的改革。
4单片机模块化实验系统的特点
4.1实验平台的主要特点
(1) 提供丰富的基本接口实验模块,这些模块主要通过单片机的I/O端口控制。
(2) 提供单片机总线扩展接口,用于控制功能较复杂的器件。
(3) 提供多种通信接口实验模块,如串行口、电话通信接口、网络通信接口、GSM/GPRS接口等。
(4) 选用具有IAP功能及集成MON51调试跟踪功能的CPU,下载实验代码及动态跟踪调试方便,不用仿真器,极大地降低了实验系统的成本。
(5) 实验平台上CPU可选择多种晶振频率,方便不同种类实验的需求。
(6) 大多数实验电路均实现模块化设计,学生进行实验时首先必须设计电路并动手连接,既解决了单片机在控制复杂系统时I/O端口不足的问题,又有利于通过不同模块的组合设计新的实验,也可以锻炼学生的动手能力。改变了以往很多实验系统不需要搭电路,只要运行例子代码即可完成实验的不足。
4.2实验平台的功能
本实验平台目前可进行的验证性实验约有三十多个,包括通过单片机的输入输出接口可直接完成的实验,如通过单片机控制LED、LED点阵、独立键盘、行列式键盘、数码管、E2PROM、实时钟、串行A/D、串行D/A、温度传感器、红外接收器、液晶显示器、直流电机、步进电机等,实验内容基本涵盖了单片机应用领域的各个方面,除了满足单片机原理及应用课程的课内实验的需求外,还可供学生进行课外科技创新活动使用。
除了单片机I/O端口可直接控制的接口模块之外,本实验平台还设计了单片机扩展总线接口,并在总线上接入了32K字节RAM存储器、扩展了并行输入/输出端口、串行口、电话用户线接口、以太网通信接口以及独立的GSM/GPRS模块等器件,在此基础上,可进行十多个和通信相关的实验,如单片机控制扩展串口芯片与PC机的串行通信、基于RS-485接口的多机通信、模拟电话用户摘挂机及脉冲拨号、DTMF信号的接收和识别、TCP/IP协议栈测试、GPRS数传通信、GSM短消息收发等。这些通信类实验是本实验平台的主要特色之一,包含了多种通信方式和通信协议,大部分都属于设计性和综合性实验,具有一定的趣味性和挑战性,对于培养学生的分析能力、实践能力、数据处理能力及资料查阅能力等都大有帮助。
5实验平台的硬件设计
实验平台的硬件结构框图如图1所示。
5.1实验平台CPU的选择
实验系统选择NXP公司(原Philips公司)的P89V51RD2单片机作为CPU。该CPU为8052内核,片内包含64K字节的Flash存储器、1K字节的扩展RAM,以及SPI接口、双数据指针、硬件看门狗电路及5通道的PCA电路等资源;同时该CPU还具有ISP/IAP以及在线仿真功能,可通过串行口更新应用程序代码或下载Mon51仿真代码供跟踪调试程序使用,不需要硬件仿真器即可完成各种实验代码的在线调试,功能强大,性价比高,极其适合实验类应用的需求。
CPU的串行口通过RS-232电平变换电路和实验微机的串行口相连,完成实验代码下载及在线调试工作。
5.2I/O控制类接口模块的设计
所谓I/O控制类接口,指的是可以通过单片机的并行I/O端口引脚直接控制的实验电路部分的接口。例如对于4×4行列式键盘,当采用扫描法工作时,共有4根行扫描线和4根列扫描线,在实验平台中将这8根扫描线引出到图1中所示的I/O控制接口部分。在实验时,可选择单片机P0~P3中的某个并行端口,用8芯扁平电缆将I/O控制接口部分的键盘扫描线和CPU的并行端口连接起来即可进行实验。
与键盘接口类似,实验平台中的1602字符点阵液晶显示模块、实时钟、E2PROM存储器、串行A/D、串行D/A、温度传感器、红外接收模块、8位共阴级数码管模块、可独立驱动的数码管、按键、LED、拨动开关、移位寄存器、CPLD模块、步进电机及直流电机等器件和设备都是通过单片机的I/O端口引脚直接控制的方式进行实验的,但是单片机本身的I/O端口引脚只有32根,无法同时控制所有的资源。为了解决这个矛盾,在电路设计时,将这类器件的受控引脚引出到接插件上,所有和受控引脚引出线相连的接插件就构成了I/O控制接口。在进行具体的实验时,根据实际电路的设计要求,使用两端带有接插件的扁平电缆将CPU的并行I/O端口和I/O控制接口中相应设备的受控引脚连接起来即可。各器件的供电电路、时钟电路、驱动电路等单独设计,在电路板上统一部署,无需通过I/O控制接口控制。
在实验平台的电路设计中,所有器件和设备引出的控制引脚和单片机的I/O端口引脚均已根据各自的特性进行了预处理,如上拉、下拉等,以确保未参与实验的引脚在悬空时状态的确定性,避免引起器件、设备的误动作或损坏。
5.3总线控制类接口模块的设计
在很多应用场合,MCS-51单片机片内资源不能满足要求,此时就要进行系统扩展,引出地址总线、数据总线和控制总线用于控制外部器件设备。此时单片机的P0端口在ALE信号的控制下实现时分复用,扩展为数据总线和地址总线的低8位,P2端口扩展为地址总线的高8位,P3端口的P3.6和P3.7引脚分别用于扩展总线的写选通和读选通信号。总线上可以挂接多个设备或器件,设备或器件通过地址译码选通,由CPU进行读写。
本实验平台设计了总线扩展接口(A)和(B),总线扩展接口(A)和CPU的P0~P3端口复接,总线扩展接口(B)则和地址锁存器及地址译码电路连接。当需要进行总线扩展时,通过40芯扁平电缆将电路板上的总线扩展接口(A)和(B)连接起来即可。此时单片机的P0、P2及P3.6、P3.7作为总线控制引脚使用,不可再当作普通I/O端口使用。
扩展总线使用A15对32K字节的RAM进行片选,同时通过74HC138地址译码电路提供8个地址译码输出,译码电路如图2所示。
图2中的74HC138采用读写信号相与作为使能信号之一,这样就保证了只有当单片机进行外部总线访问时才选通74HC138进行地址译码。实验平台使用这些地址译码输出选通相关的设备或器件进行读写。具体内容如表1所示。
6配套实验的设计及教学改革
6.1验证性实验
验证性实验是为了验证并巩固课程中已学习过的知识点而设计的实验。单片机本身的知识点主要在于其指令系统及内部资源如并行端口、定时器/计数器、串行口等的控制和使用。
各学校开设的单片机原理类课程的学时数基本都是32学时,其中实验学时一般在4~8学时之间,能够进行的实验的数量并不多。为此我们对教学内容及实验方式进行了改革,增加部分基础实验的实验课时,并为此设计了4~6个验证性实验的实例,例如通过I/O端口及循环延时控制LED实现跑马灯、通过定时中断控制LED实现跑马灯、独立按键的扫描、单片机串行口数据的收发等。这些实验的控制流程简单,代码量小,非常容易理解,主要侧重于单片机指令系统及单片机内部资源的使用。实例同时提供汇编语言与C语言两种版本,由老师事先调试运行完毕,在进行课内实验时,让学生直接在该实验系统上运行。由于实验代码已事先调试完毕,所以学生在短时间内可以完成所有的实验,通过对阅读实际代码、编译、连接工程、模拟调试、下载代码并执行这样一个完整的开发过程的实践,切实掌握单片机应用系统的开发流程及开发工具的使用,并能体会到机器指令、汇编语言和高级语言之间的关系,为进一步完成后续的综合性及设计性实验打下基础。为了防止学生在完成验证性实验时走过场,我们还针对每个实验设计了一些思考题,在验收实验时要求学生现场修改并执行,可充分检验出学生对实验内容的了解程度,起到督促学生认真进行实验的作用。
6.2综合性实验
综合性实验是指学生在具有一定的知识和技能的基础上,运用某一门课程中的多个知识点或多门课程的相关知识对实验技能和方法进行综合训练的一种复合型实验。
对于单片机课程而言,综合性实验一般在课程结束前进行,此时学生已经基本掌握了单片机的内部资源及外扩设备的原理,可以运用多个知识点完成综合性实验。我们准备了两个综合性实验:短消息收发终端的设计和分布式温度采集系统。短消息收发终端设计实验要求学生掌握通过单片机外扩总线扩展串行通信接口,实现扩展串行接口和单片机本身串行口之间的数据缓冲、中断式数据收发、数据包分析等功能;分布式温度采集系统实验要求学生掌握单片机多机通信的原理、多机通信环境下数据包收发的设计和实现、通过I/O端口模拟总线时序对扩展设备进行操作等知识。上述两个实验学生可按三人一个小组,任选一个完成。由于它们都引入了功能较复杂的外部设备,学生必须在课外预先进行一定的准备,锻炼了学生资料查阅能力、系统分析能力、分工合作能力及编程实践能力。
6.3设计性实验
设计性实验是指给定实验目的、要求和实验条件,由学生自行设计实验方案并加以实现的一种探索型实验。设计性实验不但要求学生综合课程中的多个知识点和各种实验原理来设计实验方案,而且要求学生能充分运用已学的知识去发现问题、解决问题。开设设计性实验的目的是让学生在实践中将相关的基础知识、基本理论得以实践、融会贯通,培养其独立发现问题、解决问题的能力,以最大限度发挥学生学习的主动性,相对于综合性实验而言,要求更高、难度更大。
对于设计性实验,我们充分利用自制实验设备丰富的系统资源,准备了十余个题目,大部分和通信相关,同时还涉及单片机内部及扩展资源的使用,例如模拟电话用户接口设计、串口/以太网转换模块设计、短信监控系统设计等。这些实验只指定了实验的基本要求和可用的资源,具体的实验方案和实际的设计过程都由学生自行完成。通过这样的实验过程,学生们可以把分散、独立的知识融会贯通,整合为一体,最大程度上了解并掌握了单片机系统开发的全过程,使学生的创新能力、设计能力及实践能力得到了充分的锻炼。
由于课时的限制,设计性实验并不要求作为课内实验完成。我们针对设计性实验进行了教学改革的尝试,鼓励学生选择一到两个设计性实验,在课程结束后的半学期内利用课外时间到开放实验室去完成。学生完成实验,提交实验报告,经实验教师检查合格后可根据实验学时获得一定的自主个性化学分,以此来激发同学们选做实验的积极性。
7结语
本文介绍的单片机实验教学系统具有以下特点:实例化的基础实验可使学生尽快掌握单片机应用系统设计思路及开发工具的使用;丰富的系统资源及资源的模块化设计可组合出较多的实验内容,并在该实验平台上实现了同时进行验证性、综合性和设计性实验的功能,提高了实验平台的性价比;在综合性、设计性实验内容的安排上偏向于通信领域各种技术的应用,符合本校的办学特色。
目前该实验系统已批量生产,首批80套设备投入使用后,经过一个学期两个大班实验教学的试点,教学效果良好,极大地提高了学生的学习兴趣及综合创新能力。
参考文献:
[1] 倪志莲. 单片机课程的实验教学改革[J]. 实验室研究与探索,2006,25(7):843-844.
[2] 陈亮. 单片机课程的教学改革[J]. 实验室研究与探索,2008,27(9):121-123.
[3] 廖平. 单片机实验教学的改革[J]. 实验室研究与探索,2004,23(7):36-38.
[4] 马忠梅. 单片机的C语言应用程序设计[M]. 北京:北京航空航天大学出版社,2003.
[5] 焦振宇. 浅谈新形势下我国高校单片机教学的课程改革[J]. 高教论坛,2005,2(1):102-105.
[6] 秦晓梅. 单片机综合设计实验课程的建设与开发[J]. 实验技术与管理,2004(2):114-118.
[7] 陈鉴富. 单片机实验系统的研制[J]. 中国现代教育装备,2008(3):90-92.