51单片机常用外设(硬件)软仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
51单片机常用外设(硬件)软仿真
(陕西师范大学物理学与信息技术学院,杨春江,西安,710062)
摘要:单片机体积小,功能强,具有很强的灵活性,具有逻辑判断,定时计数等多种功能,广泛应用于仪器仪表,家用电器,医用设备的智能化管理和过程控制等领域。以单片机为核心的嵌入式系统已经成为目前电子设计最活跃的领域之一。但在嵌入式系统的中,开发板成本高,特别是对于大量的初学者而言,还可能由于设计的错误导致开发板损坏。然而我们也发现基于51单片机的嵌入式应用几乎都要用到这几种常用外设硬件(51单片机,LED,LCD,RAM,键盘,D/A,A/D)。Proteus 就是一款功能强大的EDA仿真软件。它拥有丰富的库元件,尤其是动态外设的仿真极大地补充了其他仿真软件的不足;虚拟工具箱的引入为仿真测试提供了方便。
本文以51单片机为例具体分析了该软件在仿真微处理器及其外设硬件方面的独到之处,protues能有效的仿真51单片机及其常用外设硬件,大幅提高开发效率和降低开发成本。
关键词:51单片机Proteus软仿真常用外设(硬件)
0.引言
单片机应用技术所涉及到的试验实践环节比较多,而且硬件投入比较大。在具体的工程实践中,如果因为方案有误而进行相应的开发设计,会浪费较多的时间和经费。所以进行软件的软仿真是非常有用和必要的。有一点必须先肯定,软件仿真不能替代硬件仿真。
软件仿真只是对硬件的仿真模拟,但是软件仿真仍有必要。目标系统是千变万化的,需要开发者去实现。实现可能需要相当长一段时间,甚至完成后不能随意调试,因此有必要对目标系统进行模拟或仿真,以便开发、检测嵌入式软件。
外围设备软件仿真可以快速建立开发目标的模拟系统。由于各仿真部件是软件,因此只要部件存在,就没有采购、制作电路板的过程。将各部件按规则布置、用软件连接,就构成了目标模拟系统。
外围设备软件仿真可以使嵌入式的软件设计与硬件设计相对独立。软件设计者可以先在模拟软件上进行功能和逻辑测试,从而减少了对硬件的依赖。
外围设备仿真软件在一定条件下可以制作为检测硬件功能的工具。如果仿真部件的连接口可以转化为硬件接口,那么就可以在硬件上用软件仿真部件代替被仿真部件运行。
外围设备软件仿真可以降低开发成本。过去有时为了配合软件开发,需要在硬件开发初期制作一些测试硬件。而现在,硬件开发可以按自己的需要按部就班地进行,只要在必要时与软件设计者沟通就可以了。
外围设备软件仿真可以方便单片机程序的调试,在程序涉及外围设备时不必做任何处理直接运行,仿真软件会自动处理对它的访问。
1.Proteus仿真功能简介
作为一款EDA仿真软件,Proteus与同类软件有着很多的相似之处。相比之下,其主要的特点有两个:一是对动态元件的实时仿真,它对“人机对话”的模拟增强了系统的真实性;二是虚拟工具箱的功能,它能与仿真同时进行,测量方便而准确。下面着重介绍一下该软件的这两个突出特点。
1.1.实时动态仿真
与多数仿真软件相似,Proteus有着数量庞大的元件库。Labcenter公司与相关的第三方软件阵容共同开发了6000多个模拟和数字电路中常用的spice模型以及各种动态元件,基本元件如电阻、电容、各种二极管、三极管、MOS 管、555定时器等;74系列TTL 元件和4000系列CMOS元件;存储芯片包括各种常用的ROM, RAM,EEPROM, 还有常见I2C器件等。在丰富的库元件的支持下,原理布图时只要进行相应的调用和连线,通过对每个元件的属性设置完成绘图,然后即可进行仿真和虚拟测量。关于原理图的具体绘制方法不是本文讨论的重点,请参考软件提供的帮助教程
1.2虚拟工具箱
Proteus 的虚拟工具箱提供了电路测试中的常用工具和仪器,主要用于在实时仿真同时的电路参数观测,测量结果随仿真动态变化并显示,可以满足精度要求不是很高的测量分析,对于电路特性的定性分析可以起到事半功倍的效果,大大节约了测试时间和开发成本。
软件提供的虚拟工具和仪器如图1.1所示。
*图1.1 虚拟工具箱
下面我们以示波器为例来说明虚拟工具箱的应用。
图1.2
图中的电路非常简单,单片机AT89C52中写入的是一个输出驱动直流电机的PWM方波的程序。我们把输出管脚连接到示波器的CH1通道,运行仿真,用鼠标调节虚拟示波器的Y轴幅度和X轴扫描频率,整个调节步骤同真实的示波器完全一样。当波形稳定时可以观测到一个占空比可调的PWM方波,如图所示。
2.Proteus在单片机仿真中的应用
基于VSM的理论,Proteus可以仿真很多常用的微处理器。具体来讲,它支持PIC, 8051, A VR, HC11, ARM7/LPC2000等系列多种型号的微处理器、微控制器,仿真时只需在设定元件属性时指定下载程序的路径即可进行实时动态仿真。
2.1.Proteus对51单片机的仿真
就Atmel公司的51系列单片机而言,Proteus支持的型号非常全
面,从低端ATtiny10到高端的ATmega128均有可以直接调用的库元
件。下面以AT89c52为例介绍Proteus支持的仿真功能。
图2.1是Proteus中的AT89c52库元件,其管脚上的标识与该芯片
的Datasheet 是基本一致的,唯一的不同是隐去了GND和VCC管
脚,在绘制原理图的时候可以不用对其进行连接,系统默认的设
置就是将它们分别连到地和5V电源上。具体可以仿真的功能有:
支持所有的I/O操作,内部的定时器、计数器的模拟(包括输入捕
获、输出比较、PWM模式),看门狗定时器,串行UART接口,主、
从模式串*SPI接口,支持内置数模转换ADC,支持Atmel的TWI
(Two*Wire nterface)通信方式,存贮器方面支持外部SRAM扩展以及内置EEPRO 的模拟,支持多个微控制器的协同工作仿真等等。仿真时,首先绘制原理图,然后将任何A VR源程序编译器(WinA VR等)生成的下载文件(*.hex格式)路径指定给原理图中的芯片,就可以观察程序的运行。另外值得一提的是,实时仿真运行的过程中,每个管脚的旁边会出现一个小正方形的指示,红色代表高电平,蓝色带表低电平,从这个小正方形我们可以不用虚拟工具的测量很直观的看到每个管脚的电平变化,对程序的运行做出最基本的判断,对于简单的分析可以节省很多的时间。在本文图1.2和图2.2的例子中,AT89c52的19管脚输出的是方波,所以旁边可以看到一个红蓝交替、以一定频率闪烁的小正方形。
2.2.Proteus与其他单片机仿真软件的比较
51系列单片机可以可用很多的软件进行仿真。常用的有A VR Studio和Vmlab。A VR Studio、Vmlab和Proteus都属于代码级的仿真软件,与芯片级仿真