肖大薇,李 彤,张盈谦
(大连理工大学 城市学院,辽宁 大连 116600)
单片机即单片微型计算机,是集 CPU、RAM、ROM、I/O接口和中断系统于同一硅片的器件。它具有体积小、可靠性高、功能强、灵活方便等许多优点,故可以广泛应用于国民经济的各个领域,对各行各业的技术改造和产品的更新换代起到了重要的推动作用[1]。单片机技术的应用是信息技术发展的一个方面,它为人们的生产和生活带来了极大的方便。单片机系统及应用是计算机类相关专业的专业基础课程,是学生在学习了计算机组成原理等课程之后,为进一步提高单片机应用系统的使用和设计能力而开设的。本课程主要介绍单片机的内部结构、内部资源和特性、单片机的指令系统、C语言程序设计、存储器和并行口扩展、中断系统和定时/计数器、A/D与D/A、人机交互和串行口通信等主要内容,在授课内容的组织上应力求循序渐进、深入浅出。学生修完本课程可以熟练运用单片机原理的基础知识和程序设计方法,并具有独立设计和开发单片机应用系统的能力。
单片机教学过程中必须理论和实践结合[2]。单片机系统及应用的实验课作为理论课的辅助教学,对于培养学生的学习兴趣、提高学生的实际动手能力有着非常重要的作用。由于硬件设计有一定的难度,所以学生和老师可能更偏重于软件教学,其实单片机应用系统的开发过程中,更重要更基础的是硬件设计[3]。实验过程中可以让学生在完全理解硬件结构原理的基础上,自行设计电路并编写程序,实现单片机应用系统。但是现在的单片机系统及应用的实验课存在着一个非常普遍的问题是:学校已经为本实验课准备好了实验箱,此实验箱能完成流水灯、定时器/计数器、数码管、单片机通信等多个实验。学生在上实验课时,首先根据实验要求编写源程序,然后进行编译仿真并生成可执行文件,下载到单片机上之后进行连线,最后观察实验结果。在整个实验的过程当中,实验板的使用不灵活,而且编程占据了主导地位,学生无法透彻地学到单片机系统的硬件知识,导致大部分学生在出现故障时无法排除。基于以上情况,本文提出了一个自主设计创新实验板系统,该系统要求学生从实验板的硬件选材、设计方案、制图、仿真到焊接的过程全部独立完成,从而在对各个模块进行实验时,学生对自己的实验板结构了如指掌,实验起来得心应手,大大激发了学生的学习兴趣。该系统在实际使用中已经取得了很好的效果。
此系统包括两块板,一块是主机板,另一块是I/O板。主机板上包含单片机的最小系统(包括单片机芯片、电源、复位电路、时钟电路),单片机的并行接口全部由16针排电缆连接插座引出。I/O板上主要包含多个人机接口模块,其中包括八段式LED数码管模块、LED指示灯模块、键盘模块、数模转换模块、单片机通信模块和可扩展模块,每个模块的数据输入输出也都由16针排电缆连接插座完成。系统结构图如图1所示。
图1 系统结构图Fig.1 System structure diagram
电路原理图如图2、3所示。
图2 主机板电路原理图Fig.2 Main board circuit diagram
图3 I/O板电路原理图Fig.3 I/O board circuit diagram
系统通过串口线完成可执行文件的在线下载;通过USB口线提供+5 V电源;主机板上51单片机的P0-P3口全部由16针排电缆连接插座引出;I/O板上有8位数码管,8个指示灯、16个按键和数模转换设备。此实验板可以完成流水灯实验、外中断实验、定时器/计数器中断实验、数码管实验、键盘实验、数模转换实验、单片机通信实验和存储器、I/O接口的扩展实验等,可以完全满足学生实验课上的实验要求。图4是学生完成的一个实验板系统。
图4 实验板系统实物图Fig.4 Physical diagram of the experiment board system
实验课上,学生首先要熟悉元器件、画出电路图并焊接实验板,然后根据实验需求设计连线方案,最后根据连线方案进行编程、调试、下载、观察实验结果。可以使用Keil软件对源程序进行编辑、汇编、编译、链接、仿真和调试。
以下给出以AT89C52单片机为核心的十字路口交通灯设计实例,来演示此系统在单片机实验课程中的使用。AT89C52是低功耗、高性能的CMOS 8位单片机[4]。
实验要求如下:
1)使用T0的工作方式1
2)数码管显示绿灯点亮的剩余时间,每隔1s数码管绿灯计数值减1
3)用指示灯显示交通灯的亮灭状态,在点亮的后半程绿灯要发生1次闪烁
表1 单片机并口使用方案Tab.1 Use plan of MCU parallel port
实现程序流程图如图5所示。
学生在焊接电路板的过程中,熟悉了各个元器件的结构和工作原理,理解了单片机最小系统的构成及其作用[5]。在使用此系统开发单片机应用系统的过程中,从简单的流水灯实验到十字路口的交通灯实验,从数码管的静态实验到8位电子时钟实验,以及键盘的外中断实验,层次化的教学内容,综合性实验的开展,既能很好地配合课堂理论教学的相关内容,又有较大的扩展空间,形成了单片机实验课程相对独立的体系结构[6]。学生必须掌握每个并口的功能并自己设计所有实验的连线方案。调试的过程,也锻炼并提高了学生发现问题和解决问题的能力。
图5 程序流程图Fig.5 Program flow diagram
自主设计创新实验板,使实验板的功能结构更加灵活恰当,不仅激发了学生对单片机的学习兴趣,而且增强了学生的动手能力。同时,积极引导学生利用课堂所学的相关知识参加各种竞赛,这不仅是对课堂内容的补充,也是对课堂教学内容的深化和巩固。现在,已经有越来越多的学生在课余时间设计电子产品并参加社会上各种电子竞赛。这对学校的学风建设起到了非常好地促进作用。
[1]胡汉才.单片机原理及其接口技术[M].2版.北京:清华大学出版社,2007.
[2]张建华,靳婷.Proteus软件在单片机教学中的应用[J].实验科学与技术,2011,9(1):60-61.ZHANG Jian-hua,JIN Ting.Application of proteus software in MCU teaching[J].Experiment Science and Technology,2011,9(1):60-61.
[3]王鑫国.本科生单片机应用能力培养模式改革与思考[J].甘肃联合大学学报:自然科学版,2010,24(6):104-106.WANG Xin-guo.The reform and thinking of undergraduate MCU application ability cultivation mode[J].Journal of Gansu Lianhe University:Natural Science Edition,2010,2424 (6):104-106.
[4]杨俊,周洋洋.单片机原理与实践教程[M].北京:清华大学出版社,2011.
[5]金建设.单片机系统及应用[M].北京:北京邮电大学出版社,2009.
[6]丁保华,张有忠,陈军,等.单片机原理与接口技术实验教学改革与实践[J].实验技术与管理,2010,27(1):117-119.DING Bao-hua, ZHANG You-zhong, CHEN Jun, et al.Experimental teaching reforms and practices of MCU principle and interface[J].Experimental Technology and Management,2010,27(1):117-119.