<模电学习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灯的例程差不多完了,中间的一些细节问题还想再写一写,但是到时间去做运动了。不喜勿喷,纯粹就是个人笔记而已,感觉好像回到了大三写博客的时候了...╮(╯▽╰)╭来到上海不容易啊

时间: 2024-12-24 12:37:32

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

&amp;lt;模拟电子学习1&amp;gt;Multisim 12.0 结构和仿真51最小的单芯片系统

周围环境: 系统环境: win7 64位置 软件平台:Multisim 12.0 目的: 刚毕业,可是模电知识也忘得差点儿相同了,加之自己想搞搞硬件设计.假设仅仅是看模电书.不实践,还是终觉浅.当做兴趣一样学学模电,仿真仿真. Multisim的MCU少,就拿51来练练手.搭建51单片机仿真系统,配合着记录一下书本的知识. 概述: 最后使用Multisim 12.0搭建出来的最小系统为图1-1所看到的,通过编敲代码能够使LED1循环闪烁. 图1-1 正常来说.51单片机最小系统一般包含单片机.晶

fedora22一键安装包安装gitlab-ce-7.12.0

1.安装依赖 sudo yum install curl openssh-server sudo systemctl enable sshd sudo systemctl start sshd sudo yum install postfix sudo systemctl enable postfix sudo systemctl start postfix sudo firewall-cmd --permanent --add-service=http sudo systemctl reloa

基于Proteus仿真的Arduino学习(1)——Arduino Uno最小系统及LED的简单使用

一.前言:  A.Arduino简介 Arduino是由一个欧洲开发团队于2005年冬季开发.其成员包括Massimo Banzi.David Cuartielles.Tom Igoe.Gianluca Martino.David Mellis和Nicholas Zambetti.据说Auduino开发团队的领袖Massimo Banzi 之前是意大利Ivrea 一家高科技设计学校的老师.他的学生们经常抱怨找不到便宜好用的微控制器.2005年冬天,Massimo Banzi 跟David Cua

深度学习(TensorFlow)环境搭建:(三)Ubuntu16.04+CUDA8.0+cuDNN7+Anaconda4.4+Python3.6+TensorFlow1.3

紧接着上一篇的文章<深度学习(TensorFlow)环境搭建:(二)Ubuntu16.04+1080Ti显卡驱动>,这篇文章,主要讲解如何安装CUDA+CUDNN,不过前提是我们是已经把NVIDIA显卡驱动安装好了 一.安装CUDA CUDA(Compute Unified Device Architecture),是英伟达公司推出的一种基于新的并行编程模型和指令集架构的通用计算架构,它能利用英伟达GPU的并行计算引擎,比CPU更高效的解决许多复杂计算任务,想使用GPU就必须要使用CUDA.

大数据平台CDH搭建学习(5.10.0)

又是一个周末,本来是已经打开wegame,更新一下许久未碰的lol,后来实在等不下去了,还是想想写写博客,正好最近也在学习CDH:刚刚就像女生买东西一样,毫不犹豫地买了3个云主机,好了,废话不多说,下面我们正式开始CDH搭建大数据平台. 一.Hadoop是什么? Hadoop是一个分布式系统架构,由Apache基金会开发.用户可以在不理解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力高速运算和存储. 不足之处:①版本管理混乱 ②部署过程繁琐,升级过程复杂 ③兼容性差 ④安全性低 二.

复旦微电子牛人学习模电经历

复旦微电子牛人学习模电经历 2011-03-09 18:41:40 分类: IT职场 注:文章内容来自网络,网址不详 复旦攻读微电子专业模拟芯片设计方向研究生开始到现在五年工作经验,已经整整八年了,其间聆听过很多国内外专家的指点.最近,应朋友之邀,写一点心得体会和大家共享. 我记得本科刚毕业时,由于本人打算研究传感器的,后来阴差阳错进了复旦逸夫楼专用集成电路与系统国家重点实验室做研究生.现在想来这个实验室名字大有深意,只是当时惘然.电路和系统,看上去是两个概念,两个层次. 我同学有读电子学与信息

oracle学习笔记1(环境搭建)

学习的开始先剧透一下,本人有点笨,本来想用oracle vbox,装个red hat+oracle,但是虚拟机一直报错,0x00000000内存不能written.所以便想到其他的办法,刚好接触了golang,然后就知道了docker这个伟大的项目,所以本环境使用docker来搭建.省去了一大部分时间可以直接开始Oracle的学习. 特此留下笔记,以供参考.... 工具:一共需要三个工具 docker-install.exe DockerToolbox-1.12.0.exe SecureCRT.

Hadoop学习笔记(3)——分布式环境搭建

Hadoop学习笔记(3) ——分布式环境搭建 前面,我们已经在单机上把Hadoop运行起来了,但我们知道Hadoop支持分布式的,而它的优点就是在分布上突出的,所以我们得搭个环境模拟一下. 在这里,我们采用这样的策略来模拟环境,我们使用3台ubuntu机器,1台为作主机(master),另外2台作为从机(slaver).同时,这台主机,我们就用第一章中搭建好的环境来. 我们采用与第一章中相似的步骤来操作: 运行环境搭建 在前面,我们知道,运行hadoop是在linux上运行的.所以我们单机就在

NodeJS学习笔记(一)——搭建开发框架Express,实现Web网站登录验证

JS是脚本语言,脚本语言都需要一个解析器才能运行.对于写在HTML页面里的JS,浏览器充当了解析器的角色.而对于需要独立运行的JS,NodeJS就是一个解析器.每一种解析器都是一个运行环境,不但允许JS定义各种数据结构,进行各种计算,还允许JS使用运行环境提供的内置对象和方法做一些事情.例如运行在浏览器中的JS的用途是操作DOM,浏览器就提供了document之类的内置对象.而运行在NodeJS中的JS的用途是操作磁盘文件或搭建HTTP服务器,NodeJS就相应提供了fs.http等内置对象.E