基于Proteus的软件仿真在单片机教学中的应用
2017-12-27赵永涛��
赵永涛��
摘要:《单片机原理与应用》是电子、电气和机电类专业的一门重要的专业课程。此课程要求理论结合实践,传统教学模式中以讲授为主,验证性试验为辅不能达到良好的教学效果,本文引入Proteus与Keil C51软件联合仿真平台,以单片机中I/O接口功能章节为例,借助仿真平台实现流水灯实验,将单片机与外围器件具体化,增强了学生的感性认知,有助于对单片机相关理论知识应用的理解,进一步提高教学效果。并且,在教学过程中引入仿真环境,避免了教学中因仪器仪表元器件不足的局限性,硬件投入少、避免损耗,并且为学生进行课程或毕业设计提供了创作园地,更有利于专业人才培养,提高了学生学习兴趣和创新能力,具有很大的灵活性和可扩展性。
关键词:Proteus;仿真平台;教学
一、 前言
《单片机原理与应用》是电子信息工程、电气自动化、机电一体化等专业的一门重要的必修课程。这是一门对实践环节要求很高而且与实际应用紧密的课程。课程需要将讲授环节与时间操作环节有机结合起来,以实现学生对理论知识的掌握及软硬件动手能力提高的目的。
此课程传统的教学以讲授为主,验证性实验为辅,但是此类教学方法很难良好地实现预期的教学效果,导致学生在学习的过程中发现课程难度大,理论抽象,以至于丧失学习积极性与兴趣。
为了解决在传统单片机课程存在的这些问题,本文将Proteus软件与KeilC51软件联合仿真应用于单片机课程教学中以辅助教学,让课程理论不再繁琐枯燥,同时又与实践密切关联起来,这有助于增强学生在理论基础上加强实践能力的培养。采用软件中仿真环境代替单片机实验板进行教学,可以将单片机及外围器件形象具体,增强了学生的感性认知,有助于对单片机相关理论知识应用的理解,进一步提高教学效果。
二、 仿真平台介绍
单片机教学仿真平台主要是利用Proteus软件和Keil软件联合调试实现的。
Proteus是国外一款功能强大、应用范围广泛的电路仿真软件,它不仅能够实现原理图的绘制,同时能够对单片机的程序进行开发、仿真验证,还能够快速进入PCB设计。因此,它是一款真正融合了产品设计理念的成熟商业产品。
目前,对于Proteus软件,其主要支持的处理器模型有8051系列、PIC系列、ARM、以及MSP430等类型。在2010年又新增了Cortex和DSP系列处理器,而且随着公司对研发的大量投入,将会适应更多的处理器类型。另外,在编译方面,它也具有对应的接口对多种编译器进行转换。
KeilC51则是一款兼容C语言的单片機编译软件,它不同于其他编译软件,仅采用汇编语言,而是创新性的创建了C语言的接口,从而使它在进行单片机程序的开发、书写时,更加方便。因此,这款软件被许多单片机爱好者所喜爱,在高校教学中也被广泛使用。
Keil提供了一个功能强大的仿真调试器,其中主要包括C编译器、宏汇编和链接器等主要核心模块,这些模块组成了一个完整的开发路径,当操作者在进行单片机程序设计、开发时,能够使工作事半功倍。
三、 仿真教学实例
在学习单片机I/O接口这一章节中,单片机可以利用32个并行接口可以实现信号的感知与控制外部资源,此时引入利用单片机AT89C51流水灯实验,结合I/O接口的作用观察输出控制现象,以实验现象结合理论,来进一步加深学生对该知识点的印象。
1. 硬件仿真设计
启动Proteus中硬件设计模块ISIS绘制电路原理图,添加AT89C51单片机及外围电路构成单片机的最小系统(仿真软件中电源电路省略)。
图1流水灯实验仿真原理图
2. 软件设计并联合仿真
(1) 利用KeilC51设计流水灯驱动程序(如下)。
(2) 调试、创建目标文件:*.hex,
(3) 在Proteus仿真环境中将目标文件下载至AT89C51单片机中。
流水灯实验程序如下:
#include
#define LED P0
void delay(int x);
main()
{
unsigned char i;
while(1)
{
LED=0xfe;
for(i=0;i<8;i++)
{
delay(100);
LED=(LED<<1)|0x01;
}
}
}
void delay(int x)
{
int i,j;
for(i=0;i for(j=0;j<600;j++); } 3. 观察仿真结果 点击仿真环境中开始按钮,可以观察到8个LED发光二极管的流水灯点亮现象。 通过本实验可以将单片机I/O接口的功能形象化,可以在一定程度上实现了实物实验的展示效果,但是又不需要各种各样的实验设备器材,加深了学生对该知识点的印象,提高了学生学习的兴趣。 四、 结语 结合上述教学实例,可以发现将Proteus软件仿真引入单片机课堂教学,将具有一些传统教学所不具备的优势: (1) 便于课堂演示,教师可以通过PPT的形式将仿真过程投影在大屏幕上,或者直接在线操作仿真过程,这样教学相当直观,能够让更多学生了解。因为传统的实验演示只有一部分人能够观察到,而且在修改方面繁琐,需要拔片、写片和插片。因此,这种方式更加方便,易于操作。 (2) 学生不用担心犯错,可以课下单独多次实验,因为只需要下载一个软件就可操作,他们可以在课堂上教师教授相关内容后,课后反复的进行练习,并为下一节课的内容进行提前准备。另外,由于是纯软件仿真实现,学生能够完成整个设计过程,这样接近工程实践。相比于传统实验,它克服了实验箱教学中实验内容固定的局限性,不仅提高了学生的实验兴趣,还拓展了学生的思路、培养了学生分析问题解决问题的能力。 (3) 使用Proteus教学,可以减少对硬件的损坏,教师可以让学生先在软件中运行,确定没有错误后,再进行实训操作,这样不仅省时省力,还可以节省因方案不正确造成的硬件投入的浪费,减少器材的损耗。同时,该软件提供丰富的虚拟仪表,不管在质量还是在数量上都是经济可靠的。 (4) Proteus是一款用途广泛的软件,无论是学生电子电路的课程设计、毕业设计;抑或是参加各类电子设计大赛,均可用该款软件完成。除此之外,Proteus提供了丰富的元器件库,可以丰富学生对相关知识的了解。因此,通过课堂教学引入该款软件,又为学生提供了一个培养实践精神、创造精神的平台,学生可以将课堂学到的东西进行拓展,从而更好的学有所用,这也是教学的最终目的。 综上所述,在单片机教学过程中引入Proteus软件与KeilC51的联合仿真相结合教学,有利于促进课程和教学效果,更有利于专业人才培养,提高了学生学习兴趣和创新能力,具有很大的灵活性和可扩展性。另外更重要的是Proteus软件提供了大量可靠的虚拟器件和仪表,能够有助于提高教学效率,也对学生实践能力的培养具有重大的现实意义。 但是仿真平台不能代替实际硬件电路,在教学过程中要强调仿真与实际的区别,在实际中一些具体的问题还是以具体的硬件电路为准,仿真手段只能作为参考。 参考文献: [1]胡汉才.单片机原理及其接口技术[M].3版.北京:清华大学出版社,2010:16-18. [2]吕景泉.单片机原理与应用[M].2014年6月第1版.华东师范大学出版社,2014:37-38. [3]杨俊起.仿真软件在单片机教学中的应用[J].专业教学研究,2007:94-95.