首页 > 范文大全 > 正文

基于Proteus和Keil的单片机虚拟实验室的建立

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于Proteus和Keil的单片机虚拟实验室的建立范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要 目前大多数高职工科院校单片机实验均采用虚拟实验室来完成。许多院校采用Keil c和proteus两种软件构建仿真单片机虚拟实验室,采用这种方式构建虚拟实验室既经济实惠,又在一定程度上缓解了实验操作过程难及设备维护困难和资金短缺问题。

关键词 单片机 Proteus软件 keil c

中图分类号:TP368.12 文献标识码:A

MCU Virtual Lab Building Based on Proteus and Keil

QIAO Guorong

(Liaoning Vocational College of Light Industry, Dalian, Liaoning 116000)

Abstract Most vocational colleges of engineering microcontroller experiments were done using a virtual lab. Many colleges use Proteus and Keil c microcontroller simulation software to build virtual laboratory, using this approach to build a virtual laboratory that is affordable and in a certain extent, ease the difficult process of experimental operation and maintenance difficulties and shortage of funds.

Key words microcontroller; Proteus; software; keil c

1 传统单片机教学中的弊端

目前很多高职院校均开设了单片机专业课程,但在单片机实际教学过程中尤其在实验教学环节存在很多问题,主要表现在以下几个方面:(1)传统的单片机课堂教学大多数情况下以理论教学为主,理论教学进行过程中会穿插几次实验,在实验过程中需要很多硬件设备,老师在理论教学中很难辅助硬件进行教学,即使有的老师能当场硬件演示,但是效果也不是很好。(2)传统的单片机基础实验教学平台,由于价格昂贵,除了课程规定的实验教学时间,学生平时难得有机会再去实验室,并且传统的单片机实验设备都是事先设计好的成品,学生只能做点连线实验,对于基本细节设计学生很难参与其中,因此,即便有单片机实验,学生的动手能力也很难提高。(3)传统实验配套的实验设备大多数采用实验箱,对于学生来说能做的实验项目是有限的并且是固定的,学生没有自由发挥的余地,并且设备出问题很难维修。(4)传统的单片机实验室建设成本高,随着时间的推移,实验设备不断老化,更换新的设备又得投入大量的资金。针对上述问题综合分析利用Proteus与Keil两款软件联合构建单片机虚拟实验室能很好地解决传统单片机教学中的上述问题,并且能使每个学生人人都可以拥有自己的“实验室”,实验内容可以自由发挥。

2 构建单片机虚拟实验室的方法

(1)Proteus和Keil C软件简介。Proteus是英国Labcenter公司开发的实物仿真与电路分析软件。它在Windows操作系统上运行,该软件不但能仿真单片机CPU的工作情况,而且能仿真单片机电路或其它电路的工作情况,该软件提供了30种元件库,数千种元件,元件有各种模拟器件和集成电路,该软件还提供了大量的仪表资源以及丰富的测试信号用于电路测试。Keil C是德国Keil公司开发的单片机编译器,该软件是目前单片机开发的最好用的工具之一,它不仅可以用来编译汇编源程序,而且还可以编译C源代码,用该软件连接和重定位目标文件和库文件并且创建HEX文件、调试目标程序,它是一款集成化的文件管理编译环境。

(2)如何使用Proteus和Keil C两款软件建立虚拟实验室呢?方法如下:

首先安装Proteus和Keil C两款软件,这两种软件都在各自的环境下都可以进行一定程度的调试,但是Proteus软件只能对硬件进行调试,不能直观地看到软件运行的过程,而Keil C也只能对程序进行调试,不能看到硬件的运行结果。如果把这两种软件联合起来,既能看到软件运行的结果,又能观察到硬件运行的情况,这样学生学习起来非常直观方便。设计结果一目了然。其次是实验教学设计,单片机实验一般情况是老师下发的验证性的实验或是设计性实验,如果是验证性实验学生按照老师设计好的电路从Proteus元件库中找出相应的元件完成电路设计,并把教师下发的程序在Keil C中进行编译调试并把生成的HEX文件应用于单片机CPU中进行验证。而设计性实验要求学生自行设计电路,自行编写程序来验证设计电路的合理性。

图1

(3)教学设计实例。下面利用ATC89C51及LCD设计一电子秒表介绍利用Proteus与Keil C联合仿真,首先在Proteus中设计如图1所示电路。

然后在Keil C中编写如下源程序部分内容如下:

//**************数码管显示函数*******************

void display(uchar qian,uchar bai,uchar shi,uchar ge)

{

P1=0xfe;

P0=table[qian];

delay(2);

P1=0xff;

P1=0xfd;

P0=table[bai]|0x80;

delay(2);

P1=0xff;

P1=0xfb;

P0=table[shi];

delay(2);

P1=0xff;

P1=0xf7;

P0=table[ge];

delay(2);

P1=0xff;

}

//**************延时函数(ms)****************

void delay(uint t)

{

uint i;

while(t--)

for(i=90;i>0;i--);

}

然后在Keil C中编写如下源程序部分内容如下:

编译生成HEX文件,并将该HEX文件载入单片机中,运行电路后就可以看到一电子秒表了。

3 单片虚拟实验室总结

利用Proteus 仿真软件和Keil联合搭建单片机虚拟实验室,不但可以观察和仿单片机内部资源的变化,而且能够在程序调试中观察单片机电路的变化情况,这样使得硬件电路和软件程序互动起来,真正实现了软硬件协同工作共同仿真,设计效果明显。