赞
踩
在电子仿真软件Multisim10中,也引入了单片机仿真内容,且它的模块型号就是最常见和应用广泛的8051 /8052。在Multisim10中, 8051 /8052 不但可以用汇编语言编写程序,同时也支持C语言编写程序,拓展了单片机8051 /8052的使用,使虚拟仿真显得更加灵活和实用。
下面以一个具体的发光二极管闪烁应用例子来说明(用C语言编写程序) ,详细介绍如何实现Multisim10单片机仿真,计数器的电路原理图如图1所示。
图1 发光二极管闪烁电路原理图
1 组建仿真电路
<font sty����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������a="" componet”对话框的“family”栏中先选取“805x”,="" 然后在“componet”栏下选取“8052”,最后单击对话框右上角的“ok”按钮。<="" font="" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">
<font sty����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������a="" componet”对话框的“family”栏中先选取“805x”,="" 然后在“componet”栏下选取“8052”,最后单击对话框右上角的“ok”按钮。<="" font="" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Arial, Helvetica, sans-serif, 宋体; line-height: 20px; ">1. 1. 3 鼠标箭头将带出一个“8052”模块,在电子仿真平台上单击鼠标,将先弹出MCU向导对话框之一,第一栏是工作区路径,第二栏是工作区取名,这里输入“my mcu design1”,最后单击下方的“Next”按钮,如图2所示。
图2 MCU向导对话框之二
1. 1. 4 再次弹出MCU向导对话框之二,共有4栏选项,第一栏为项目类型,一般选择“Standard (标准) ”;第二栏选择编程语言种类,单击右侧下拉箭头,可以在“Assembly C汇编”和“C”语言之间选择,这里选取“C”语言;则第三栏自动显示“Hi-tech C51-Lite compiler”字样; 第四栏可以输入项目名称,本文取名为“project1”,最后单击下方的“Next”按钮,如图3所示。
图3 MCU向导对话框之三
1. 1. 5 再次弹出MCU向导对话框之三,有2个单选项:“Create emptyproject (创建空项目) ”和“Addsource file (添加源文件) ”, 这里选取“Add sourcefile”;下面栏中可以输入后缀为“。 C”的源文件名,这里就用“ LED00 1. 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所示。
图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);
}
}
如果程序语句逻辑格式有错误,稍等片刻,在程序下方打开的电子数据表视图中可以看到程序分析结果,必须重新检查所编程序,找出错误修正改之,方能进入下一步操作。运行本程序在电子数据表视图显示结果如图5所示,显然没问题, 有些警告可以忽略,只是编程程序中有些元素设置了未用而已。
图5 C语言编程分析结果
3 调出其他仿真元件,搭建单片机仿真电路,进行仿真
3. 1 单击电子仿真软件Multisim10基本界面元件工具条,从不同的元件库中,分别调出相应的元件(三极管、电阻和数码管等) ,按图1 进行连接,然后运行仿真。
3. 2 按图1所示仿真电路接线无误的前提下,单击基本界面右上角仿真开关按钮。
3. 3 电子仿真工作平台将会看到 LED 按编好的程序完成发光二极管闪烁点亮的功能。点亮和关闭的状态如下图6和图7;
图6 发光二极管点亮
图6 发光二极管熄灭
4 仿真调试工具
4. 1 在“发光二极管闪烁点亮”仿真电路运行的情况下,单击主菜单“MCU /MCU8085U1 /Debug View”,将打开调试程序和排除故障窗口。
4. 2 单击主菜单“MCU /MCU8085U1 /Memory View”,将打开MCU存储器窗口,在该窗口下可以看到特殊函数寄存器( SFR ) ; 内部RAM ( IRAM ) ; 内部ROM( IROM) ;外部RAM (XRAM) 。借助于以上仿真调试工具和MCU的存储器,可以对程序进行诸如设置断点、修改程序、观察地址值、堆栈情况、进入子函数、跳过指令等操作,从而达到验证、调整、修改和完善仿真程序的目的,直至完成所需功能为止。
5 结束语
综上所述,相信本文对单片机爱好者会有很大的启示,并对单片机初学者起到抛砖引玉的作用。无需借助实验室的仪器设备,只要拥有一台手提电脑就可以在任何时间和地点进行单片机仿真实验,很好地满足了电子工作者在单片机仿真方面的需求。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。