陈 坚 李 昕 黄 樱
摘要:单片机应用技术学习涉及到的实验实践环节比较多,而且硬件投入比较大。随着计算机技术的进步,基于EDA技术的Proteus能很好解决这个问题。本文通过介绍51单片机最小化应用系统设计实例,详细说明了Proteus在单片机系统开发中的应用。
关键词:单片机;51单片机最小应用系统;Proteus仿真
中图分类号:TP391文献标识码:A文章编号:1009-3044(2008)18-21ppp-0c
Proteus Simulation for 51-MCU Minimum Application System
CHEN Jian, LI Xin, HUANG Ying
(Hunan Institute of Technology of Hunan, Hengyang 421008, China)
Abstract: MCU application technology involves experimental practice more, and hardware investment is relatively large. With the development of computer technology, the Proteus based on EDA technique can solve the problem perfectly. This paper shows Proteus's application by the design of the 51-MCU minimum application system.
Key words: MCU; 51-MCU minimum application system; Proteus Simulation
1 引言
单片机体积小,重量轻,具有很强的灵活性而且价格便宜,具有逻辑判断,定时计数等多种功能,广泛应用于仪器仪表,家用电器,医用设备的智能化管理和过程控制等领域。单片机应用技术学习中涉及到的实验实践环节比较多,而且硬件投入比较大,而且单片机的种类繁多,再加上资金的限制,不可能在一个实验室包括所有种类的单片机仿真设备。因此,引入单片机软件仿真系统建立虚拟实验平台(Proteus仿真软件平台),不仅可以大大提高单片机学习效率并完成很好的完成教学效果,而且大大减少硬件设备的采购,同时降低对硬件设备进行维护的工作量。
2 Proteus功能简介
Proteus软件是来自英国Labcenter Electronics公司的EDA 工具软件,Proteus 软件有十多年的历史,在全球广泛使用。除了具有和其它EDA 工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是它的电路仿真是互动的。针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试。如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,Proteus可以建立完备的电子设计开发环境。
3 51单片机最小化应用系统Protesus仿真
3.1 软件的编写
本系统软件的编写选择在Keil软件环境下进行,芯片的型号选择AT89C51,编写汇编程序并保存为data.asm文件,其程序如下:
;** 51单片机的最小化应用系统主程序 **
MAIN: CLRP1.7;主程序开始,P1.7输出低电平"0",让点亮发光二极管
ACALLDELAY ;调用延时子程序延时一段时间,让发光二极管亮一段时间
SETB P1.7;P1.7输出高电平"1",熄灭发光二极管
ACALLDELAY ;调用延时子程序延时一段时间,让发光二极管熄灭一段时
AJMP MAIN;跳转到程序开头重复执行
;** 51单片机的最小应用系统延时子程序 **
DELAY: MOV R7,#255
Y1:MOV R6,#255
DJNZR6,$
DJNZR7,Y1
RET ;延时子程序返回
END ;程序结束
之后,利用Keil编译器编译调试,编译成功后生成data.hex文件。
3.2 绘制proteus仿真电路图
运行Proteus的ISIS,进入操作界库中选择元件,在Pick devices窗口中选择系统所需元器件,还可以选择元件的类别,生产厂家等。本例所需主要元器件有:AT89C51芯片,12M晶振,LED(发光二极管),若干电容和电阻等,详见表1。选择元器件后连接图1所示电路。
表1 元器件清单
图1 51单片机最小化系统仿真电路
Microprocessor ICs类的芯片的引脚与实际的芯片基本相同, 唯一的差别是隐去了GND和VCC引脚,系统默认的是把它们分别连接到地和+5V直流电源。故在电路连线时可以不考虑电源和地的连接。电路连接完成后,选中AT89C51单击鼠标左键,打开“Edit Component”对话窗口,可以直接在“Clock Frequency”后进行频率设定,设定单片机的时钟频率为12MHz。在“Program File”栏中选择已经生成的data.hex文件,把在Keil编写的程序导入Proteus,然后单击“OK”按钮保存设计。至此,就可以进行单片机的仿真。
3.3 Proteus仿真结果
AT89C51单片机最小化系统仿真结果如图2。仿真结果表明,系统达到了预先发光二极管闪烁的设计要求。在仿真的过程中每个管脚旁边会出现一个小方块,红色的方快表示高电平,蓝色的表示低电平。通过方快颜色的变化可以很方便地知道每个管脚电平的变化,从而能对系统的运行有更直观的了解,这对程序的调试有很大的帮助。
图2 仿真结果
4 结束语
本文结合一个简单的单片机最小化系统设计详细说明了Proteus在单片机开发中的应用。Proteus结合编程软件,如本文提及的Keil软件,能快速地进行单片机仿真,对于教学来说具有事半功倍的效果,对于工程应用来说能加快系统开发进程,降低开发成本。
参考文献:
[1] 陈朝元,鲁五一. Proteus 软件在自动控制系统仿真中的应用[J]. 系统仿真学报,2008,(7):318-320.
[2] 黄夙绚. Proteus与Ultra Edit、Keil的联合使用[J]. 无线电, 2005,(7):36-37.
[3] 李广弟,等. 单片机基础[M]. 北京:北京航空航天大学出版社, 2001.
收稿日期:2008-03-26
基金项目:湖南省教育厅科研资助项目《基于单片机的嵌入式USB主机研究》(07C032)
作者简介:陈坚(1981-),男,福建省福州人,助教,学士,研究方向:电子信息技术;李昕(1979-),女,湖南常宁人,助教,硕士,研究方向:计算机应用技术。