【摘 要 】为了能够对单片机开发设计人员起到较好的帮助,文章详细介绍了如何使用Multisim软件对单片机及其电路进行仿真,帮助分析、解决和验证设计,并通过相关虚拟仪器观测仿真结果.采用仿真辅助设计,可以缩短产品开发周期,提高设计人员研发效率.
【关 键 词 】Multisim;单片机;电路;虚拟仪器;仿真
单片机因其使用灵活、体积小、重量轻和低廉等因素,仍然被广泛应用,从事单片机开发的工程师,经常要对其所设计单片机程序及其电路进行实物模拟和调试,非常不便,开发效率相对不高.随着EDA(Electronic Design Automation)技术的飞速发展,采用仿真软件完成单片机系统的开发已经成为开发设计人员一种必不可少的手段.
Multisim是美国国家仪器(NI)有限公司推出的以Windows为基础的仿真工具,适用于模拟、数字电路和MCU(Micro Controller Unit)的设计工作,具有丰富的仿真分析能力.
1.Multisim软件简介
Multisim具有较为详细的电路分析手段,也拥有强大的MCU模块,支持单片机及其设备的仿真,所建项目支持C代码、汇编代码,包含断点设置、查看和编辑内部RAM、特殊功能寄存器等高级调试功能.同时强大的数字仪器和数字分析环境,给用户提供了一个操作便捷、使用方便、效果突出的仿真平台.
使用Multisim可交互式地搭建电路原理图,并对电路行为进行仿真.通过Multisim和虚拟器技术,使用者可以完成从理论到原理图捕获与仿真,再到原型设计和测试这样一个完整的综合设计流程,Multisim软件使模拟电路、数字电路、MCU设计及仿真更为方便,并且广泛的被广大设计和开发人员使用.
2.用Multisim软件进行设计仿真
下面将以图1为例,介绍如何用Multisim软件进行单片机辅助开发,并以此说明采用Multisim仿真的基本应用方法.图1设计是采用单片机”8051”模块的P1.0脚输出1Khz的频率控制信号,通过三极管2N222A驱动BUZZER振动发声,同时通过采用示波器观看P1.0脚输出的频率和我们设计的要求是否一致.本文采用的软件版本为Multisim11.
2.1 组建仿真电路,调出单片机模块“8051”
(1)运行Multisim l1,选择菜单file ànewàdesign,单击基本界面元件工具条上“Place MCU”按钮,在弹出“Select a Comp-onent”对话框的“Family”栏中先选取“8051”模块,其他可以选择默认值,单击“OK”按钮,如图2所示.
(2)鼠标箭头将带出一个“8051”模块,在电子平台上单击鼠标,将弹出的工作区路径设定好,并将工作区命好名.单击next,弹出对话框如图3所示,第一栏项目类型,可以在“Standard(标准)”和“External Hex File(加载外部Hex文件)”之间选择,这里选取“Standard(标准)”;第二栏选择编程语言种类,可在“Assembly(汇编)”和“C”语言之间选择,这里选取“Assembly(汇编)”,则第三栏自动显示“8051/8052 Metalink assembler”;若选取“C”语言,则第三栏自动显示“Hi-Tech C51-Lite piler”字样;第四栏为需要输入的项目名称,这里将项目命名为“8051buzzer”.
(3)单击下方的“Next”按钮,弹出对话框,有两个单选项:“Create empty project(创建空项目)”和“Add source file(添加源文件)”,这里选取“Add source file(添加源文件)”,下面栏中可以输入后缀为“.a”的源文件名,这里采用默认的“main.a”,最后单击下方的“Finish”按钮退出.
(4)单击主菜单“FileàSe”,保存文件名“8051buzzer”,选择好相关路径,注意默认文件名后缀为“ms11”.
(5)在电子仿真软件Multisim基本界面电子平台上,单击主菜单“View/Design Toolbox”,我们可以看到刚刚创建项目“8051buzzer”的相关文件信息,至此,我们调出了单片机“8051”模块并完成了相关设置.
2.2 编写MCU源程序
(1)双击“Design Toolbox”中的源文件“main.a”,在其右侧将打开编写源程序窗口,第一行的“$MOD51”后面绿色字母句子是它的注释,包含51寄存器和端口的预定义文件.
(2)在源程序窗口中输入以下控制源程序.
(3)单击主菜单“MCUàMCU 8051U1àBuild”,将所编程序“烧录”到8051模块中.如果程序语句逻辑格式没有错误,在程序下方打开的电子数据表视窗中可以看到汇编程序分析结果,显示没有错误和警告字样“Assembler results:O-Errors,O-Warnings”;如果程序语句逻辑格式有错误,则程序分析结果显示有几个错误和几个警告字样,必须重新检查所编程序,找出错误修改好,否则不能进入下一步操作.
2.3 调出其他仿真元件,搭建单片机仿真电路
在电子仿真软件Multisiml1基本界面元件工具条中分别调出“VCC”+5V电源、地线、三极管2N2222A一只、3K电阻1只、BUZZER一个,将它们置于电子平台上,从菜单“Simulate àInstruments”中选择虚拟仪器示波器,按照图1所示,连接好电子线路,将相关元件参数设置好,如将BUZZER电压设为4V,也可更改其振动频率.
2.4 执行仿真,查看结果
点击菜单“SimulatoràRun”,则可以听到BUZZER按照我们设定的控制频率发出声响,同时可以在示波器中看到单片机P1.0脚输出的控制信号频率确实为我们所需要的,证实单片机程序正确,图4为示波器观察结果.
2.5 用仿真调试工具帮助调试单片机程序
单击主菜单“MCUàMCU 8051 U1àDebug View”,将打开调试程序和排除故障窗口;单击主菜单“MCUàMCU 8051 U1àMemory View”,将打开MCU存储器窗口,在该窗口下可以看到特殊函数寄存器(R),内部RAM(1RAM),还有内部ROM(IROM)和外部RAM(XRAM)等.借助于以上这些仿真调试工具和MCU的存储器,可以对程序进行诸如设置断点、修改程序、观察地址值、堆栈情况、进入子函数、跳过指令等操作,从而达到验证、调整、修改、完善仿真程序的目的.
3.结束语
通过以上介绍,我们可以看到采用Multisim软件进行单片机程序仿真分析,非常简单方便,通过调试等功能能够帮助我们查找和修改程序,使之满足我们设计要求.特别是我们可以结合其他外设和元件,对单片机整个设计系统进行仿真,并能通过如示波器等仪器,查看到相关结果,验证我们的整体设计.总而言之,采用Multisim软件进行仿真分析,能够很好的帮助我们快速完成单片机系统开发,提高研发效率,提高分析解决实际问题的能力,无需借助实验室的仪器设备,就基本能够完成我们的开发设计.