APP下载

基于Proteus和Keil的单片机联合仿真研究

2012-09-25张东辉刘春东邹义龙

河北建筑工程学院学报 2012年4期
关键词:抢答器数码管原理图

张东辉 刘春东 邹义龙 陈 龙

(河北建筑工程学院,河北张家口075000)

1 引言

随着电子技术的发展以及单片机应用技术的普及,涌现出各种单片机开发工具,设计工程师一直在努力缩短新产品的开发周期,而软、硬件并行开发就是一种比较好的方法.并行开发方法需要多个独立的软、硬件开发小组同时进行软件、硬件设计.当原型硬件和嵌入式代码的主要部分实现后,就可以在系统整合阶段将硬件与软件合并起来并开始测试工作.在系统整合时经常会发生严重的问题,有些问题甚至会导致软件或硬件的重新设计.所以,人们需要找到更好的方法来解决这些问题.采用Proteus进行虚拟仿真是解决这类问题的一个绝好的办法.

2 Proteus ISIS与Keil的联合仿真研究

2.1 Proteus仿真平台

Proteus软件已有20多年的历史,是英国Labcenter electronics公司开发的目前世界上最先进、最完整的嵌入式系统设计与仿真平台软件[1].它运行于Windows操作系统上,是一种低投资的电子设计自动化软件,提供Schematic Drawing、SPICE仿真与PCB设计功能,是目前最好的模拟单片机及其外围器件的工具,可以仿真51系列、AVR,PIC等常用的MCU及其外围电路(如RAM,ROM,键盘,马达,LED,LCD,A/D、D/A器件、示波器等),这些都可以直接用于虚拟仿真,极大地提高了应用系统的设计效率[2].

2.2 Keil仿真平台

Keil是德国开发的一个51单片机开发软件平台,支持汇编语言和C语言等高级语言[2].Keil集成开发环境是基于32位的windows环境,它是以高效率的C语言或汇编语言为基础的开发平台,具备强大的软件仿真功能[3].目前,Keil公司推出的C51编译器已被完全集成到一个功能强大的全新集成开发环境Vision 3中,包括项目管理、程序编译和连接定位等,并且可以与Proteus原理图进行联机仿真,为单片机的开发带来极大的方便.

2.3 Proteus与Keil的联合仿真

Proteus与Keil软件的联合仿真研究就是建立一个软硬件联合仿真系统的过程.硬件系统仿真部分由Proteus ISIS软件实现,利用ISIS绘制电路原理图,选择好所需要的电路元器件并进行联接,软件仿真是由Keil软件实现的.程序在Keil仿真平台运行无误并生成测试程序(以hex为后缀的程序文件).软件环境和硬件环境都有自己的纠错和控制界面,在Proteus设计的电路原理图界面,调入已经生成的测试文件,从而可以实现系统的总调,并可以直观的观察到仿真结果.

3 基于Proteus与Keil的实例分析

现在很多文娱活动中都会有抢答这一项,需要用到抢答器.在目前的市场上,普通抢答器都需要几百块,价格比较昂贵.本项目设计的抢答器电路简单、成本较低、操作方便、灵敏可靠,具有较高的推广价值.本文以八路抢答器为例,介绍了基于Proteus的硬件电路设计、基于Keil的软件设计以及软硬件的联合仿真.通过仿真,得到了满意的效果.

3.1 建立电路原理图

利用Proteus的ISIS绘制原理图.八路抢答器由单片机、复位电路、电源电路、选手按键、主持人按键、声音提示和数码显示等部分组成,单片机采用内部时钟方式,P1口接8个选手按键,并进行标号区别,P3口接LED数码管,采用共阴极数码管,P2口接蜂鸣器电路和主持人按键.原理图设计如图1所示.

3.2 基于Keil的软件设计

抢答器的功能比较简单,故采用汇编语言进行程序设计.利用Keil进行程序设计并进行仿真,生成hex测试文件,如图2所示.编译信息显示,程序没有错误.可以将生成的hex文件导入Proteus,进行联合调试.

3.3 软硬件联合仿真调试

软硬件联合仿真调试,也就是将Keil生成的测试文件导入到单片机中去,观察单片机的外围器件在单片机控制下的动作结果.

首先,在Proteus ISIS原理图界面,双击单片机,将所需文件导入单片机,如图3所示.

其次,运行程序,开始仿真.当没有开始抢答的时候,数码管显示为F,为初始状态,如图4所示.当主持人按下按键后,开始抢答,若有选手按抢答按钮,编号立即锁存,并在数码管上显示选手的编号,同时伴随声音提示.此外,要封锁输入电路,禁止其他选手抢答,最先抢答选手的编号一直保持到主持人将系统复位.图5为抢答开始后,8号选手先按下按键,数码管显示相应的选手编号.图6为下一轮抢答开始后2号选手抢答的结果显示.

4 结论

通过以上仿真过程,可以看出,利用Proteus进行单片机设计,可以直观地观察到系统仿真控制效果,为单片机的开发带来极大的方便.Proteus ISIS以其特有的虚拟仿真技术很好的解决了单片机及其外围电路的设计和协同仿真问题,可以在没有单片机实际硬件的条件下,利用PC进行虚拟仿真实现单片机的软、硬件协同设计,仿真结果可以直接用于真实设计,极大的提高了单片机应用系统的设计效率.采用Proteus虚拟仿真技术,可以在原理图设计阶段对系统性能进行评估,验证所设计电路是否达到技术指标要求,使设计过程变得简单容易,降低了解决问题的成本.

[1]朱清慧,张凤蕊,翟天嵩,等.Proteus教程——电子线路设计、制版与仿真[M].北京:清华大学出版社,2008:1~2

[2]孙凌燕,黄允千.Proteus与Keil软件的整合在单片机实验开发中的应用[J].实验室研究与探索,2008,27(4)

[3]范磊,张祖立,崔玉洁.基于Proteus与Keil的采摘机械手控制系统仿真[J].农机化研究2007,12

猜你喜欢

抢答器数码管原理图
声光报警多路抢答器电路的改造分析
微课教学设计之“数码管动态显示”
浅谈STM32核心板原理图设计
电路原理图自动布图系统的设计与实现
基于Protel DXP 2004层次原理图的设计
Arduino编程
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
4路抢答器的设计与研发
多路竞赛抢答器电路的仿真设计