<模拟电子学习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。存放所创建的project。我这里路径是 F:\Multisim\MCUDemo

图1-2

2、打开Multisim 12.0 软件

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXliZWxpZWYzMjE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

图1-3

软件的首界面为图1-4。能够再左边project栏看到默认创建了一个名字为 Design1的Multisimproject

图1-4

3、 选择File/Save as或者Ctrl+S,保存一下新project。并改名字为 MCU51Demo。存放在第1步创建的目录,如图1-5所看到的,选择“保存”button

图1-5

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

图1-6

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

图1-7

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

图1-8

6、在图1-8所看到的中。选择工作空间存放的路径,这里为第1步所创建的目录F:\Multisim\MCUDemo\,工作空间名字取名为 MCU51,例如以下图1-9

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXliZWxpZWYzMjE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

图1-9

设置好之后,选择 Next

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

设置好之后如图1-10所看到的

图1-10

设置好之后,选择“Next”

8、接下来是设置是否创建空project。这里按默认值,直接加入一个main.c文件,如图1-11所看到的

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXliZWxpZWYzMjE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

图1-11

选择“Finish”

9、此时Multisim的project结构如图1-11所看到的

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXliZWxpZWYzMjE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

图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所看到的

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXliZWxpZWYzMjE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

图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開始运行。这一点是刚開始学习的人easy忽略的。

虽然最小系统已经搭建好了,可是也无法通过仿真看有什么效果。这里加入一个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所看到的

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXliZWxpZWYzMjE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

图1-28

编译的结果例如以下图1-29。

此时 0 Errors 0 Warnings

图1-29

19、回到原理图界面,点击如图1-30红线圈起的開始button。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXliZWxpZWYzMjE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

图1-30

20、此时,按常理来说,LED1应该不停闪烁,可是我的没有闪烁。

这个与LED的工作电流有关系,以下改动一下,首先 停止仿真。即菜单条 Simulator-->Stop。然后双击LED1,弹出LED1的属性对话框,例如以下图1-31

图1-31

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

图1-32

点击OK。然后Ctrl+S保存,再点击“開始仿真”button或者 Simulator-->Start,弹出例如以下对话框

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXliZWxpZWYzMjE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

点击“Yes”。此时能够看到LED1闪烁

  

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXliZWxpZWYzMjE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

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

结语:

到这里,利用Multisim仿真51单片机点亮LED灯的例程差点儿相同完了。中间的一些细节问题还想再写一写。可是到时间去做运动了。

不喜勿喷,纯粹就是个人笔记而已。感觉仿佛回到了初中写博客时,...╮(╯▽╰)╭他来上海是不是easy什么

版权声明:本文博主原创文章,博客,未经同意不得转载。

时间: 2024-10-26 05:14:37

<模拟电子学习1>Multisim 12.0 结构和仿真51最小的单芯片系统的相关文章

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

环境: 系统环境: win7 64位 软件平台:Multisim 12.0 目的: 刚毕业,但是模电知识也忘得差不多了,加之自己想搞搞硬件设计,如果只是看模电书,不实践,还是终觉浅.当做兴趣一样学学模电,仿真仿真.Multisim的MCU少,就拿51来练练手,搭建51单片机仿真系统,配合着记录一下书本的知识. 概述: 最后使用Multisim 12.0搭建出来的最小系统为图1-1所示,通过编写程序可以使LED1循环闪烁. 图1-1 正常来说,51单片机最小系统一般包括单片机.晶振电路.复位电路,

模拟电子技术的学习记录(一)

参考的书籍是华成英主编的<模拟电子技术基本教程> 第一章 导言学习 需要解决的问题: 1.什么是信号?指随时间变化的电压U和电流I,在电子电路中的信号均为电信号,简称信号. 2.什么是模拟信号?模拟信号在数值和时间上均具有来连续性. 3.电子系统由哪些部分组成?各部分作用是什么?电子系统有信号的提取.信号的预处理(隔离.滤波.阻抗等).信号的加工(运算.转换.比较.采样).信号的执行. 4.设计电子系统时应该遵循哪些原则? 答一:满足功能和性能指标,同时考虑可测性和可靠性.可测性主要是在设置合

模拟电路学习入门的建议(综合整理)

转载自:http://bbs.eetop.cn/viewthread.php?tid=170164 ”模拟电路学习入门“ "如何才算学好模电,数电"一帖引来大家的关注.这里把各位DX的意见整理了一下,便于大家参考.真正掌握一门技术不容易,大家从不同的侧面和经验谈谈自己的体会,对从事这行业的工程师会有点启迪. 找些實用線路集錦或電子製作書看看,有感興趣的就找找理論資料,然後動手練練,很快就是門內漢(or女)了! 先看基本书,再动手练习练习 Razav 如果有耐心看大头英文最好,翻译也很不

《深入Java虚拟机学习笔记》- 第12章 整数运算

Java虚拟机提供几种进行整数算术运算的操作码,他们执行基于int和long类型的运算.当byte.short和char类型值参与算术运算时,首先会将它们转换为int类型.这些操作码都不会抛出异常,溢出在这里通常可以被忽略. 整数加法 操作码 操作数 说明 iadd (无) 从栈中弹出两个int类型数,相加,然后将所得int类型结果压回栈 ladd (无) 从栈中弹出两个long类型数,相加,然后将所得long类型结果压回栈 将一个常量与局部变量相加 操作码 操作数 说明 iinc vindex

e-Xstream Digimat v6.0.1 Win64 1DVD复合材料结构优化模拟软件+IHS WellTest v7.12.0 1CD

e-Xstream Digimat v6.0.1 Win64 1DVD复合材料结构优化模拟软件e-Xstream DIGIMAT -非线性复合材料结构模拟软件,带实例和 第三方组件. DIGIMAT设计用于多组分材料,例如塑料,聚合物,碳和玻璃纤维,纳米材料,等等的非线性行为的快速和高度准确的预测,对多组分结构 的局部和全局行为的使用在制备,储存了有限元方法的准确的评估和机要交换材料模型,方便和高效设计的移动板.同时DIGIMAT呈现了一 组有限元软件系统,计算机辅助工程接口(ANSYS,LS-

V3学院带你学习-缩短汉明码Hamming(12,8)的FPGA实现-第二部分

此文章为原创出自 V3学院 www.v3edu.org,FPGA培训专家 测试激励模块 tb_hamming_12_8.V //功能描述:给被测模块提供时钟激励,并统计解码后数据的正确性 `timescale 1ns/1ns module tb_hamming_12_8; reg sclk; wire [11:0] ham_o; wire ham_ov; wire [11:0] deham_o; wire deham_ov; reg [31:0] err_cnt; reg [23:0] buff

电路与模拟电子技术 第3版 课后答案 殷瑞祥 版 课后习题答案 解析 高等教育出版社 思考题全解

电路与模拟电子技术 第3版 课后答案 殷瑞祥 版 课后习题答案 解析 电路与模拟电子技术 高等教育出版社 答案全解 前辅文引言 电子学的发展第1章 电路的基本概念与基本定律 课后答案1.1 电路组成与功能1.2 电路中的基本物理量:电压?电流?电位?功率1.2.1 电流1.2.2 电压?电位和电动势1.2.3 功率和能量1.3 电路模型1.4 基本电路元件模型1.4.1 单端口理想元件1.4.2 双端口理想元件1.5 电路的工作状态与电气设备的额定值1.5.1 电路的工作状态1.5.2 电气设备

V3学院带你学习-缩短汉明码Hamming(12,8)的FPGA实现

此文章为原创出自 V3学院 www.v3edu.org,FPGA培训专家汉明码是一种实现简单并且可以检测和纠正错误的编码, 汉明码是在原编码的基础上附加一部分数据比特,使其满足纠错码的条件.它属于线性分组码,由于线性码的编码和译码容易实现,至今仍是应用最广泛的一类码.V3学院FPGA Verilog 汉明码实现,Hamming(12,8)表示数据位长K=8,编码后码字长N=12,校验位长R=12-8=4,最小汉明距离是H=3(观察其生成矩阵,不同行向量间最少不同比特的数量),纠错能力为(H-1)

Multisim BLUE14.0使用介绍

一.Multisim BLUE14.0介绍 从电路仿真到PCB布局再到BOM,NI全力打造的全能集成工具MultiSIM BLUE,支持进行原理图捕捉.仿真.PCB布局.BOM及采购整个流程.除MultiSIM BLUE外,尚无一款免费工具能提供此级别的集成度.借助Berkeley SPICE引擎以及业界领先制造商的先进电子元器件,MultiSIM BLUE为仿真线性电路功能提供了一个简单易用的无缝仿真环境.是mouser(贸泽电子)和美国NI软件公司联合发布的mouser专用的版本,集成电路仿