multisim单片机协同仿真

发布者:masphia最新更新时间:2014-02-08 来源: dqjsw关键字:multisim  单片机  协同仿真 手机看文章 扫描二维码
随时随地手机看文章
Multisim11.0是加拿大NI公司的一款极好的模电数电及电子行业的制作开发仿真软件,其功能之强大,让我初次体验便爱不释手。里面有各种各样的电子元器件,仿真仪器,就说示波器吧,最次的一台也至少得几千块,然而在你的PC机上安装了这个软件之后,你将不花费一分钱使用各种仪器,甚至有些仪器学校里也不一定有哦!还有一点值得提一下的是,配合NI公司的labview,你将可以根据自己的需要设计出自己的仪器,加载进来便可以使用。同时,如果再安装上与之配套的PowerPCB,将实现从最初的设计到中途的仿真以及生成PCB板子。整个设计过程在一个软件中完成,将会给您的设计带来极大的方便,节省宝贵的开发时间!
好了,就不给它们做广告了!给一个例子让大家看看它的功能吧,在这之前再说一点哦,由于要举得例子和单片机有关,所以不得不说一下编程了。对单片机的编程可以在该软件中完成,也可以使用专门的编程软件(比如keil),最后把.hex文件加载进来就行。和真实的很相似呀!具体的做法在以下的叙述中将提及。
用该软件仿真单片机8051对1602液晶的控制。安装之后进入软件界面:





可以在工具栏上右击补全工具栏之后点击如图标注的MCU按钮将弹出如下对话框:




依次选择所需的元件,这里选择8051确认之后;






填上存放路径及文件名,点击下一步:[page]




在project type:中选择external hex file即从外部加载,填好项目名称,点击完成:








就放置了一个8051单片机,然后把单片机最小系统建立起来,要提一下就是在这个软件里没有外部晶振时钟,单片机依然正常工作,双击单片机可以设置其属性,属性里也有对其时钟的设置,这里使用11M,就不加外部晶振了,连接上电源及地:






好了,下边就是液晶了,同选择单片机一样,进入数据库:






选择1602 液晶放置好后,对其接线如下图:






图中所示为总线连接,也可以分离开来,原理图建立起来后,就是根据目的编程了,我是用的keil生成的.hex文件,加载进来的,加载方法如下:[page]






右击红圈圈,选择:MCU code manager并找到.hex的存放路径加载进来确认即可










至此设计完成,点击一下仿真按钮,便可以进行实时仿真,当然在此之前也可以检查一下电气规则,看看是不是有错误。
这只是一个小例子,向大家介绍一下如何进行单片机的仿真,其实最重要的是,可以让家节省几百大元,不用买一个单片机就可以如同拥有真实的单片机,并且不用害怕操作不慎而毁坏。其强大的功能远不止这么一点,就等待着您的发掘了!


液晶程序C代码:
#include
#define uchar unsigned char
#define uint unsigned int
uchar code table[]="The Multisim-MCU";
uchar code table1[]="was maked by NKJ";
sbit lcden=P2^1;
sbit lcdrs=P2^0;
uchar num;

void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void write_com(uchar com)
{
lcdrs=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}

void write_data(uchar date)
{
lcdrs=1;
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void init()
{
lcden=0;
write_com(0x38);
write_com(0x0e);
write_com(0x06);
write_com(0x01);
write_com(0x80+0x00);
}
void main()
{
init();
P1=0x01;
for(num=0;num<16;num++)
{
write_data(table[num]);
delay(20);
}
write_com(0x80+0x40);
for(num=0;num<16;num++)
{
write_data(table1[num]);
delay(20);
}
while(1);
}
液晶程序的编写可以参阅有关说明书,当然也可以使用汇编程序编写,也可以直接在multisim中编写C代码或汇编代码,在此不再赘述。
关键字:multisim  单片机  协同仿真 引用地址:multisim单片机协同仿真

上一篇:单片机16进制转10进制程序
下一篇:单片机在灯头红外遥控系统中的设计应用

推荐阅读最新更新时间:2024-03-16 13:34

Proteus在单片机教学和科技制作中的应用与实践
随着计算机的高速发展,大量EDA软件被引入电子类专业的课程教学中。例如在电路分析、模拟电子技术和数字电子技术课程中经常把EWB仿真软件引入到教学中以提高教学质量。同样,在单片机的领域里也有功能强大的EDA软件可以作为教学的辅助手段。本文将Proteus仿真软件引入到单片机课程的教学改革中,取得了较好的效果。 1 单片机课程现状 1.1 单片机课程的重要性 单片机课程是自动化、嵌入式等工科专业的一门专业方向课,目的是培养实际动手能力强的高技能型人才。掌握单片机基础知识,具备基本应用技能,才能符合当前社会对自动化、嵌入式专业人才的要求。同时,单片机教学的效果对后续课程的学习和专业技能的掌握也具有重要意义。作为一门应用性极强的课程,教师
[单片机]
Proteus在<font color='red'>单片机</font>教学和科技制作中的应用与实践
基于51单片机的汽车防碰撞系统的设计
  1.引言   随着汽车技术的不断进步,尤其是自动驾驶技术的发展,越来越多的距离检测设备将会不断面世。目前,运用于汽车测距主要有以下四种方式:毫米波雷达测距方式;摄像系统测距方式;激光测距方式;超声波测距方式。毫米波雷达存在电磁波相互干扰问题,摄像系统则造价高昂,均难以在汽车上普及。激光测距具有测量时间短、量程大、精度高等优点,适应汽车从低速前进到高速前进的测距需求,避免汽车高速行驶时因测距速度慢造成的测距失准现象。超声波测距原理简单,制作方便,成本比较低,但其只适用于较短距离低速测距,故将其应用于汽车倒车时测距。本文提出的将激光测距和超声波测距相结合的安全报警系统,旨在帮助驾驶员在汽车多种行驶状况、多方位探知并显示车辆与周围
[单片机]
基于51<font color='red'>单片机</font>的汽车防碰撞系统的设计
AVR单片机8路AD如何采样
//*********ATmega128,8channel ADC sampling + LED display + USART******* #include iom128v.h #include macros.h #define uchar unsigned char #define uint unsigned int #define ulong unsigned long #define FOSC 1843200 #define baud 9600 #define MyUBBR (uint)((ulong)FOSC/(16*(ulong)baud)-1) const uchar table ={0x3f,0x06,0
[单片机]
STM8单片机学习总结04
所做的“功率LED板”,通过使用STM8完成手机、电脑通过蓝牙控制功率器件的有效动作,自己编写“代码”已经完全调通,其中也遇到不少问题,列举如下: --------------------------制作方面----------------------- 01)、首先就是MCU的选择; 考虑的主要要素为:价格低、资源够,后来又添加了“封装小”;实际中,但以“功能实现”而言,“51单片机”、“stm32”、“MSP430”、“AVR”全部可以满足需求,但综合考虑后,可能得仔细斟酌,新闻上面报道过现在已经有“小封装”、“功能足”的“51单片机”,价格在“1.0RMB”左右,但未具体查询过,后续有需求时,再更新; 02)、然后,“原
[单片机]
STM32F103C8T6中断特征介绍 用按钮为STM32 MCU触发一个中断
中断是MCU的特征之一,STM32F103C8T6也不例外。以下通过STM32F103C8T6 Blue Pill外接一个按钮,向MCU触发外部中断。 STM32F103C8T6中断特征 中断有硬件中断和软件中断两种,当一个中断发生时,相应的中断服务程序(ISR)和中断处理程序就开始运行了。其中,ISR的指令必须尽可能小,ISR中也不能出现delay ()之类的阻塞函数。 STM32 Blue Pill或者STM32F103C8T6 MCU指定NVIC来管理所有外部中断和外设中断,其应用采用了Arduino IDE。因此,我们可使用相同的句法来配置外部中断,这可通过以下称作 “attachInterrupt ()” 的句法
[单片机]
STM32F103C8T6中断特征介绍 用按钮为STM32 <font color='red'>MCU</font>触发一个中断
基于单片机的交通灯系统设计
#include stcreg.h #define uchar unsigned char #define uint unsigned int sbit FMQ=P3^4; sbit QR=P2^7; sbit QY=P2^6; sbit QG=P2^5; sbit HR=P2^7; sbit HY=P2^6; sbit HG=P2^5; sbit ZR=P2^4; sbit ZY=P2^3; sbit ZG=P2^2; sbit YR=P2^4; sbit YY=P2^3; sbit YG=P2^2; sbit SWITCH1=P1^0; sbit SWITCH2=P1^1; sbit SWITCH3=P1^2; sbit
[单片机]
单片机无线控制家电报警器
1 引 言   由于经济的快速发展,人们生活水平得到较大的提高,生活节奏也越来越快,为此家电遥控和家庭安全也为人们所需要和重视。以AT89C51单片机为核心通过电话进行电器遥控和报警装置主要解决这些问题。他的主要功能有:通过电话可以遥控16路电器通断,遥控路数可以根据需要进行扩展;可以实现电器调压调速控制,有密码设定,保密安全性好;有语言提示,避免盲目操作;可以取消已输入的操作命令;当单片机接收到家中天然气泄露、温度超限和失窃信号后会自动拨打预留电话并报告家中发生的情况。 2 硬件电路设计   总体电路设计思路是:电话遥控报警器与家用电话采用并联方式,当有振铃信号时单片机开始记数,前10次铃声内若有人接电话,则遥控报警器被屏蔽,
[单片机]
<font color='red'>单片机</font>无线控制家电报警器
STMCU应用过程中与电源相关的案例分享
我们在从事STM32单片机的应用开发及调试过程中,往往会碰到各类异常。其中有不少比例的问题跟电源有关。对于一个电子产品而言,电源部分很关键、很重要,但在实际开发调试中,我们偶尔会有意无意的忽视它。这里分享几个实际案例,以加强刺激,加深印象。 毕竟因为电源问题可能导致的异常很多很多,这里分享几个案例算是抛砖引玉,希望大家在调试中对电源方面加以重视。个人认为,往往电源出问题时导致的异常时并不太好分析。多数时候异常表现得更为诡异或没章法。 注:下面提到的案例中异常原因都与电源有关,但并不是说出现类似异常时一定是电源的原因。 下面主要分享五个基于STM32应用的案例。 案例1:STM32芯片的PLL无法正常工作。 有人使用STM3
[单片机]
STMCU应用过程中与电源相关的案例分享
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved