当前位置:首页 > 单片机 > 单片机
[导读]一、 实验目的 熟悉并掌握Multisim10对单片机的仿真过程。 加深对单片机硬件以及软件理论知识的理解。二、 实验原理 1、Multisim10 美国国家仪器公司下属的ElectroNIcs Workbench Group在今年年初发布了Multisim

一、 实验目的
熟悉并掌握Multisim10对单片机的仿真过程。
加深对单片机硬件以及软件理论知识的理解。

二、 实验原理
1、Multisim10
美国国家仪器公司下属的ElectroNIcs Workbench Group在今年年初发布了Multisim 10。新版的Multisim10,加入了MCU模块功能,可以和8051等单片机进行编程联调,该软件元件丰富,界面直观,虚拟仪器的逼真度达到了让人相当高的程度,是电子设计、电路调试、虚拟实验必备良件。
工程师们可以使用Multisim 10交互式地搭建电路原理图,并对电路行为进行仿真。Multisim提炼了SPICE仿真的复杂内容,这样工程师无需懂得深入的SPICE技术就可以很快地进行捕获、仿真和分析新的设计,这也使其更适合电子学教育。通过Multisim和虚拟仪器技术,PCB设计工程师和电子学教育工作者可以完成从理论到原理图捕获与仿真再到原型设计和测试这样一个完整的综合设计流程。
下面将简单介绍一下Multisim10刚加进来的MCU模块的使用方法。
双击桌面上的multisim10图标,由于软件比较大,需要等待一定的时间才能进入以下界面(图一):
 
图一

Multisim10界面和Office工具界面相似,包括标题栏、下拉菜单、快捷工具、项目窗口、状态栏等组成。
标题栏用于显示应用程序名和当前的文件名。下拉菜单提供各种选项。
快捷工具分为:文件工具按钮,器件工具按钮,调试工具按钮,这些按钮在下拉菜单中都有,并经常用到,现在放在工具栏里是为了方便使用。
项目窗口中的电路窗口是用来搭建电路的,Design Toolbox工具栏是用来显示全部工程文件和当前打开的文件。
状态栏用于显示程序的错误和警告,如果有错误和警告那还还需要重新修改程序。直到没有错误为止才能正常加载程序。
在电路窗口的空白处点击鼠标右键,将出现如下菜单(图二):
 
图二
菜单包括:放置元件(place component)、连接原理图(place schematic)、放置图形(place graphic)、标注(place comment)等,这里我们最常用到的只有第一个放置元件:
点击菜单中第一个选项或者按“CTRL+W”会出现以下元器件选择对话框(图三):
 
图三
在Group中选择我们需要的器件的类别,在Family中选择我们需要的器件,点击“OK”即可。在选择805X和PIC等可编程器件时会出现如下对话框(图四):
 
 图四
这时我们只要在“Please enter the workspace name”中输入英文的文件名就可以点击“Next”进入第二步(图五):
 
图五
在第二步中要选择的是:在“Programming language”中选择“ Assembly”,表示用汇编语言编写,如果选择“C”则表示用用C语言编写。点击“Finish”,完成了对单片机的设置。那么在软件界面左边的“Design Toolbox”中会出现新的文件,如下图(图六)所示:
 
 图六
点击Circuit1项目窗口即显示电路窗口(图七):
 
图七
点击main.asm,项目窗口中就显示编程窗口(图八): 
 
图八
回到电路窗口,按照下图选择元器件,并且按照下图(图九)将电路连接好:
 
图九
连好电路图以后,点击main.asm来到编程窗口(图十)进行程序的编写:
 
图十
程序写在“$MOD51”和“END”之间(图十一): 
 
图十一
程序写完以后要进行程序载入,用鼠标右键点击Design Toolbox栏里的main.asm,选择“Build”,然后在软件的最下方的“Spreedsheet View”栏中会显示编程的错误和警告,如果出现错误会在该栏中显示并显示出错的具体位置,那么我们要回到编程窗口找到错误并修改,一直修改到0错误和0警告为止(图十二)。
 
图十二
    以上工作完成以后,我们回到电路窗口,找到快捷工具栏中的“RUN”按钮(图十三中的第一个按钮)
 
图十三
    按下“RUN”以后电路窗口中的LCD就开始显示了(图十四):
 
图十四

2、LCD的引脚和时序
  
1、VCC 接电源 +5V。
2、CV  接电源 +5V 调节显示屏灰度的,调节该端的电压,可改变显示屏字符颜色的深浅。(具体实物要看厂家的数据手册,有些VO要求接地)
3、GND 电源地,接地。
4、E  信号使能,E由1 -> 0的下降沿有效,LCD对RS和DATA进行取样和执行操作。
5、RS   数据/命令选择端,1-数据、0-指令。
6、RW  读写选择,1-读、0-写,如果LCD函数没有用到这个IO口的话就把它接地。
7、D7~D0  Data I/O,接单片机的IO口,用于输入数据或者指令。
LCD开始工作第一步要进行初始化,初始化程序:
CLR P3.0;LCD
SETB P3.1
MOV P1,#03H
CLR P3.1
SETB P3.1
MOV P1,#0CH
CLR P3.1
SETB P3.1
MOV P1,#06H
CLR P3.1
初始化以后就可以进行指令和数据的读写了。
第一次显示数据以后要进行第二次数据显示,则需要进行清屏,清屏程序:
CLR P3.0;LCD
SETB P3.1
MOV P1,#01H
CLR P3.1
SETB P3.0
接下去就可以再次进行数据和指令的读写了。
3、实现的功能
本次实验要求实现基于单片机的LCD显示,LCD分两次显示,第一次显示“0123”第二次显示“456789A”。LCD采用08x1的液晶显示器,单片机采用8051。

 


三、实验内容
1、建立工程存放文件夹:
打开“我的文档”,在National Instruments文件夹中打开Circuit Design Suite 10.0,然后在MCU Workspaces文件夹中新建一个文件夹,文件名为project。
2、双击桌面上的Multisim10的图标,软件打开需要等待一定的时间。
3、设置:
点击菜单栏中的“Options”,选择“sheet properties”,在Circuit中的 “NET names”栏里选中“Hide All”,然后再点击Workspace,在“Sheet size”栏中选择“A4”,点击“OK”。
4、保存工程文件:
点击File中的Save,在弹出的对话框中点击MCU Workspaces,然后点击自己新建的project文件夹,然后点击“保存”。
5、选择元器件:在空白纸上点击右键,然后选择“Place Component”,在弹出的对话框中的“Group”中选择“MCU Module”,然后在“family”中选择“805X”中的“8051”,点击“OK”,在图上适合的位置点击左键,在弹出的对话框中点击“Browse”,在“我的文档”中找到刚新建的project文件夹,点击该文件夹,然后点击确定。在“Please enter the work space name”中输入文件名“project”,点击“Next”,在“Programming language”中选择“Assembly”,然后点击“Finish”。
接着在“Group”中选择“Basic”,在“Family”中选择“RESISTOR”,在Component中点击“10K”电阻,点击“OK”,在适合的位置点击左键即可。
然后在“Family”中选择“CAPACITOR”,选择一个“10u”和两个“30p”的电容,然后放置到图纸上。
接着在“Group”中选择“Sources”,在“Family”中选择“POWER_SOURCES”,点击放置四个“DGND”和两个“VCC”。
然后在“Group”中选择“Advanced Peripherals”,在“LCDS”中选择“LCD_DISPLAY_08x1”,并放置在图纸的适当位置。
接着在“Group”中选择“Misc”,在“CRYSTAL”中选择“HC-49/U_25MHz”的晶振,放置在图纸上。
6、按照图9所示,连接好单片机的外围电路图并点击File中的Save:
7、保存好以后,在左侧的“Design Toolbox”中左键单击“Circuit1”前面的“+”号,然后一直点击“+”号,一直找到“main.asm”,双击该文件,在原图纸栏出现了编程界面,然后在该界面中输入以下程序:
    8、程序:
$MOD51 ; This includes 8051 definitions for the metalink assembler
ORG 0000H
CLR P3.0;LCD初始化
SETB P3.1
MOV P1,#03H
CLR P3.1
SETB P3.1
MOV P1,#0CH
CLR P3.1
SETB P3.1
MOV P1,#06H
CLR P3.1

SETB P3.0;对LCD写数据
SETB P3.1
MOV P1,#30H
CLR P3.1
SETB P3.1
MOV P1,#31H
CLR P3.1
SETB P3.1
MOV P1,#32H
CLR P3.1
SETB P3.1
MOV P1,#33H
CLR P3.1

CLR P3.0;LCD清屏
SETB P3.1
MOV P1,#01H
CLR P3.1
SETB P3.0

SETB P3.1;第二次对LCD写数据
MOV P1,#34H
CLR P3.1
SETB P3.1
MOV P1,#35H
CLR P3.1
SETB P3.1
MOV P1,#36H
CLR P3.1
SETB P3.1
MOV P1,#37H
CLR P3.1

SETB P3.1
MOV P1,#38H
CLR P3.1
SETB P3.1
MOV P1,#39H
CLR P3.1
SETB P3.1
MOV P1,#41H
CLR P3.1
SJMP $
END
    9、程序输入完成后,再用鼠标右键点击右边的“Design Toolbox”中的“main.asm”文件,点击出现的菜单中的“Build”。在最下方的窗口中提示0错误和0警告以后,即可点击“Design Toolbox”中的“Circuit1”,然后点击工具栏中的开关按钮“Run”,在弹出的对话框中点击“YES”,程序就开始执行,LCD开始显示。

四、实验报告与思考题
详细描述实验的过程,如实纪录本实验中间步骤和最终结果,还应纪录实验过程中的不正常现象以及解决办法。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭