单片机流水灯电路的Multisim仿真?工程师笔记?单片机流水灯电路的Multisim仿真Multisim软件是由美国国家仪器公司(NI)下属的Electron—icsWorkbenchGroup开发的交互式SPICE仿真和电路分析软件,其Multisiml0.1版本是于2008年初推出的最新版.NI电路设计套件Multisim1O.1增加或改进的功能有:Mul—tisim自动化API接口:虚拟NIELVISll:NlELVIS仪器:增强Multisim中NI;LabVlEW仪器增加部分元器件数据库扩展SPICE建模能力;NI更新服务.该软件提供了一个非常大的元器件数据库,并提供原理图输入接口,全部的数模Spice仿真功能,VHDL,Verilog设计接口与仿真功能,FPGA,CPLD综合,RF设计能力和后处理功能,梯形图仿真.Multisiml0.1提供了23种以上虚拟仪器,这些虚拟仪器与现实中所使用的仪器一样,人们可以直接通过虚拟仪器观察电路的运行状态.同时,虚拟仪器还充分利用了计算机处理数据速度快的优点,对测量的数据进行加工处理,并产生相应的结果.Multisim1O.1包括新增和改善的数据库.其中包括来自领先制造商美国AD和德州仪器公司的大约300多个新元器件,这些元件包括运算放大器,比较器,模拟开关和电压参考组件;500多个更新的组件;以及最新的通用电力仿真部件,这些部件包括Buck,Boost,Buck—Boost,和PWM控制器.尤其是单片机应用系统仿真,Multisim10.1内含8051/8052melalink;E编和高级C51精简版编译器.无需与Proteus那样捆绑KeilC软件,目标程序直接在Multisim1O.1内生成.Multisim101电路设计套件对运行环境要求如下:Win—dows2000sp3或更高,WindowsXP,Vista,或64一bitVista;奔腾4系列或相当的CPU(至少奔腾31;512M内存(至少256M);1.5G硬盘空间容量(至少1G);显卡应支持OpenGL的3D图形卡,建议分辨率至少800X600,1024X768或更高;用于开发LabVlEW仪器的用户还必须安装LabVlEW8.2.X或or8.5.X软件.本文介绍Multisim1O.1电路设计套件仿真功能在单片机应用电路开发方面的使用操作.图1是我们要仿真的一个8位彩灯电路.如果已经安装了该套件,那么在"开始"一"程序"中就有"NationalInstruments"这一项.若还没有安装,则可以到下列网址下载试用版安装,免费使用30天:http://www.gongkong.创建工作目录为了便于查找和文件管理,我们专门为Multisim1O.1软件单片机仿真建立一个专用的存放空间(目录).这一步可以不做,采用软件默认的目录.首先在F盘(或非C盘的其他驱动盘上)上新建一个工作空间,命名为"MCU—Workspace".对图1电路要求是8个灯从右到左轮流点亮,即点亮顺序是:LED1一LED2一LED3一LED4一LED5一LED6一LED7一陈竹LED8-+LED1循环;间隔约1秒.用记事本编写好源程序,并把程序命名为"流水灯"文件存盘保存.程序如下:ORG0000HIjmpprogamORG0040Hprogam:movpl,#0ffhmova,#0fehbegin:movpl,aIcalldelay1Srlalimpbegindelay1s:movr1.#1del0:movr2.舟12dell:movr3,#25djnzr3$djnzr2,delldjnzrl,del0retend图1单片机彩灯控制电路绘制仿真电路在"开始"/"程序"/"NationalInstruments"/"CircuirDesignSuite1O.1"下,鼠标左键点"Multisim1O.1I,.打开Multisiml0.1,新建一个电路.在工作空间内单击鼠标右键,在弹出如图2所示的对话框中选"Placecomponent".在如图3所示的"SelectaComponent"对话框中"Group"中屯子世界?2009.07—38—匦雉肇?艄蜘均_∞嘲i蚺b山呻期n^^i}-'∞稿矗叠.艚-嚣■A∞.囊£姗^一…一-赢摹{j●'椭艟■-'_'''一-甘《斡薏.口色I曩甲矗-鼍l|,骥唾器毫-罄舞=西IIc目日_麟壤』},海色谚t,.蛰自Ⅻi黧盼∞l¨矬基___,噩赢≤銎...≮lll.嚣.l''l裹'.l..篝_I._"lll...一慧…鲞_墨嚣刍—函,≮'黛H∞-l恻}帅f曲?iCaKn图2放置元器件的"MCU"下点"805x",用鼠标左键双击在"Component"中的"8052".拖动MCU到合适位置,如图4所示,点鼠标左键,固定元器件.由于放置的是一块MCU,所以紧接着会弹出一个"MCUWizard(MCU向导)",如图5所示,它要求分三步来完成MCU的设置.第一步设置工作空间.在图5中点"Browse"按钮,在"浏览文件夹"中找到我们建好的工作空间文件夹"MCU—Workspace",如图6所示.点"确定".再给工作空间命名,如图7所示.这样完成了第一步设置,点"Next"按钮进入第二步.第二步创建项目.在图8所示对话框中,通常只需选择源程序编程语言是C语言还是汇编语言.即"Programminglan—guage"下的文本框.若需要的话可以修改项目名称,即"Projectname"下的文本框中的内容.完成后点"Next"按钮进入第三步.第三步是添加源程序文件.在图9所示对话框中,点"Add图3选择元器件?工程师笔记?图4拖动MCU图5MCU设置向导图6指定工作空间目录屯子世界?2009.07—39—?工程师笔记?图7给工作空间命名图8创建项目图9添加源程序文件●-.-●-...●-.'●-...'-●.'--..'-..'_-..'●-..--图10完成MCU放置sourcefile"前的单选框,选中;并在下面的文本框中给源文件命名,通常我们采用默认的文件名.完成后点"Finash"按钮结束设置,如图1O所示.把电路保存为"MCU一8Circuit1".接着逐一放置其他元器件.各元器件在库中的位置如下:单片机在"Group"中的"MCU"下"805x",在"Component"中选"8052";晶体振荡器在"Group"中的"Misc"下"CRYSTAL",在"Component"中选"HC一49/U一11";电容在"Group"中的"Basic"下"CAPACITOR",在"Component"中选"30P":电阻在"Group"中的"Basic"下"RESISTOR",在"Component"中选"300Q";发光二极管在"Group"中的"Diodes"下"LED",在"Component"中选"LED—red";电源在"Group"中的"Sources"下"POW—ER—SOURCES",在"Component"中选"Vcc"和"GROUND";全部元器件放置完后,点"Close"关闭"SelectaComponent"对话框.连线完成后如图11所示.点"存盘"按钮保存.图11仿真原理图屯子世界?2009.07——40——添加源程序在图11中点"main.asm"标签页,打开源程序文件,如图12所示.在图中光标位置将编制好的源程序"流水灯"添加进去,如图13所示,再点"存盘"按钮保存.这里有一点必须注意,由于源程序是用来仿真的,所以程序中的延时时间不能与实际中相同,必须修改到几个ms,否则仿真效果不直观,或会误认为电路不工作.图12打开源程序文件图13添加源程序汇编源程序在图13中左边窗口内,用鼠标右键单击"main.asm"图标.在弹出的对话框上选"Build",如图14所示.汇编结果如图15所示,没有错误或报警.若有则需要修改源程序,重新进行汇编直到没有错误或报警为止.仿真观测在图15上点"MCU一8Circuit1"标签页,回到图11界面.点图中右上角的仿真开关,进入仿真状态.可以逼真地看到8个发光二极管从右到左轮流点亮,图16所示给出了第6个点亮时的电路状态.?工程师笔记?图14F-编源程序图15汇编结果图16仿真状态屯子世界?2009.07—41—。