基于仿真软件的单片机虚拟实验系统设计与应用

2010-11-25 02:37江国学
制造业自动化 2010年12期
关键词:该软件调试单片机

姜 韬,江国学

JIANG Tao, JIANG Guo-xue

(吉林省教育学院 教育技术系,吉林 130022)

0 引言

根据高职工科教育的目标和特点,必须增加实践性教学的课时,注重学生的实际操作能力及技能的培养。为此,实验设备,尤其是开放性的实验设备是不可缺少的。但是,众多的课程都建相应的实验室,显然是不太可能的,购买大量的耗材让学生做出实物,在经费上也是一个不小的负担。有没有别的有效的实验手段来支持实践教学?能不能让学生模拟实物制作来验证所学,提高技能?答案是肯定的,那就是通过软件仿真技术来达到这些要求。

目前各工科高校电类专业都建立了相应的单片机实验室,基本都配备了相应的硬件仿真设备构成的实验板或试验箱。随着技术和产品的更新,原有的实验设备即将过时,更新基本上相当于重建,所以有些学校的单片机实验室还只是基于8051的,像如今应用普遍的AVR、PIC、ARM不能及时补充,造成了学生知识的欠缺。所以建设单片机仿真系统就尤为迫切,应用仿真系统,不仅可以在计算机构成的虚拟环境中设计电路,还可以对电路进行模拟测试,及时发现潜在的问题,缩短新产品的开发周期。

1 引入单片机软件仿真系统

伴随着计算机软件和硬件技术的飞速发展,在各个领域都出现了各种仿真系统,为各种实际系统的开发提供了准确可靠的保证,同时节约了大量的人力和物力。电子信息技术领域也不例外,出现了大量的仿真工具,如各种EDA(Electronic Design Automation电子设计自动化)工具:模数混合仿真的Multisim、OrCAD、Protel等,数字系统设计仿真的Maxplus II、Fundation、Expert等,系统仿真软件Systemview等。

但在EDA实验室中配备的Multisim、Protel、Maxplus II、Systemview等软件和配套硬件,对单片机的仿真却无能为力,因此仍然需要建立单片机实验室。单片机实验室的建设中基本都是采用硬件仿真系统,所以为了保证实验的顺利开设,同一类型的硬件仿真开发系统就需要采购多套设备,硬件的投资成本相对较高。

另一个很重要的原因就是,目前单片机的课程除了主要开设8051系列单片机课程之外,还开设AVR系列、PIC等系列的选修课。为了保证相应实验的开设,必须要有配套的实验系统。如果要保证一定的实验硬件设备套数,这将是一笔更大的开支。所以在经费紧张的情况下,引入单片机软件仿真系统就可以大大减少硬件设备的采购,同时降低对硬件设备进行维护的工作量。

2 单片机软件仿真系统应具有的功能

根据实验目的,仿真软件应该具有如下的功能。

1)单片机仿真和SPICE(Simulation Program with Integrated Circuits Emphasis)电路仿真相结合

在仿真单片机系统时,不仅需要知道单片机内部各种寄存器、数据存储器以及各个端口当前的状态,更重要的是要完成人机通道、前向通道、后向通道的配置与接口。在这些接口电路中,有许多是模拟电路,而模拟电路的仿真就需要SPICE模型,因此必须要求该系统具有SPICE电路仿真功能。传统仿真和分析只能针对非智能器件,而单片机仿真则可以针对单片机甚至更加复杂的嵌入式系统进行仿真,实时地对外围电路同步仿真,大大利于相关项目的开发和应用。

2)支持主流单片机系统的仿真

目前广泛采用的单片机系统有6800系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、HC11系列等。因为不可能为每一个系列的单片机配备一套软件,所以要求该软件尽可能将多个系列的单片机集成在一起。

3)提供软件调试功能

在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能,同时要支持第三方的软件编译和调试环境。只有这样,经过该单片机软件仿真系统训练的学生,才能够较快地熟悉和使用真正的硬件仿真系统。

4)提供丰富的外围接口器件

外围接口不能仅仅限于仅有的几个器件,要把常用的电子元器件尽可能地囊括其中,使之更接近实际工作。在学生训练时,可以选择不同的方案进行比较,这样更利于培养学生的动手能力和电路设计能力。

5)提供丰富的虚拟仪器

在仿真过程中可以利用虚拟仪器测量外围电路的特性,培养学生实际硬件的调试能力。

6)具有强大的原理图绘制功能。

3 单片机软件仿真系统实验室的配置方案

根据上述对软件的要求,并对多种软件进行对比,我们认为Proteus是目前较好的单片机仿真系统,编译调试环境选用Keil C51 uVision3软件,再辅以必要的硬件仿真器、实验板、编程器和示波器即可构成功能强大、使用方便、易于被学生掌握的单片机实验室。

1)软件仿真系统选用Proteus的ISIS(Intelligent Schematic Input System)

Proteus软件是英国Labcenter electronics公司研发的EDA工具软件。由ISIS(原理图设计与仿真平台)和ARES(Advanced Routing and Editing Software。高级布线和编辑软件平台)组成,真正实现了在计算机上完成从原理图、电路分析与仿真、单片机代码调试与仿真、系统测试与功能验证到PCB板生成的完整的电子产品研发过程。

该软件的主要功能有:

(1)满足我们提出的单片机软件仿真系统应具有的功能,并在同类产品中具有明显的优势。

(2)具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能,有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等,使得相关实验更直观,方便,更加有利于教学应用。

(3)支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。

(4)支持大量的存储器和外围芯片。

2)编译调试环境选用Keil C51 uVision3软件

该软件支持众多不同公司的MCS-51架构的芯片,集编辑、编译和程序仿真等于一体,同时还支持PLM、汇编和C语言的程序设计。在调试程序、软件仿真方面有很强大的功能,很多应用MCS-51的工程师都在使用该软件。所以使用该软件将使学生获得很多实际工作经验,并且通过设置可与ISIS联机调试单片机系统。

3)配置计算机平台

上面介绍的这两款软件,对机器的配置要求都不高,主流的计算机运行起来绰绰有余。至于计算机的数量,要根据实验室的规模来确定。我们按标准实验小组人数的数量配置,基本保证每人一台。

4)配置硬件仿真器、实验板、编程器和示波器等

单片机课程安排了10个左右的实验。这10个实验都是比较常规的实验,不需要特殊的器件,所以每门课的实验首先都是通过单片机仿真软件实现的。为了让学生的训练不脱离实际,给学生提供硬件仿真和验证的机会,我们的做法是:学生自己绘制原理图,自己编制程序,在仿真软件里首先调试通过。调试通过后,将自己编译好的程序用编程器去烧录,然后在目标实验板去观察运行结果。如果有问题,再连接硬件仿真器去调试、分析。

配置有限的硬件设备,将节约的资金用于购买仿真软件(使用试用版做试验也足够用了,更是省去了不少的花销),这样我们用有限的资金解决了单片机实验室的建设问题,对于经费紧张的学校有一定的借鉴价值。

4 Proteus与Keil的联机调试设置

两个软件安装后,需要进行相应的设置才能实现联合的仿真功能。

1)在单片机实验室每台电脑上安装Proteus和Keil uVision3软件。

2)把Proteus安装目录下VDM51.dll(C:Program filesLabcenter ElectronicsProteus6 ProfessionalMODELS)文件复制到keil安装目录下的c51in中。

3)编辑keil目录下tools.ini文件,在[C51]项下,加入TDRV5=BINVDM51.DLL。

4)确定单片机实验目的。

5)打开Proteus ISIS软件。设计单片机实验硬件组成框图,建立硬件连接原理图。

6)打开Keil uVison3软件。建立单片机系统软件工程,针对实验要求编制程序。

7)在Keil软件中,选择菜单“project-Options for Target 'Target1'”,在出现的对话框中,选择“Output”页面,选中,“create Hex File”选项;选择“Debug”页面,选中“Use-PROTEUS VSM DRIVER”,进入“Settings”,Host设为127.0.0.1,Port设为8000。

8)在Proteus ISIS软件中,选择菜中“Source”-“Add/Remove Source Code Files”,在出现的对话框中,点击“Chang”按钮,选择从Keil uVison3软件工程中所生成的HEX文件,点击“OK”。在Debug菜单下选中,“Use Remote Debug Monitor”。

9)在Keil uVison3软件中直接进行仿真,连续运行或单步运行,即可在Proteus ISIS软件中看到单片机硬件仿真运行结果。

在联机调试中,单片机软件仿真平台建立过程为(1)—(3)项,实验过程为(4)—(9)项。

5 单片机软件仿真系统实验室的创新应用

建立了单片机软件仿真平台的实验室后,实验、教学和学生的创新实验都发生了很多的变化,学生兴趣大增,实际动手能力显著增强。

首先,实验项目数稳步增加,并已实现该课程实验独立设课,并逐步向半开放实验模式迈进;其次,课程设计,已由原来固定时间、固定题目向现在的全开放、分散型自主模式过渡。再次,改进了教学方式。在单片机教学过程中,应用仿真系统,对单片机系统进行演示教学。学生在老师的启发下,亲自动手完成单片机系统的设计、软件调试、仿真。

同时,我们建立了创新综合实验室,为学生搭建了基于单片机应用的创新平台。创新实验室由电子制作小组具体负责,全天候对外开放。通过这个实验室,加强了学生学习和使用单片机的实践环节,增强了学生的创新意识和创新思维,达到了提高学生的创新能力的目的。几年来,开展了多项单片机制作活动,指导学生进行单片机项目制作,极大地提高了学生的单片机实际应用能力。

[1] 王东峰,王会良,董冠强.单片机C语言应用100例[M].北京:电子工业出版社,2009,12-18.

[2] 刘同法,陈忠平.单片机基础与最小系统实践[M].北京:北京航空航天大学出版社,2007,35-38.

[3] 蔡希彪,曹洪奎,芳琳.单片机电子时钟系统的设计与仿真[J].中国科技信息,2007,(4):61-63.

[4] 李芳,李家庆.基于Proteus+Keil的单片机实验仿真平台[J].中国教育技术装备,2009,(4)67-68.

猜你喜欢
该软件调试单片机
简单灵活 控制Windows 10更新更方便
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
基于航拍无人机的设计与调试
FOCAS功能在机床调试中的开发与应用
核电厂主给水系统调试
无线通信中频线路窄带临界调试法及其应用
Allen & Heath推出GLD Editor控制软件