基于Proteus的AVR单片机仿真和设计浅析
2019-09-10李玉贵
李玉贵
摘 要:以Atmega64单片机读取DS18B20并在数码管上显示温度为例,介绍了如何使把Proteus仿真应用在AVR单片机项目开发中,达到简化步骤快速实现AVR单片机开发项目的目的。
关键词:Proteus;AVR单片机;仿真
1 引言
随着半导体技术的发展,单片机其实已经渗透到我们工作和生活的方方面面,因此越来越多的技术人员加入到基于单片机系统的项目开发行列中来。然而传统的单片机系统开发除了需要购置仿真开发板、下载器甚至价格不菲的示波器、网络分析仪等仪器设备外,开发过程也较为繁琐,因为单片机控制系统的设计一般要经过硬件电路设计、软件设计、系统调试3个阶段,其中硬件电路设计又包括原理图设计、PCB电路板设计、PCB制板和物理样品制作等,且系统的总调试要在硬件电路板制作完成、元器件焊接完成之后才能进行,功能稍有变动又必须重新制板和焊接元器件,从而造成单片机系统开发周期变长、成本变高。而Proteus 等仿真软件的出现很好的解决了这个矛盾,从原理图设计,软件调试和系统调试都可在Proteus仿真平台上进行,若设计出错,还可多次进行仿真设计,直到达到设计要求为止,在仿真的基础上再进行实物制作,就能达到快速实现项目的目的。
2 仿真软件及单片机简介
2.1 Proteus
Proteus是英国Lab Center Electronics公司出品的一款EDA仿真软件。具备原理图布图、代码调试和单片机与外围电路协同仿真等功能,能够实现从想法到成品的完整设计。是一个集成电路仿真、PCB设计和虚拟模型仿真三合一的开发平台,支持多种处理器模型,包括8051、AVR、ARM、8086和MSP430等等常见单片机,在编译方面则支持IAR、Keil和MPLAB等多种编译器。
2.2 AVR单片机
AVR单片机是ATMEL公司研发出的增强型内置Flash的RISC精简指令集高速8位单片机。具备高达1MIPS 每 MHz的处理能力和32个通用工作寄存器,解决了8051等单片机采用单一ACC进行处理造成瓶颈的现象,同时具有上电自动复位、看门狗、启动延时等等功能,外围电路简单,系统稳定可靠。还具有RTC、SPI、UART、ISP、E2PROM、PWM等丰富的片上资源丰富,AVR单片机在成本和性能方面取得了不错的平衡。
3 仿真设计步骤
3.1 硬件设计
本次仿真设计电路的基本功能为,Atmega64单片机实时采集温度传感器DS18B20的数据,并显示在2个7段数码管上,为检验温度采集过程是否正确,还需添加一台示波器对原始数据进行观察。根据以上分析,电路图所需的元器件有:Atmega64单片机、2位7段译码显示器、DS18B20温度传感器、数字示波器、排阻、74LS47数码管驱动器以及组成AVR最小系统所需的外围元件(晶振、电容、电阻、按钮、发光二极管等)。Proteus绘制原理图和Protel等专业PCB画图软件类似,首先从元件库中取出所需元件并在绘图区内布局好,设置元器件属性,接着进行连线、添加必要的网络标示等,最后完成电气检测即可。
3.2 软件设计
本次仿真的程序编写是在ICCAVR集成开发环境下完成的,根据温度监测系统模拟仿真需求,程序设计主要流程包括:初始化单片机,设置定时器与引脚模式,然后在主程序循环中不断通过DS18B20的单总线协议读取实时温度,最后将温度推送至数码管显示。
3.3 固件下载仿真
在确认软件代码调试完成后,即可用ICCAVR将程序编译为HEX二进制文件,然后在Proteus仿真软件中双击原理图中的Atmega64单片机,在弹出的对话框中的Program File选项载入编译成功的HEX文件,点击确定,代表着已经将固件“烧写”进单片机。接着单击Proteus软件左下角的运行按钮就可以对整个系统的软硬件进行仿真,仿真结果见图1。
从仿真结果看,数碼管能按程序的要求显示实际温度,示波器的波形与代码分析数值一致,意味着整个软硬件系统工作正常,效果符合预期。所以基于Proteus的单片机仿真设计基本上可以脱离硬件属性层面,整个系统调试工作都可以在一个软件内实现,任意改动和修改都不会降低开发效率和增加成本,只需要在调试仿真成功后导出PCB、焊接元器件、下载固件就能完成整个项目的开发工作。
4 结语
随着技术的不断进步,单片机性能一直在提高,应用场景还将会持续扩大,Proteus仿真软件极大降低了AVR单片机项目开发的门槛,同时大大的提高了设计效率,对于单片机普及和应用起到了积极的推动作用。
参考文献
[1] 马潮.AVR单片机嵌入式系统原理与应用实践[M].北京:北京航空航天大学出版社,2007.
[2] 张军,吴教育,朱海兵.Proteus软件仿真与Keil的单片机系统设计[J].单片机与嵌入式系统应用,2009年第1期 74-75,78,