刘青+任晓芳
摘 要 针对单片机原理及应用课程教学中学生感到难学、教师感到难教的现状,将Proteus仿真软件引入单片机课堂教学中,使课堂教学过程和Proteus仿真技术相结合,实现理论与实践教学一体化,经过实际教学实践,取得良好的教学效果。
关键词 单片机;Proteus;仿真
中图分类号:TP391.9 文献标识码:B
文章编号:1671-489X(2016)20-0052-03
Abstract The simulation experiment is done during the class consi-dering present status and problems in the teaching of the Principle and application of single chip microcomputer major. The demonstra-tion of Proteus simulation experiment can make the students further understand and master the contents they learned from the class. Themethod putting the teaching theories into practice, it is proved throughpractice that effects of teaching can be improved by this means.
Key words MCU; Proteus; simulation
1 前言
单片机原理及应用是电气工程类、电信类和机电类等专业开设的一门非常重要的专业基础课,也是学生参加大学生电子竞赛和进行科技创新活动必须熟练掌握的一门课程。单片机课程具有理论知识体系严谨,抽象和逻辑性强、应用性强等特点,单片机的学习需要硬件和软件相结合进行。多年的教学实践使笔者深感单片机原理及应用既难教又难学,教学效果一直不太理想,主要有以下几项原因。
1)教学模式采用传统的先基础后应用模式,学理论时学生感觉枯燥无味,学习积极性不高,同时有畏难情绪。
2)单片机的学习需要理论和实践相结合,而目前兰州工业学院的单片机教学则是实践环节和理论教学环节相脱节。兰州工业学院的单片机原理及应用这门课程的教学主要包括课堂理论教学环节、课外实验环节、课程设计环节和实训环节。理论教学主要介绍单片机硬件结构、软件指令编程、硬件资源的使用以及和外围接口芯片的应用等,实验是在实验室利用实验箱所提供的硬件资源来设计能完成一定功能的程序或验证一些程序的运行结果,课程设计和实训等环节又在课程结束后进行。由于学生在理论教学时只听到教师在讲解每段程序,不能及时观察到程序运行的结果,很难理解和掌握;而做实验时,只是按部就班,也谈不上灵活应用,致使学生容易对该课程学习缺乏兴趣。
3)由于受到硬件资源的限制,学生动手训练太少。单片机的课程设计和实训等环节是对所学知识的一次系统综合应用,但是由于受硬件资源的限制,学生在课程设计时所设计的硬件电路有些不能在实训环节实现,设计的程序不能观察到运行的结果,学生容易失去继续学习的兴趣。
为增强单片机课程的教学效果,在单片机课程教学中,结合重点、难点,适当将Proteus仿真技术引入课堂。Proteus仿真技术可动态实时模拟程序在硬件元器件(如显示、按键、电机等)运行的状态和结果,有利于形象化教学,吸引学生的学习兴趣,增强教学效果;有利于开阔学生的视野,让学生了解单片机的发展和新技术的应用;有利于培养学生的编程能力和仿真实验能力,建立科学的分析设计理念;有利于提高学生的科学探索能力和自主创新能力。同时,以往在实验室进行的单片机的实践环节,如单片机实验、课程设计和实训,都可以在Proteus软件中进行仿真。Proteus就相当于一个可以移动的、功能非常强大的单片机实验室,给学生提供了自主学习和创新的平台。
2 Proteus简介及特点
Proteus软件是由英国Labcenter公司开发的世界上著名的EDA工具(仿真软件)。Proteus从原理图分布、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现从概念到产品的完整设计,是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台[1]。它运行于Windows操作系统上,具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真等功能,目前支持的单片机类型有MCS-51系列、DSP
系列、Arm系列等[2]。Proteus软件有以下特点。
1)具有强大的原理图绘制功能:Proteus自带35 000多种电子元器件,并且提供总线器件和总线布线,方便使用者绘图。
2)具有完善的电路仿真功能:Proteus可提供常见的激励源,如直流信号、脉冲信号、正弦信号、分段线性脉冲、音频等,并可以设定和改变性能参数;可提供多种仪器仪表的仿真,在虚拟面板上进行参数调节,如交直流电压/电流表、示波器、逻辑分析仪、信号发生器等。
3)单片机协同仿真功能:Proteus支持主流单片机系统的仿真,包括68000系列、8051系列、AVR系列、PIC系列、ARM系列等;支持字符LCD模块、图形LCD模块、LED点阵、LED七段显示模块、键盘/按键等通用外设模型[3]。
4)提供软件调试功能:Proteus软件可对8051、PIC、AVR等单片机进行汇编语言调试,同时支持Keil等第三方的软件编译和调试。
5)强大的PCB设计平台:Proteus具有PCB的自动布局/布线功能和原理图到PCB的自动转换,为电路的硬件实现提供方便,并支持多种输出格式。
3 Proteus仿真在单片机原理及应用课程教学中的应用
在单片机原理及应用课程教学中,LED数码管的动态显示技术在课堂讲授时,因为学生没有感性认识,教师的各种理论分析使学生感到烦躁,失去兴趣。如果利用仿真电路来展示程序在单步执行和全速执行时LED数码管所显示的状态,将有助于激发学生的兴趣并加深理解。下面以LED数码管的动态显示技术为例,说明Proteus仿真技术在课堂教学中的应用。
运行Proteus的ISIS程序,进入仿真软件的主界面,点击Library选择Pick Device/Symbol以打开元件库,将电路所需的元件添加到对象选择器窗口,在图形编辑窗口将各个元器件按设计原理图放置并连线。利用Keil编译器或文本文档编写相应程序,生成.ASM文件,在主菜单栏点击source菜单,选择Add,添加源程序.ASM文件,再选择Builled All进行编译,编译无误后生成.hex文件,并加载到51芯片中。最后点击菜单Debug→Execute或按Play键进行电路仿真。LED数码管的动态显示原理图及仿真结果如图1所示[4]。
在本例中,将要显示的数据的显示码从P0口送出,位选信号从P2.0—P2.3送出,教学中先让学生观察全速执行和单步执行时的显示结果,再结合程序进行单步演示,并引导学生实时观察P0寄存器(80H)和P2寄存器(A0H)的值,如图2所示。此时P0寄存器或P0寄存器物理地址80H的值均为2的共阴极字形码值5BH,P2寄存器或P2寄存器物理地址A0H的值均为FDH,目的是使P2.1引脚输出为0,其余位为1,从而使2能在指定位点亮。通过观察,使学生看到段选码信号和位选码信号的配合输出,有了感性认识,同时增加了学生对动态显示的程序的理解,活跃了课堂气氛,激发了学生学习兴趣,达到事半功倍的效果。
4 结束语
教学实践证明,将仿真软件引入单片机的课堂教学中,可以把抽象的理论知识通过仿真实验形象化,使学生对单片机的学习从不愿学、学不懂到喜欢学、容易学。同时,Proteus软件中有很多实际中不易接触到的仪器,可以很方便地从软件中选用,不受硬件资源的限制,能够增强课堂教学的直观性和生动性,加深学生对概念、原理、编程思路的理解,激发学生的学习兴趣和积极性,从而提高教学质量,增强教学效果。
参考文献
[1]张文梅,黄晓红,崔楠.仿真技术在电类课程实践教学中的应用[J].广东农工商职业技术学院学报,2013(2):42-46.
[2]乔建华,李临生,田启川.Proteus在单片机教学中的应用分析[J].电气电子教学学报,2008(3):70-73.
[3]董红生,秦雯,刘青,等.Proteus虚拟仿真在单片机综合实践教学中的应用探讨[J].中国现代教育装备,2015(2):152-154.
[4]朱一纶.智能仪表基础[M].北京:电子工业出版社,2012.