Proteus和Keil仿真联调在单片机课程教学中的应用

2015-02-22 04:56邵春声
常州工学院学报 2015年3期

邵春声

(常州工学院电子信息与电气工程学院,江苏常州213002)



Proteus和Keil仿真联调在单片机课程教学中的应用

邵春声

(常州工学院电子信息与电气工程学院,江苏常州213002)

“单片机原理及应用”是一门知识性、实践性和综合性极强的课程,所需学习的概念多、图形多、案例多、内容抽象,编程语言为低级语言,枯燥且难以记忆。各部分知识联系紧密,脱节则难以补上,对于初学者来说会感觉入门较难[1]。 在教学中,以前普遍应用单片机教学实验箱(板)和Protel、multisim等EDA软件,教学中明显存在硬件电路固定、实验内容固定、学生不能随意更改、程序无法仿真、与工程实际应用脱节、硬件成本较高、设备维护工作量大等缺陷。这些造成学生虽然理论成绩普遍不错,但在实践应用中却往往束手无策,教学效果不理想。Proteus软件和Keil软件的出现使得建立单片机仿真实验室成为现实,极大地降低了学生动手实践的门槛。

1Proteus软件和Keil C51软件

1.1 Proteus软件

Proteus软件是英国Lab center Electronics公司出品的EDA工具软件。它实现了单片机仿真与SPICE电路仿真相结合,是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台。它具有一些革命性的特点:①互动的电路仿真。②仿真处理器及其外围电路。它还可直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果,配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。

1.2 Keil C51软件

Keil C51软件是美国Keil Software公司出品的51系列兼容单片机的C语言软件开发系统。它的主要特性有:①集成开发环境;②C51编译器和A51汇编器;③LIB51库管理器;④BL51连接器/定位器;⑤μVision3 IDE软件调试器;⑥μVision3 IDE硬件调试器;⑦RTX-51实时操作系统。无论是专业的应用工程师,还是刚学习嵌入式软件开发的学生,无论使用C语言编程还是汇编语言编程,Keil C51方便易用的集成环境、强大的软件仿真调试工具都会令人事半功倍。

1.3 Proteus和Keil C51联合调试的设置

具体步骤:①安装3个软件,分别是Proteus 7 Professional软件、Keil μVision3 IDE软件和vdmagdi.exe插件,其中vdmagdi.exe可以实现Proteus 7 Professional与Keil μVision3 IDE的联调。②对Proteus进行设置。在Proteus中创建原理图文件,打开Debug菜单,选中“Use Remote Debug Monitor”选项。③进行Keil μVision3 IDE的设置。在IDE中打开Project菜单,选中“Options for Target ‘Target 1’”。在“Debug”选项卡右半边选中“Use”单选钮,在下拉列表中选择“Proteus VSM Monitor”。通过以上步骤完成了Proteus和Keil C μVision3的联调设置,如图1所示。

图1 联合调试的设置

2单片机控制的8位流水灯

2.1 应用知识点

流水灯在单片机课程中的地位和“Hello,world!”程序在C语言课程中的地位是一样的,简单而不可替代[2]。 在学习该内容前必须要掌握的知识内容有:①单片机硬件结构;②单片机最小系统;③发光二级管LED;④按键;⑤51的C或汇编语言;⑥Proteus软件;⑦Keil C51软件。

2.2 硬件设计

在Proteus软件中画出流水灯电路图(图2),具体步骤:①打开ISIS 7 Professional软件,单击元件列表区的P按钮,在弹出的元器件选择框中取出绘制电路图需要的元器件,并放入绘图区。②对取出的元器件进行合理布局,根据流水灯设计思路,完成连线,得到原理图(图2)。③对部分元器件进行参数修改以适应具体情况。

图2 单片机控制的8位流水灯

单片机的最小系统配置在该仿真软件中是可以忽略不画的,例如晶振电路、复位电路、电源电路和存储器配置等。但由于是学生学习的首个完整例子,所以还是绘制出以加深印象。

2.3 软件设计

程序在Keil C μVision3 IDE中进行编写。具体步骤:①打开Keil软件,在“Project”菜单中选择“New μVision Project…”,填入led8(表示新建1个项目文件),随后弹出选择单片机型号的窗口,在左侧列表中找到Atmel公司,并选中其产品AT89C52,在随后弹出的窗口中选择“是”;②在“File”菜单中选择“New…”新建一个源文件,键入C程序,并命名为led8,在文件类型中选择c文件,保存文件;③在Keil软件左侧列表中找到“Target 1”,右击其子标题“Source Group 1”,选择“Add Files to Group‘Source Group 1’”,选中刚刚保存的led8.c并添加;④在“Project”菜单中选择“Build Target”,开始进行编译,若出错则在下方窗口双击出错提示进行修改,若成功则提示无错,并生成“HEX”文件。

8位流水灯的具体功能:按一下按键会使点亮的LED流动1位,不按按键则点亮的LED不流动,整个程序无限循环。程序流程图如图3所示。

图3 8位流水灯程序流程图

具体参考程序[3]如下说明。

#include

sbit key=P2^0;

void main(void)

{unsigned char x;

x=1;

while(1)

{P1=~x;

x=x<<1;

while(key);

while(!key);

if(x<128)

continue;

else

{ P1=~x;

while(key);

while(!key);

x=1;}}}

2.4 联合调试

在进行联合调试前需要将“HEX”加入单片机中。具体步骤如下:在Proteus中双击单片机元件,在“Program File”中选中Keil软件生成的“HEX”文件,如图4所示。

图4 导入HEX文件

调试有2种方法:①直接在Proteus软件中单击“运行/暂停”按钮,可以看到程序全速运行时的情况,再次单击该按钮,程序会暂时停止。其优点是方便直观,缺点是发现问题只能暂停,不能准确找到问题的发生点。②在Keil软件的“Debug”菜单中有“Run”“Stop”“Step”“Step Over”“Step Out”“Runto Cursor Line”“Breakpoint”等丰富的调试选项,既可以通过Keil软件调动Proteus全速运行,也可以通过Keil软件依据程序逐句逐段地运行。其优点是若是硬件不能正常地体现设计者的设计思路可以通过Keil软件强大的调试功能来排除故障,缺点是操作起来比较繁琐。

3结语

本文通过8位流水灯电路的操作步骤来介绍Proteus和Keil软件联合调试单片机系统,易学易用,既能让初学者对硬件学习不再畏惧,提高了学习的兴趣和信心,也能借此熟悉单片机研发步骤,为设计出完整的单片机作品打下牢固的基础。

[参考文献]

[1]邵春声.应用型本科院校的《单片机原理与应用》课程教学探讨[J].高校教育研究,2009(2):158.

[2]胡汉才.单片机原理及其接口技术[M].2版.北京:清华大学出版社,2004.

[3]张齐,朱宁西.单片机应用系统设计技术:基于C51的Proteus仿真[M].3版.北京:电子工业出版社,2013.

责任编辑:陈亮

摘要:以AT89C52单片机控制的流水灯电路仿真联调为例,说明了Proteus和Keil软件在单片机课程教学改革中的应用。利用2种软件仿真联调的方式进行单片机课堂教学,增加了教学的直观性,激发了学生学习单片机的兴趣,增强了学好单片机的信心,教学质量也有了显著提升。

关键词:单片机教学;Proteus;Keil;仿真联调

Exploration of the Proteus and the Keil Simulation Software Alignment in the SCM Course Teaching ReformSHAO Chunsheng

(School of Electronic Information and Electric Engineering,Changzhou Institute of Technology,Changzhou 213002)

Abstract:This paper discusses the application of the Proteus software and the Keil software in the single chip microcomputer (SCM) course teaching reform,taking water lamp simulation alignment with AT89C52 single chip microcomputer control circuit as an example.The SCM classroom teaching by using two software alignment in simulation not only made the teaching itself more intuitive,also inspired students′ learning interests,built up students′ confidence and finally improved the teaching effect.

Key words:single chip microcomputer teaching;Proteus;Keil;simulation software alignment

中图分类号:G642

文献标志码:B

文章编号:1671-0436(2015)03-0075-03

作者简介:邵春声(1977—),男,硕士,讲师。

基金项目:常州工学院课程建设项目(A3-4401-14-023)

收稿日期:2015-01-27

doi:10.3969/j.issn.1671-0436.2015.03.018