趣文网 > 作文大全

基于Multisim10的单片机动态显示仿真技术论文

2021-03-02 13:30:02
相关推荐

基于Multisim10的单片机动态显示仿真技术论文

摘 要:本文阐述了在单片机动态显示的原理方法,以8051为中心给出了其硬件电路的构成,并着重阐述了在Multisim10中进行单片机动态显示仿真设计的具体方法。

关键词:Multisim10;单片机;8051;仿真;编译

Multisim10是美国国家仪器公司(NI,National Instruments)推出的计算机电子仿真软件。Multisim10实现计算机仿真时设计和实验用的元器件和测试仪器和仪表齐全,可以完成各种类型的电路设计与实验;可以方便地对电路参数进行测试和分析;设计与实验可以同步进行,可以边设计边实验,修改调试方便;可直接打印输出实验数据、测试参数、曲线和电路原理图;实验中不消耗实际的元器件,实验所需的元器件和数和数量不受限制,实验成本低,实验速度快,效率高;设计和实验成功的电路可以直接在产品中使用。

Multisim10版本可用于单片机和可编程逻辑器件的仿真分析,为单片机系统的仿真设计提供了较好的解决方案。multisim10提供了805x、PIC、RAM和ROM等4个系列的单片机芯片和可编程逻辑器件,使得该软件的实际应用得到了大大的增强。本文使用Multisim10为辅助设计工具,做以单片机8051为中心的单片机动态显示电路的仿真设计。

1.设计要求和分析

显示单元是单片机常见的控制功能,凡是遇到显示输出时都会用到显示单元,如数字管的显示,点阵的显示等。为了提高单片机输入输出端口的效率,一般显示单元都使用动态显示技术。所谓动态显示方式,就是一位一位地轮流点亮各个数码管(动态扫描方式)。对于每一位数码管来说,每隔一定时间点亮一次,当扫描的时间间隔足够小时,利用人的视觉暂留特性,观察者就不会感到数码管的闪烁,看到的现象是所有的数码管一起发光,就如同看电影的道理一样。

如果要做4个数码显示管的动态显示时,其实现方法是将所有的数码管的a......g连接在一起,接在单片机的某个输出端口上,各个数码管的公共端作为片选信号接在单片机的另一个输出端口上,这样做可以大大地节省了硬件资源。

2.硬件电路的设计

单片机模块8051的工作电源电压为5V; Multisim10中的8051模块内部已经具备了12MHz,所以仿真外围电路可以省略晶振;故其最小系统需要加一只电容和一只电阻,实现单片机的`上电复位功能。

如图1所示是根据这一思路做的4位共阳数码管动态显示的电路原理图。图中四个数码管的a......g共同连接到了8051的P0.7-P0.1,4个数码显示管的公共端分别接到P1.0-P1.3,电阻器R1和电容器C1构成了简单的上电复位电路。

在动态扫描显示方式中,数码管的亮度同 LED点亮导通时的电流大小,每一位点亮的时间和扫描间隔时间三个因素有关。

3.Multisim10中绘制仿真电路原理图

3.1放置单片机模块8051

(1)单击"元件"工具栏上的"Place MCU"按钮,在弹出的"选择元件"对话框的"系列"栏中选择"805x",在"元件"栏中选择"8051"。

(2)鼠标处出现一个"8051",在绘图区单击鼠标,便放置了一个"8051",同时打开MCU向导对话框。在其中输入工作区的路径和名称,单击"下一步"。

(3)弹出MCU向导第二步,在"Progranning language"栏中选择编程语言,可以选择汇编或C语言。若选择C语言时,"Assembler/conplier tool"栏中会出现"Hi-Tech C51-Lite complier";若选择了汇编语言(Assenbly)时,"Assembler/conplier tool"栏中会出现"8051/8052 Metalink assenbler"。在"项目名称"栏中输入项目名称,单击"下一步"按钮。

(4) 弹出MCU向导第三步,可以选择Creat empty project(建立空项目)或Add Source file(添加源文件),当选择了Add Source file时,可在其下面的文本框中输入源文件名,默认为"main.asm"。点击"完成"按钮结束放置。

3.2放置其他元件,这里略去。

3.3连线,完成原理图的绘制。

4.编写MCU源程序

4.1如图2所示,打开设计工具箱,展开8051及其项目,双击"main.asm",打开汇编源程序窗口,窗口中出现以下代码,在第一行和最后一行插入源程序。

4.2输入源程序

$MOD51; This includes 8051 definitions for the metalink assembler

START:

MOV P1, #0FFH ;关闭所有的LED

MOV P0, #9FH ;送"1"的字形码

MOV P1, #0FEH ;打开第1个LED

ACALL DELAY ;延时

MOV P1, #0FFH ;关闭所有的LED,否则显示混乱

MOV P0, #27H ;送"2"的字形码

MOV P1, #0FDH ;打开第2个LED

ACALL DELAY

MOV P1, #0FFH

MOV P0, #0DH ;送"3"的字形码

MOV P1, #0FBH ;打开第3个LED

ACALL DELAY

MOV P1, #0FFH

MOV P0, #99H ;送"4"的字形码

MOV P1, #0F7H ;打开第4个LED

ACALL DELAY

AJMP START

DELAY:MOV R6,#2 ;延时1ms

TEMP:MOV R5,#0FFH

DJNZ R5,$

DJNZ R6,TEMP

RET

END

5.编译与仿真

单击仿真按钮,若程序还未经编译则会弹出编译提示消息框,点击"是"进行编程的编译。若程序正确,编译通过,则在电路中显示仿真结果;若未通过,则要修改程序,直至编译通过。编译后会形成一系列的目标文件。

在multisim10中可直接对汇编程序或C语言程序进行编译,不需要其他编译软件,使得仿真操作变得简单,这一点是它优于其他单片机仿真软件的地方。如Protues也是目前比较流行的单片机仿真软件,其优点是单片机芯片类型多,结果直观,但它只能执行已编译好的二进制和十六进制的目标文件,需要其他的程序编译软件进行编译。但multisim10提供的单片机芯片种类少,也限制了它的应用。相信比multisim10高的版本会提供更多的单片机芯片种类,使之也能成为单片机仿真的利器。

参考文献:

[1]覃奈新主编,单片机应用技术,电子工业出版社,2008

[2]李良荣主编,现代电子设计技术,机械工业出版社,2005

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

我最尊敬的人800字作文 我终于战胜了什么作文600字 童年趣事450字满分作文 作文我最好的朋友 家人团圆的作文 高中常考作文 有关窗外的作文 过独木桥作文 写人的作文六百字 世界真奇妙作文 自我介绍500字作文男 学校操场作文 高考作文常用素材 作文我最喜爱的一本书 我和手机作文 看图写话体育活动作文 学校趣事作文 第一次剪纸作文 我的观察作文300字 家规英语作文带翻译 小学作文旁批 同桌摸下的作文1000字 考研英语作文一般能拿多少分 我的爱好作文结尾 优秀作文400字可抄免费 奉献的作文素材 童年趣事作文1000字 扬帆起航作文500字 食品作文 往事的作文