<模电学习1>Multisim 12.0 搭建并仿真51单片机最小系统

环境:

    系统环境: win7 64位

    软件平台:Multisim 12.0

目的:

    刚毕业,但是模电知识也忘得差不多了,加之自己想搞搞硬件设计,如果只是看模电书,不实践,还是终觉浅。当做兴趣一样学学模电,仿真仿真。Multisim的MCU少,就拿51来练练手,搭建51单片机仿真系统,配合着记录一下书本的知识。

概述:

   最后使用Multisim 12.0搭建出来的最小系统为图1-1所示,通过编写程序可以使LED1循环闪烁。

图1-1

 

 正常来说,51单片机最小系统一般包括单片机、晶振电路、复位电路,我没有添加复位电路,因为只是模电的Hello World而已,先熟悉仿真流程。

步骤:

1、建立一个文件夹MCUDemo,存放所创建的工程,我这里路径是 F:\Multisim\MCUDemo

 

图1-2

2、打开Multisim 12.0 软件


图1-3

   软件的首界面为图1-4,可以再左边工程栏看到默认创建了一个名字为 Design1的Multisim工程


图1-4

3、 选择File/Save as或者Ctrl+S,保存一下新工程,并改名字为 MCU51Demo,存放在第1步创建的文件夹,如图1-5所示,选择“保存”按钮


图1-5

保存完后,软件界面截图如下


图1-6

4、放置单片机。选择菜单栏的 Place/Component,弹出“Select a component”对话框,选择 Group为 “MCU”,Family为“805x”,Component为“8051”,如图1-7所示


图1-7

5、在图1-7对话框内,选择好器件后,点击右上角的“OK”按钮,这时可以将选中的8051器件放置在原理图中,当放置好之后(也即点击鼠标左键),会弹出MCU Wizard创建向导,如图1-8所示


图1-8

6、在图1-8所示中,选择工作空间存放的路径,这里为第1步所创建的文件夹F:\Multisim\MCUDemo\,工作空间名字取名为 MCU51,如下图1-9


图1-9

设置好之后,选择 Next

7、这一步是设置MCU的工程的类型以及编译语言、名字,Project Type里有Standard和 External Hex File,前者是标准类型(其实我也没用后者),后者是导入外部HEX文件,在本实验中,我选择“Standard”;编程语言Programming Language里选择“C”,即用C语言; 编译工具Assembler/compiler tool一栏选择默认;工程名字Project name设置为“MCU51Debug”,突然感觉起了好多名字。设置好之后如图1-10所示


图1-10

  设置好之后,选择“Next”

8、接下来是设置是否创建空工程,这里按默认值,直接添加一个main.c文件,如图1-11所示


图1-11

选择“Finish”

9、此时Multisim的工程结构如图1-11所示


图1-11

10、接下来就是要搭建最小系统了,首先搭建晶振电路,先添加晶振,选择菜单栏 Place-->Component,在Multisim中,晶振的所属的GROUP为 Misc,Family为CRYSTAL,如图1-12所示,选择 晶振“HC-49/U_11MHz”,我没找到12M的。


图1-12

点击右上角的OK,将其放置在合适的位置,这里放置好之后,我右键旋转了一下,放置好之后的如图1-13


图1-13

11、然后放置2个30pf的电容,同样的 Place-->Component,电容的Group为Basic,Family为 CAPACITOR,如下图1-14所示

  

图1-14

点击“OK”,放置在合适的位置,按照同样的方法再放置一个30pF的电容,如图1-15所示


图1-15

12、然后再放置地 DGND,同样的Place-->Component,如图1-16所示


图1-16

放置后的效果如图1-17


图1-17

到此,晶振电路就搭建好了,现在可以先将这一部分用线Wire连接,顺带着把单片机的地线也连接,连接后如图1-18所示


图1-18

13、放置电源VCC,放置步骤不再啰嗦,如图1-19


图1-19

放置并连线,如图1-20


图1-20,

到这里其实,51单片机的最最最小系统已经搭建好了,注意其中31脚也和VCC连接了,这是因为对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部

ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行。这一点是初学者容易忽略的。

尽管最小系统已经搭建好了,但是也无法通过仿真看有什么效果,这里添加一个LED灯,来显示仿真结果。

14、同样的添加一个LED,如图1-21,器件对话框,这里选择了一个红色LED


图1-21

放置在电路图合适的位置,如图1-22


图1-22

15、此时LED还不能直接连接,需要添加一个电阻,保护二极管LED,添加一个1K的电阻,如图1-23


图1-23

放置并连接,如图1-24


图1-24

 我LED灯与单片机连接的引脚是P2.0,引脚可以随便连接。接下来就是Ctrl+S保存一下,再编写51程序

16、双击图1-25所示的main.c


图1-25

此时main.c的内容如图1-26所示


图1-26

17、编写程序,编写完后的main.c内容如下图1-27


图1-27

注意 Multisim里的51头文件是8051.h ,不是 reg51.h

18、保存一下文件,然后选择工具栏的 MCU-->MCU 8051 U1-->Build,编译程序,如图1-28所示


图1-28

  编译的结果如下图1-29。此时 0 Errors 0 Warnings


图1-29

19、回到原理图界面,点击如图1-30红线圈起的开始按钮,


图1-30

20、此时,按常理来说,LED1应该不停闪烁,但是我的没有闪烁。这个与LED的工作电流有关系,下面修改一下,首先 停止仿真,即菜单栏 Simulator-->Stop,然后双击LED1,弹出LED1的属性对话框,如下图1-31


图1-31

将上图的On Current值“5”该低一些,这里改为 “2”,如下图1-32所示


图1-32

点击OK,然后Ctrl+S保存,再点击“开始仿真”按钮或者 Simulator-->Start,弹出如下对话框


点击“Yes”,此时可以看到LED1闪烁

  

图1-33  LED灭                                                                                  图1-34 LED亮


结语:

   到这里,利用Multisim仿真51单片机点亮LED灯的例程差不多完了,中间的一些细节问题还想再写一写,但是到时间去做运动了。不喜勿喷,纯粹就是个人笔记而已,感觉好像回到了大三写博客的时候了...╮(╯▽╰)╭来到上海不容易啊

  • 68
    点赞
  • 183
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 21
    评论
Multisim电路仿真数电模电Multisim仿真实例集合Multisim学习实验例程文件1100个合集: Multisim 仿真实例220个 Multisim仿真83例 Multisim仿真实例450例 Multisim仿真实例70个 数字电子仿真实验130个 模拟电子仿真实验150个 08数控本二 07.ms10 10-10-4串联型直流稳压电路(2).ms7 24小时时钟(full)改.ms10 4位数字频率计.ms10 559.ms10 ADC电压显示1.ms12 BIN2BCD电路.ms10 FM解调.ms14 FM解调.ms14 (Security copy) LED调光电路.pdsprj LM324简-易-电-子-琴-.ms10 MC1496应用2.ms10 Multisim 13.0仿真OP07CP两级放大.rar MUltisim 仿真作品集.zip OCL功率放大器电路.ms12 OP07CP两级差动放大.ms13 TL494 5V DC-DC.ms14 UC3843升压控制电路.ms14 UC3843芯片的DC-DC升压电路.ms14 XUNKE936防静电焊台电路图.ms12 zhongji电路.ms10 三极管单按钮开关电路.ms10 三极管线性稳压电路.ms10 三相电源错相、断相保护电路.ms10 乘法器.ms14 交流电源防盗报警器.ms14 交通信号灯_X.ms12 交通灯(74LS163、74LS153、74LS74).ms13 倒计时定时器 (1).ms10 倒计时定时器.ms10 倒计时定时器A【74LS161 74LS192】.ms10 六路20秒声光显示计分抢答器.ms14 减法.ms12 四种波形发生器-741.ms14 四路20秒声光显示计分抢答器.ms14 四路带计分系统抢答器.rar 四路流水灯.ms10 四阶带通滤波.ms14 四阶带通滤波.ms14 (Security copy) 多色流水灯.ms10 字发生+共阳数码管显示电路.ms10 小信号放大电路.ms10 差分比例电路+比例放大.ms14 抢答器 (1).ms10 抢答器.ms10 数字时钟设计2.ms12 数字电子钟仿真电路图.ms10 数字电子钟仿真电路图2X.ms10 数字钟X.ms10 数字频率计(带量程).ms14 数字频率计.ms10 李萨如图.ms10 模拟打兵乓球电路.ms10 汽车尾灯控制电路2.ms10 汽车尾灯显示控制电路.ms10 汽车指示灯设计孙昱.docx 混沌电路.ms10 火灾报警.jpg 电容测量电路.ms10 电机正反转接触器应用.ms12 电路2.ms10 电路3.ms10 电风扇.ms10 简易洗衣机.ms10 简易洗衣机2.ms10 简易洗衣机2当.ms14 篮球30秒计时器_X.ms13 设计1.ms14 设计2.ms14 设计2.ms14 (Security copy) 设计201405292100八路抢答器.ms10 设计201405301500骰子模拟电路.ms10 设计201406252300多色流水灯.ms10 设计21.ms14 设计3.ms14 设计3.ms14 (Security copy) 路灯节能控制.ms10 输出电压可调的稳压源.ms14 输出电压可调的稳压源.ms14 (Security copy) 锁相环.ms7 音量控制电路.ms10 音频IRF610耳放.ms13 音频功率放大器.ms14 1-99分钟倒计时 (1).ms10 1.6KHz输出幅度可调四种波形发生器 (2).ms10 1.6KHz输出幅度可调四种波形发生器.ms10 161210 交流接触器自锁互锁.ms10 161212 555触摸延时.ms10 161216 555多谐振荡喇叭应用.ms10 161219 交通灯控制器设计(改).ms14 161224 78XX增强型稳压输出电路.ms13 161225 八路彩灯控制器.ms10 170414 200KHz三角波3554.ms10 170414 200KHz三角波5534.ms10 170414 文氏振荡 5KHz ±5V.ms10 170415 三种波形发生器 5kHz ±5V.ms10 170417 LM723过流保护直流可调稳压电源.ms10 170417 TDA2030音调音频放大器.ms10 170621 自动打铃器(6组定时).ms10 170622 三位数密码锁.ms10 170624 速度表.ms12 170709 交通信号灯 60(5)-45(5).ms13 170923 彩灯控制器(部分).ms10 171219 八位二进制转三位十进制.ms13 171230 序列脉冲控制电子锁.ms10

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玖零大壮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值