基于Protues的仿真实验.docx

上传人:b****1 文档编号:1635679 上传时间:2023-05-01 格式:DOCX 页数:36 大小:99.94KB
下载 相关 举报
基于Protues的仿真实验.docx_第1页
第1页 / 共36页
基于Protues的仿真实验.docx_第2页
第2页 / 共36页
基于Protues的仿真实验.docx_第3页
第3页 / 共36页
基于Protues的仿真实验.docx_第4页
第4页 / 共36页
基于Protues的仿真实验.docx_第5页
第5页 / 共36页
基于Protues的仿真实验.docx_第6页
第6页 / 共36页
基于Protues的仿真实验.docx_第7页
第7页 / 共36页
基于Protues的仿真实验.docx_第8页
第8页 / 共36页
基于Protues的仿真实验.docx_第9页
第9页 / 共36页
基于Protues的仿真实验.docx_第10页
第10页 / 共36页
基于Protues的仿真实验.docx_第11页
第11页 / 共36页
基于Protues的仿真实验.docx_第12页
第12页 / 共36页
基于Protues的仿真实验.docx_第13页
第13页 / 共36页
基于Protues的仿真实验.docx_第14页
第14页 / 共36页
基于Protues的仿真实验.docx_第15页
第15页 / 共36页
基于Protues的仿真实验.docx_第16页
第16页 / 共36页
基于Protues的仿真实验.docx_第17页
第17页 / 共36页
基于Protues的仿真实验.docx_第18页
第18页 / 共36页
基于Protues的仿真实验.docx_第19页
第19页 / 共36页
基于Protues的仿真实验.docx_第20页
第20页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于Protues的仿真实验.docx

《基于Protues的仿真实验.docx》由会员分享,可在线阅读,更多相关《基于Protues的仿真实验.docx(36页珍藏版)》请在冰点文库上搜索。

基于Protues的仿真实验.docx

基于Protues的仿真实验

Proteus基本操作与8051最小系统

利用Proteus平台搭建一个“8051最小系统”的仿真电路(流水灯为例)

一、Proteus基本操作

(一)启动Proteus仿真软件:

双击“isis”图标,出现isis操作页面。

(二)搭建单片机系统仿真电路:

分“器件选取”、“器件放置”和“电路连接”三大步来操作。

〖第一步器件选取〗:

isis操作页面的左侧中下部分是电路和器件操作的导航区域,器件选取前“Devices”栏目下为空,器件选取操作的目的是将从器件库中分拣出需要的器件,这些器件排列在“Devices”栏目下。

A:

先选择“器件和仪器工具栏”的“放大器符号样”图标(该工具栏的第一个图标),再单击“P”键即弹出“PickDevices”窗口。

PickDevices窗口左侧可以输入器件类型名称,或者选择器件类型,窗口中部即出现相应类型的器件,若鼠标选中器件,窗口右侧会出现该器件的引脚图和封装图。

B:

在PickDevices窗口中,先选中器件,后点击窗口右下脚的“确定”按钮,即将器件排列在“Devices”栏目下了。

或者直接双击被选的器件,也能收到同样的操作结果。

C:

对于电源、地、输入和输出端等特殊器件,不在“PickDevices”窗口中选取而在“PickTerminals”窗口中选取。

只要选择“器件和仪器工具栏”的“输入输出符号样”图标(该工具栏的第八个图标),即变“Devices”栏目为“Terminals”栏目,“Terminals”栏目下已经将电源、地、输入和输出端等特殊器件列出了一部分,如还要增加时,单击“P”键即弹出“PickTerminals”窗口供选取。

〖第二步器件放置〗:

isis操作页面的中右侧是搭建硬件电路系统原理图和显示系统运行状态的区域。

器件放置前或选择“NewDesign”文件后,器件放置区域同导航区一样栏目内容为空,器件放置操作是把导航区的器件排列在放置区的适当位置,以便于搭建硬件电路系统原理图。

A:

器件放置的基本操作:

是将导航区的器件选中(左键),然后把鼠标移到放置区中适当位置,再点击左键,即放置了器件。

若多次点击左键,则会放置多个相同的器件。

B:

器件的移动、翻转和删除操作:

在放置区中选中器件的方法是用右键点击一次,被选中的器件变成红色,然后用鼠标选中红色的器件再按住左键移动鼠标即移动了器件位置,移动后器件仍然是红色,移动完成后将鼠标移开器件至空白处再点击右键,红色器件变回黑色。

器件翻转的方法是右键选中器件使之变红,然后将鼠标移至导航区下方,点击红色的翻转图标,即可实现器件的翻转,完成后将鼠标移回放置区空白处再点击右键,红色器件变回黑色。

器件删除的的方法是右键选中器件使之变红,再对变红的器件点击右键,即删除了相应的器件。

C:

器件和图形的复制操作:

在放置区中,按住鼠标右键适当移动鼠标即画出一个矩形方框,方框内部的器件和图形变成红色,这时再点击菜单下的复制图标和粘贴图标,即会复制出一个相同的方框图形,移动鼠标即可将复制的图形移到适当的位置,再点击左键定位,若定位之前点击右键即删除复制的图形。

D:

器件属性的设置:

在放置区中右键选中器件后器件变红,再点击左键即弹出“EditComponent”对话框,该对话框内容即器件的属性,其中的一些内容可以选择隐藏不被显示出来。

〖第三步电路连接〗:

搭建硬件电路系统原理图需要把器件的引脚连接起来,其操作比较简单。

A:

电路连接操作方法:

将鼠标移至一个引脚或一条连线上点击左键,再移动鼠标即拉出一条红色导线,导线要拐弯时,则点击左键再移动鼠标即拉出拐弯的导线,最后导线的另一端通常要接到另一个引脚或另一条连线上,再点击左键导线变回黑色完成连接。

若只对导线两端要求正确连接,对导线路由不作要求,则鼠标只需对连接导线始端和末端的引脚进行点击左键,便自动完成布线。

B:

电路连接快速操作方法:

若需要连接的两个器件的引脚都按照一个方向的顺序、等距离地排列,那么只需对第一条导线进行人工布线,从第二条导线开始顺序双击连接导线始端的引脚即可完成对应的导线连接。

C:

导线的删除操作:

右键选中导线后导线变红,再对变红的导线点击右键即删除了导线。

D:

导线属性的设置:

右键选中导线后导线变红,再点击左键即弹出“EditWireStyle”对话框,即可对导线的属性进行设置。

(三)创建和导入ASM源文件

进入菜单栏,选择“Source”下“Add/RemoveSourcefiles…”,即弹出“Add/RemoveSourceCodeFiles”对话框。

再点击“New”按键,弹出“NewSourceFiles”对话框,即可以创建(只在文件名栏目输入一个文件名,后缀为ASM)或导入ASM源文件。

确定后,“Add/RemoveSourceCodeFiles”对话框中“SourceCodeFilename”栏目即有ASM源文件名及路径,然后在“CodeGenerationTool”栏目中选择“ASEM51”,最后点击“OK”按键,即完成了创建和导入ASM源文件。

此后“Source”下即可以看到相应的ASM源文件。

(四)编译ASM和导入HEX文件

编译ASM文件的前提是已导入ASM文件,启动编译的方法有两种:

方法一:

进入菜单栏,选择“Source”下“BuildAll”,即弹出“BUILDLOG”提示框,提示编译ASM文件的结果。

方法二:

直接点击器件放置和运行区下方的“运行”按键,若ASM文件内容有变化,即自动对其编译,若问题即弹出“SOURCECODEBUILDERRORS”提示框,提示编译ASM文件的结果。

编译ASM文件成功后即生成HEX文件,单片机导入HEX文件的方法是,打开单片机器件属性对话框,在“ProgramFiles”栏目里打开文件目录,选择装入HEX文件即可。

单片机此后按照该HEX文件的代码运行程序。

【特别注意】单片机运行速度与晶振频率有关,目前PROTEUS的版本不支持晶振器属性里所设置的频率值,单片机晶振频率必须在单片机器件本身的属性里设置,即打开单片机器件属性对话框,在其“ClockFrequency”栏目里输入频率值。

(五)软件调试菜单

进入菜单栏,选择“Debug”下“Start/ResartDebugging”,即进入调试状态,此后可以进行单步运行、全速运行、断点设置等功能。

【特别提示】:

调试期间,即可看到电路系统的运行结果和状态细节。

可在电路中进行电压、电流和波形测试,其测试操作基本方法是选择“器件和仪器工具栏”的测试工具或测试信号图标,将测试工具和测试信号放置到电路的相应位置,并与测试点连接起来(放置和连接方法同电路器件一样),然后再调试运行即可看到测试结果。

二、参考硬件电路

三、参考汇编程序

ORG00H

LJMPMAIN

ORG100H

MAIN:

MOVA,#7FH

LOOP:

RLA

MOVP0,A

LCALLDEL

LJMPLOOP

DEL:

MOVR0,#4

DL3:

MOVR2,#250

DL2:

MOVR3,#250

NOP

DEL1:

DJNZR3,DEL1

NOP

DJNZR2,DL2

DJNZR0,DL3

RET

END

四、思考练习题

(一)单片机最小系统由哪几个基本部分组成?

(二)修改硬件电路及晶振频率,使流水灯通过P2口运行,并加快流水速度。

(三)修改程序,改变流水灯流向和流水灯花样。

 

基础实验一查表指令及基本IO实验

一、实验内容

(1)先搭建一个“8051基本IO实验”的仿真电路,该单片机系统功能是一个开关闭合后,有一个对应的LED指示灯亮。

(2)利用已搭建的电路运行“查表指令程序”,实验要求输出的花样按照一个常数表的数值改变。

二、.参考硬件电路

.

三、参考汇编程序

(1)基本IO实验

ORG0000H

LJMPSTART;P2输入P0输出

ORG0100H

START:

NOP

LOOP:

MOVP2,#0FFH;复位P1口为输入状态

MOVA,P2;

MOVP0,A

AJMPLOOP

END

(2)查表指令实验

ORG0000H

LJMPSTART;流水灯程序,查表P1输出

ORG0100H

START:

MOVDPTR,#TAB

LOOP:

CLRA

MOVCA,@A+DPTR;

CJNEA,#0FFH,NEXT

AJMPSTART

NEXT:

CPLA

MOVP0,A

LCALLDELAY

INCDPTR

AJMPLOOP

DELAY:

MOVR5,#250

DELAY1:

MOVR6,#250

NOP

DELAY0:

DJNZR6,DELAY0

DJNZR5,DELAY1

RET

TAB:

DB01H,02H,04H,08H,10H,20H,40H,80H

DB80H,40H,20H,10H,08H,04H,02H,01H,0FFH

END

四、思考练习题

(一)运行基本IO程序后,设置不同的开关状态,查看运行结果.。

设置好开关状态后,标出每一条指令的功能和执行结果

(二)将基本IO程序的指令AJMPLOOP句改成LOOP1:

AJMPLOOP1,分析和验证运行结果。

(三)对于查表指令程序,若DPTR的内容分别是TAB+5和TAB+16,分别写出上述程序中指令MOVCA,@A+DPTR的执行结果。

(四)分析查表指令程序执行的大致过程。

将程序的常数表加以修改,使显示的花样改变。

之后又修改延时子程序DELAY,使显示变化的速度加快。

 

基础实验二外部中断与堆栈指令实验

一、实验内容

搭建一个“外部中断与堆栈指令实验”的仿真电路,该单片机系统功能是,系统运行后,LED灯显示一个加法计数。

中断开关闭合后,显示的内容是插入一个流水灯扫描,流水灯扫描结束后继续显示加法计数。

二、.参考硬件电路

三、参考汇编程序

ORG00H

LJMPSTART;加法计数显示中断循环两次,现场保护

ORG003H

LJMPI001

ORG100H

START:

SETBIT0

SETBEX0

SETBEA

CLRA

ST0:

CPLA

MOVP0,A

LCALLDL0

CPLA

INCA

AJMPST0

I001:

PUSHACC;NOP;PUSHACC保护现场

SETBRS1

MOVP0,#0FFH

MOVA,#0FFH

LCALLDL0

MOVR3,#8

LCALLDL0

LOOP:

CLRC

RLCA

MOVP0,A

LCALLDL0

DJNZR3,LOOP

MOVR3,#8

LOOP1:

SETBC

RRCA

MOVP0,A

LCALLDL0

DJNZR3,LOOP1

CLRRS1

POPACC;NOP;POPACC恢复现场

RETI

DL0:

MOVR0,#4

DL1:

MOVR1,#255

DL2:

MOVR2,#255

DJNZR2,$

DJNZR1,DL2

DJNZR0,DL1

RET

END

四、思考练习题

(一)分析程序结构,运行程序后,随时将开关闭合一下,查看运行结果.。

(二)分析程序的中断响应的执行过程。

若将指令SETBIT0改为CLRIT0,分析和验证运行结果。

(三)将程序的指令PUSHACC和POPACC同时改成NOP指令,分析和验证运行结果。

 

基础实验三定时器与静态显示实验

一、实验内容

(1)搭建一个“定时器与静态显示实验”的仿真电路,该单片机系统功能是,系统运行后,LED数码管显示器相当于秒计数器。

(2)搭建一个类似电路,能够记录中断开关闭合时长,LED数码管显示器相当于秒表。

二、.参考硬件电路

(1)秒计数器电路

 

(2)秒表电路

【提示】:

图中的BCD数码管,相当于上面秒计数器电路中“4511加七段数码管”的功能,这样做的目的只是为了简化电路而已。

后续的实验电路有类似的做法,不再一一加以说明。

三、参考汇编程序

(1)秒计数器程序

ORG0000H

LJMPSTART

ORG0013H

LJMPT0INT

START:

MOVP0,#00H

MOVTMOD,#01H;G=0,C=0,M1M0=01

MOVTH0,#4CH;11.0592m,50ms中断计B400H次

MOVTL0,#00H

SETBTR0

SETBEA

SETBET0

MOVSP,#60H;30H改成60

MOV30H,#00H;中断计数器初值

MOV31H,#00H;秒计数器初值

CLR00H;秒刷新标志

LOOP:

JNB00H,LOOP

setbp2.0;clrp2.0

MOVP0,31H

clrp2.0;setbp2.0

CLR00H

AJMPLOOP

T0INT:

MOVTH0,#4CH;11.0592m,50ms中断计B400H次

MOVTL0,#00H

PUSHACC

INC30H

MOVA,30H

CJNEA,#20,REL0;中断20次1秒

REL0:

JCNEXT0

MOV30H,#00H

MOVA,31H

ADDA,#1

DAA

MOV31H,A

SETB00H

CJNEA,#60H,REL1

REL1:

JCNEXT0

MOV31H,#00H;0~59

NEXT0:

POPACC

RETI

END

(2)秒表程序

ORG0000H

LJMPSTART

ORG0013H

LJMPT0INT

START:

MOVP0,#00H

MOVTMOD,#01H;G=0,C/T=0,M1M0=01

MOVTH0,#4CH;11.0592m,50ms中断计B400H次

MOVTL0,#00H

;SETBTR0

SETBEA

SETBET0

MOVSP,#60H;30H改成60

MOV30H,#00H;中断计数器初值

MOV31H,#00H;0.1秒计数器初值

LOOP:

JBP3.2,LOOP

SETBTR0;启动计数

MOV31H,#00H

MOVP0,31H;显示00初值

LOOP1:

JNBP3.2,LOOP1

CLRTR0;停止计数

MOVTH0,#4CH;11.0592m,50ms中断计B400H次

MOVTL0,#00H

AJMPLOOP

T0INT:

MOVTH0,#4CH;11.0592m,50ms中断计B400H次

MOVTL0,#00H

PUSHACC

INC30H

MOVA,30H

CJNEA,#2,REL0;中断2次0.1秒

REL0:

JCNEXT0

MOV30H,#00H

MOVA,31H

ADDA,#1

DAA

MOV31H,A;0.0~9.9秒

NEXT0:

MOVP0,31H

POPACC

RETI

END

四、思考练习题

(一)分析秒计数器程序结构,查看运行结果.。

(二)分析秒表程序的中断响应的执行过程。

随时按一下按键,分析和验证运行结果。

 

扩展实验一并行扩展8255实验

一、实验内容

搭建一个“并行扩展8255实验”的仿真电路,该单片机系统功能是,系统运行后,点阵LED流水灯显示,显示位置受8255的C口的波论开关控制。

二、.参考硬件电路

三、参考汇编程序

PAEQU7CFFH

PBEQU7DFFH

PPCEQU7EFFH

PKEQU7FFFH

ORG0000H

LJMPSTART;流水灯程序,查表P1输出

ORG0100H

START:

nop

;LCALLDELAY

MOVDPTR,#PK;

MOVA,#89H;10001001,AB方式0,输出,C输入

MOVX@DPTR,A

MOVDPTR,#PPC;

MOVXA,@DPTR

NEXT:

MOVB,A

MOVDPTR,#PA;

cpla

MOVX@DPTR,A

MOVDPTR,#PB;

MOVA,#7FH

LOOP:

RLA

movr0,a

MOVDPTR,#PB;

MOVX@DPTR,A;

LCALLDELAY

MOVDPTR,#PPC;

MOVXA,@DPTR

CJNEA,B,NEXT

mova,r0

AJMPLOOP

DELAY:

MOVR5,#2

DELAY1:

MOVR6,#250

DELAY0:

MOVR7,#250

DJNZR7,$

DJNZR6,DELAY0

DJNZR5,DELAY1

RET

END

;(提示:

控制字格式为:

D7-方式有效标志,D6D5-PA组方式选择,D4-PA口输入输出选择,D3-PC口高半字节输入输出选择,D2-PB组方式选择,D1-PB口输入输出选择,D0-PC口低半字节输入输出选择,1-输入,0-输出。

8255A的初始化时间较长)

四、思考练习题

(1)结合硬件电路说明,PA/PB/PC/控制口地址为何这样赋值?

PAEQU7CFFH

PBEQU7DFFH

PPCEQU7EFFH

PKEQU7FFFH

(2)结合系统功能说明,控制字为何这样赋值?

MOVDPTR,#PK;

MOVA,#89H;10001001,AB方式0,输出,C输入

MOVX@DPTR,A

(3)分析程序结构,运行程序拨动开关,分析运行结果,实验如何修改程序改变流水灯方向?

 

扩展实验二串行通信实验

一、实验内容

(1)搭建一个“8051双机通信的实验”的仿真电路,该单片机系统功能是,系统运行后,两个单片机各作加法、减法计数,在外部中断的控制下,能向对方发送数据。

(2)搭建一个“51单片机与PC机通信的实验”的仿真电路,该单片机系统功能是,系统运行后,PC机串口向单片机发“U”,单片机回发问候信息,单片机每这么完成收发一次,计数器加一显示出来。

二、.参考硬件电路

(1)8051双机通信的电路

 

(2)51单片机与PC机通信的电路

三、参考汇编程序

(1)8051双机通信的两个程序

A:

加法计数程序

ORG0000H

LJMPMAIN

ORG003H

LJMPINT

ORG023H

LJMPSPT

ORG130H

MAIN:

MOVSCON,#50H;串口方式1

MOVPCON,#00H;SMOD=0

MOVTMOD,#20H;T1方式2(重装方式)

MOVTH1,#0FDH;11MHz晶振条件

MOVTL1,#0FDH;波特率为9600bps

SETBTR1

SETBEA

SETBEX0

SETBIT0

SETBES;CLRES

SETBPS

MOVR0,#00H

LOOP:

MOVP1,R0

LCALLDEL

INCR0

SJMPLOOP

INT:

MOVSBUF,R0

JNBTI,$

CLRTI

RETI

SPT:

JBTI,RSPT

CLRRI;

MOVA,SBUF

MOVP1,A

RSPT:

RETI

DEL:

MOVR7,#20

DL3:

MOVR6,#250

DL2:

MOVR5,#250

DJNZR5,$

DJNZR6,DL2

DJNZR7,DL3

RET

END

B:

减法计数程序

ORG0000H

LJMPMAIN

ORG003H

LJMPINT

ORG023H

LJMPSPT

ORG130H

MAIN:

MOVSCON,#50H;串口方式1

MOVPCON,#00H;SMOD=0

MOVTMOD,#20H;T1方式2(重装方式)

MOVTH1,#0FDH;11MHz晶振条件

MOVTL1,#0FDH;波特率为9600bps

SETBTR1

SETBEA

SETBEX0

SETBIT0

SETBES;CLRES

SETBPS

MOVR0,#00H

LOOP:

MOVP1,R0

LCALLDEL

DECR0

SJMPLOOP

INT:

MOVSBUF,R0

JNBTI,$

CLRTI

RETI

SPT:

JBTI,RSPT

CLRRI;

MOVA,SBUF

MOVP1,A

RSPT:

RETI

DEL:

MOVR7,#20

DL3:

MOVR6,#250

DL2:

MOVR5,#250

DJNZR5,$

DJNZR6,DL2

DJNZR7,DL3

RET

END

(2)51单片机与PC机通信程序

ORG0000H

LJMPMAIN

ORG23H

LJMPSPT

ORG30H

MAIN:

MOVSCON,#50H;串口方式1

MOVPCON,#00H;SMOD=0

MOVTMOD,#20H;T1方式2(重装方式)

MOVTH1,#0FDH;11MHz晶振条件

MOVTL1,#0FDH;波特率为9600bps

SETBTR1

SETBES

SETBEA

MOVR2,#00H;R2放显示次数

DISP:

MOVP1,R2

SJMPDISP

SPT:

CLRRI;

MOVA,SBUF

CJNEA,#'U',KK

CLRES

INCR2

MOVDPTR,#TBL

LOOP:

MOVA,#00H

MOVCA,@A+DPTR

CJNEA,#0FFH,GOON

SETBES

AJMPKK

GOON:

MOVSBUF,A

JNBTI,$

CLRTI

INCDPTR

AJMPLOOP

KK:

RETI

TBL:

DB"-",'H','e','l','l','o','!

',0FFH

END

四、思考练习题

(1)双机通信时,晶振频率能否一个使用12M,另一个使用11.0592M晶振?

双机通信程序中设置了外部中断与串行中断,哪一个中断优先级高?

是否允许串行发中断与串行收中断?

串行中断

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2