首页 -> 2007年第12期
Proteus在单片机实验教学中应用的研究
作者:陈 霞
[关键词]proteus软件 仿真 单片机
随着嵌入式系统技术的迅速发展,单片机系统作为一种典型的嵌入式系统在汽车、通信、工业控制、家用电器等领域得到了广泛的应用。同时单片机课程是电子技术应用、机电、数控、自动化等专业的一门重要专业课程,实践性环节比重较大,要求理论与实际紧密结合,应着力于培养学生利用已学知识解决实际问题的能力。因此,在实践教学过程中,要求软件与硬件相结合、理论与实践相结合,但传统的单片机教学实验中,采用硬件仿真器、实验箱或实验板,需采购大量的、昂贵的硬件设备,而且设备维护工作量也非常大。
本文在简要介绍了Proteus仿真软件的基础上,对该软件在MCS-51系列单片机实验教学中的应用进行了详细分析,利用它既可以可调试单片机程序,也可仿真单片机外围器件的工作情况;既能充分利用学校计算机房现有计算机,减少硬件设备的维护工作量,还可为学生提供丰富的实验教学内容,激发学生学习单片机的兴趣,提高教学效果,进一步缩短教学与工程实际的距离。
(一)Proteus仿真软件介绍
Proteus是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机以及外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;提供了多种虚拟仪器,如示波器、逻辑分析仪、信号发生器等,便于调试;支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列以及各种外围芯片;提供软件调试功能,同时支持第三方的软件编译和调试环境,如Keil等软件;具有强大的原理图绘制功能。Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。同时,当硬件调试成功后,利用Proteus ARES软件,很容易获得其PCB图,为今后的制造提供了方便。
(二)实验教学内容组织
在单片机的课程教学中,所涉及到的内容主要包括了四方面,即单片机系统资源、软件技术、硬件接口电路、软件和硬件结合的应用电路。结合这四方面内容,教师来组织单片机的实验教学内容。
1.系统资源部分实验。任何一款单片机均提供了一定的系统资源。对于MCS-51系列单片机来讲,其所提供的系统资源是以寄存器和存储器的方式体现出来的。对于寄存器内容的查看,可以执行Debug菜单下51CPU下的register项打开相应的窗口。对于系统内部存储器的查看,可以执行Debug菜单下51CPU下的internal memory项打开相应的窗口。对应这部分内容,教师在实验设置时应充分考虑到学生初次学习单片机、Proteus仿真软件和相应的第三方软件如Keil,实验内容应尽量简单主要目的是让学生了解MCS-51系列单片机的系统资源、Proteus仿真软件的基本操作和相应的第三方软件的使用,实验内容可以设计成简单的内存块清零程序在Proteus环境下的仿真与调试,学生学会用Proteus和第三方软件查看系统资源。
2.软件技术部分实验。在软件技术的仿真中所涉及到的内容主要包括对语言中具体语句的执行效果验证、算法的具体实现、程序中语法错误的检查和逻辑错误的验证等。对于纯软件的实验教学内容,教师在实验设置时应充分考虑到学生的能力循序渐进的安排实验内容,实验前要求学生根据实验内容自行编制好调试程序以提高实验效率,已达到预期的教学目的。具体实验内容可以设计为二进制BCD码转换、二进制ASCII码转换、程序跳转表、内存块移动、数据排序和多字节BCD码加减法取补等程序实验。
3.硬件接口部分实验。单片机的接口电路所涉及到的知识涵盖了电子电路设计的相关领域,也涉及到单片机应用系统具体的工作需要。接口电路部分涉及到线路的连接、元器件的选择、工作方式的设置、电路工作的稳定性和可靠性、电路的空间需求等等许多方面的知识和内容;但就课程教学来讲,所涉及到的并不需要这么全面。Proteus所模拟的元件真实工作情况和单片机应用系统的实际工作环境还是有一定的差别。因此只能根据教学的需要,让学生自行设计电路并设置其工作方式。可以通过两种方式组织实施:一是根据具体的要求,让学生设计接口电路并编写相应的程序;一是根据程序的要求,设计单片机接口电路。
4.软件与硬件结合部分实验。软件和硬件的结合,就是一个单片机的应用系统。这一部分的实验可以在课程设计中以课题的方式提出来处理,也可以将其分解成不同的接口部分在接口电路的多次实验中分次完成。在这一阶段,硬件电路的设计已经不是最为关键的了,而是软件系统的设计、调试和运行才是实验的主要内容。因此可以以建议性的意见给出具体的硬件电路,并提出该电路所需要完成的具体工作,由学生进行软件的设计和调试。
(三)实验的设计实例
下面通过MCS-51单片机内部定时/计数器和外部中断的应用来说明Proteuus在MCS-51单片机的实验教学中的应用。
1.外部中断实验。
(1)仿真电路。利用P3.2和P3.3口的第二功能,即外部中断0和外部中断1,将该端口通过按钮接地。由于外部中断源为低电平有效,所以当按钮按下则产生中断一次。外部中断0的中断处理程序是对指定单元加1,而外部中断1的中断处理程序是对指定单元减1。两位数码显示接口将P0作为数据口,而P2.0和P2.1口作为片选口,采用动态扫描显示的方式
(2)仿真程序(略)。
(3)仿真结果。仿真电路及仿真结果如图1所示。
2.数字钟实验。
(1)仿真程序(略)。
(2)仿真电路及结果如图2所示。
采用Proteus仿真软件作为的MCS-51系列单片机实验教学平台,既可以进行软件实验如指令系统实验、数值转换、查表等实验,又能通过的虚拟外部电路实现定时计数、中断、串行通信等初学者较难理解的实验。另外,可通过按钮、开关、发光二极管、数码管和液晶显示器进行基本的输入、输出接口实验。还可以利用Proteus提供的丰富元件资源进行单片机软硬件综合应用型实验。由Proteus构成的这类试验平台可充分利用学校计算机房的现有设备,减少了实验设备的硬件维护工作量,实验环境又与实际工程系统非常接近,拉近单片机学习与就业的距离。这种虚拟实验的教学方法,在实验教学中,已经取得了良好的教学效果,特别适合于MCS-51系列单片机基础课程的实验教学。
参考文献:
[1]吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用[M].北京:清华大学出版社,2004.
[2]刘心红,郭福田,孙振兴,曾丽.Proteus仿真技术在单片机教学中的应用[J].实验技术与管理,2007,24(3):96-98.
[3]刘文秀.单片机应用系统仿真策略的研究[J].现代电子技术,2005,28(14):25-27.