原创 Multisim10在51单片机仿真中的运用

2011-9-28 23:59 7138 9 11 分类: MCU/ 嵌入式
 单片机体积小,质量轻,具有很强的灵活性,而且价格也不高,从而得到越来越广泛的应用。其中以Inter公司推出的8051 /8052芯片最基础、最普及、最常用。8051 /8052在小、中型开发场合应用很广,已成为单片机领域的标准。

  在电子仿真软件Multisim10中,也引入了单片机仿真内容,且它的模块型号就是最常见和应用广泛的8051 /8052。在Multisim10中, 8051 /8052 不但可以用汇编语言编写程序,同时也支持C语言编写程序,拓展了单片机8051 /8052的使用,使虚拟仿真显得更加灵活和实用。

  下面以一个具体的发光二极管闪烁应用例子来说明(用C语言编写程序) ,详细介绍如何实现Multisim10单片机仿真,计数器的电路原理图如图1所示。


20110928233745001.gif

图1 发光二极管闪烁电路原理图

  1 组建仿真电路

  1. 1. 3 鼠标箭头将带出一个“8052”模块,在电子仿真平台上单击鼠标,将先弹出MCU向导对话框之一,第一栏是工作区路径,第二栏是工作区取名,这里输入“my mcu design1”,最后单击下方的“Next”按钮,如图2所示。

20110928230529001.gif

图2 MCU向导对话框之二

  1. 1. 4 再次弹出MCU向导对话框之二,共有4栏选项,第一栏为项目类型,一般选择“Standard (标准) ”;第二栏选择编程语言种类,单击右侧下拉箭头,可以在“Assembly C汇编”和“C”语言之间选择,这里选取“C”语言;则第三栏自动显示“Hi-tech C51-Lite compiler”字样; 第四栏可以输入项目名称,本文取名为“project1”,最后单击下方的“Next”按钮,如图3所示。

20110928230628001.gif

图3 MCU向导对话框之三

  1. 1. 5 再次弹出MCU向导对话框之三,有2个单选项:“Create emptyproject (创建空项目) ”和“Addsource file (添加源文件) ”, 这里选取“Add sourcefile”;下面栏中可以输入后缀为“。 C”的源文件名,这里就用“LED001. c”最后单击下方的“Finish”按钮完成。

  1. 1. 6 完成MCU向导对话框之后,这时能在电子仿真平台上显示出原来调出单片机模块U18052,右击鼠标退出元件操作。

  1. 1. 7 保存文件,在文件名栏输入“led11”文件名,默认文件后缀“.ms10”。

  1. 2 在电子仿真软件Multisim10基本界面平台上,单击主菜单“View /Design Toolbox”,在基本界面左侧将打开“设计工具盒”窗口,单击“led11”前的“ + ”号可以看到刚才命名的工作区“my mcudesign1”,在工作区下面是项目名“project1 ”, 在项目名下面是源文件名“Led001. c”,如图4所示。

20110928230954001.gif

图4 工作区项目和文件

  2 编写MCU源C语言程序

  2. 1 双击“设计工具盒”中的源文件“Led001. c”,在其右侧将打开编写程序窗口,删除已有的文字注释说明。

  2. 2 在源程序窗口输入以下发光二极管闪烁点亮C语言源程序:

#include <htc.h>
void delay( unsigned int i)
 {
  while(i--) ;
 }

void main()
{
  while(1)
 {
  P1=0x00;
        delay(100);
  P1=0xff;
  delay(100);
 }
}

2. 3 单击主菜单“MCU /MCU8085U1 /Build”,“Build”的结果将输出到“Sp readsheet View (电子数据表视图) ”中,同时也将所编程序“烧录”到8052 模块中。

  如果程序语句逻辑格式有错误,稍等片刻,在程序下方打开的电子数据表视图中可以看到程序分析结果,必须重新检查所编程序,找出错误修正改之,方能进入下一步操作。运行本程序在电子数据表视图显示结果如图5所示,显然没问题, 有些警告可以忽略,只是编程程序中有些元素设置了未用而已。

20110928232927001.gif

图5 C语言编程分析结果

    3 调出其他仿真元件,搭建单片机仿真电路,进行仿真

  3. 1 单击电子仿真软件Multisim10基本界面元件工具条,从不同的元件库中,分别调出相应的元件(三极管、电阻和数码管等) ,按图1 进行连接,然后运行仿真。

  3. 2 按图1所示仿真电路接线无误的前提下,单击基本界面右上角仿真开关按钮。

  3. 3 电子仿真工作平台将会看到LED按编好的程序完成发光二极管闪烁点亮的功能。点亮和关闭的状态如下图6和图7

20110928233608001.gif

图6 发光二极管点亮

20110928233745001.gif
图6 发光二极管熄灭

  4 仿真调试工具

  4. 1 在“发光二极管闪烁点亮”仿真电路运行的情况下,单击主菜单“MCU /MCU8085U1 /Debug View”,将打开调试程序和排除故障窗口。

  4. 2 单击主菜单“MCU /MCU8085U1 /Memory View”,将打开MCU存储器窗口,在该窗口下可以看到特殊函数寄存器( SFR ) ; 内部RAM ( IRAM ) ; 内部ROM( IROM) ;外部RAM (XRAM) 。借助于以上仿真调试工具和MCU的存储器,可以对程序进行诸如设置断点、修改程序、观察地址值、堆栈情况、进入子函数、跳过指令等操作,从而达到验证、调整、修改和完善仿真程序的目的,直至完成所需功能为止。

  5 结束语

  综上所述,相信本文对单片机爱好者会有很大的启示,并对单片机初学者起到抛砖引玉的作用。无需借助实验室的仪器设备,只要拥有一台手提电脑就可以在任何时间和地点进行单片机仿真实验,很好地满足了电子工作者在单片机仿真方面的需求。

 

文章评论2条评论)

登录后参与讨论

用户522632 2011-10-1 00:48

是的,不小心打错了,呵呵。谢谢!

飞言走笔 2011-9-30 12:01

还是在硬件上跑最好~~ PS:第一段应该是Intel吧?^^
相关推荐阅读
用户522632 2011-10-23 17:01
动手制作超声波测距仪
     这个超声波型号为URM37 V3.2的测距传感器是一种智能传感器,所谓智能传感器就是信号采集,数字处理,和信息传送为一体。用户只要通过单片机TTL电平串口,向传感器发出四个字节的信息读取...
用户522632 2011-10-23 16:49
labview介绍和书籍推荐
LabVIEW 程序又称虚拟仪器,即VI,其外观和操作类似于真实的物理仪器(如示波器和万用表)。 labview包含两部分:1是前面板,2是图形化源代码 LabVIEW拥有一整套工具用于数据采集、分析...
用户522632 2011-10-15 01:12
虚拟串口VSPD在Proteus中的使用
一,虚拟串口       虚拟串口是计算机通过软件模拟的串口,当其它设计软件使用到串口的时候,可以通过调用虚拟串口仿真模拟,以查看所设计的正确性。首先要安装虚拟串口设置的软件,网上有很多设置虚拟...
用户522632 2011-10-14 23:29
基于labview串口通讯的虚拟数字电压表的设计
1. 引言 Labview是由美国国家仪器公司推出的,主要面向计算机测控领域的虚拟仪器软件开发平台,是一种基于图形开发、调试和运行的集成化环境。本设计利用单片机电路作为下位机前端数据采集电路,电路中的...
用户522632 2011-10-14 23:24
Labview及Proteus软件环境下单片机串口通讯的仿真方法
0  引  言        Labview是美国国家仪器公司(NI公司)推出的专为数据采集、仪器控制、数据分析与数据表达的图形化编程环境,它是一个开放的开发环境,具有PCI,GPIB,PXI,VXI...
用户522632 2011-10-13 20:28
PCB 中的常用快捷键
  Q :  mm(毫米)与mil(密尔)的单位切换   X+A : 取消所有被选取图件的选取状态   S+A : 选中所有元件   L : 在布PCB时点中元件按L,就是换层    小键盘...
我要评论
2
9
关闭 站长推荐上一条 /2 下一条