DPJ实验指导书.docx

上传人:b****7 文档编号:10439393 上传时间:2023-02-11 格式:DOCX 页数:27 大小:130.83KB
下载 相关 举报
DPJ实验指导书.docx_第1页
第1页 / 共27页
DPJ实验指导书.docx_第2页
第2页 / 共27页
DPJ实验指导书.docx_第3页
第3页 / 共27页
DPJ实验指导书.docx_第4页
第4页 / 共27页
DPJ实验指导书.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

DPJ实验指导书.docx

《DPJ实验指导书.docx》由会员分享,可在线阅读,更多相关《DPJ实验指导书.docx(27页珍藏版)》请在冰豆网上搜索。

DPJ实验指导书.docx

DPJ实验指导书

 

自动化专业

 

《单片机原理及应用》

 

实验指导书

 

2011.3

 

实验一数据传送实验

1实验目的

学习使用单片机仿真装置。

掌握MCS-51单片机内部RAM和外部RAM的数据传送方法,掌握内部RAM和外部RAM的特点和区别。

学习编写和调试简单程序。

2实验内容

观察单片机实验系统上单片机、存贮器、发光二极管、LED数码管、拨码开关和键盘上各键的位置与功能命令,观察了解仿真调试窗口。

(2)数据传送指令应用练习。

3实验步骤

系统连接

按照实验系统使用说明,连接实验系统的电源线和与计算机相连的通信线,运行仿真程序,将实验系统与计算机联机。

编辑如下程序

MOVA,#0AAH

MOVDPTR,#1000H

MOVX@DPTR,A

MOVR0,04AH

MOV@R0,A

MOVSP,#70H

PUSHACC

SJMP$

END

读出DPTR、A、SP、R0、内部RAM中4AH、70H、71H和外部RAM的1000H单元内容并填入表4.1中。

编译、下载、单步运行上面程序,重新读出上述各寄存器和RAM单元内容并填入表4.1中。

表4.1实验结果数据表

程序执行

DPTR

SP

A

R0

4AH(内)

4AH(外)

70H

71H

编辑并单步运行下面程序,将结果填入表4.2中。

MOVSP,#6FH

MOVA,#0AAH

MOVDPL,#0CCH

PUSHACC

PUSHDPL

SJMP$

表4.2实验结果数据表

A

DPL

堆栈指针SP

堆栈单元

6FH

70H

71H

72H

程序执行前

程序执行后

4思考

观察PUSH指令对SP和堆栈中内容的影响。

编写一程序,将外部RAM中内容传送到内部RAM中。

实验二分支和循环程序实验

1实验目的

掌握分支和循环程序的设计方法。

学习用仿真软件调试和运行汇编语言程序。

2实验内容

(1)分支(散转)程序实验

编写程序,要求程序能根据20H中的数i的值(i≤3)进行散转,即根据i的值分别转移到相应的处理程序运行。

实验步骤在20H中分次送入00、01、02、03,以0A10H为起始地址运行程序,每次运行程序后,观察数码管上数字循环情况。

(2)循环程序实验(查找相同数个数)

在2000H~200FH单元中中查出有几个字节是零,把为零的字节数放在2100H中。

实验步骤

在2000H~200FH的任意几个单元中填入零,以0AA0H为起始地址运行本程序后检查2100H中为零的单元数。

思考修改程序,查找其它内容。

3程序流程图

实验三并行I/O口扩展实验

1实验目的

.了解缓冲器/驱动器74LS244和8D触发器74LS273的功能和引脚。

学习在单片机系统中用通用数字电路芯片扩展并行I/O接口的方法,掌握外部接口

芯片选片和读写控制信号的设计。

学习数据输入输出程序的设计方法。

2实验内容

利用74LS244作为输入口,将开关K1-K8接74LS244输入引脚,74LS273作为输出口,将发光二极管LED1-LED8分别接到74LS273的输出引脚上,读取开关状态,并将此状态通过74LS273驱动发光二极管显示出来。

3程序流程图

程序流程图如图4.3所示。

4实验电路

实验电路与接线如图4.4所示。

图4.4实验电路与接线图

5实验步骤

将图4.29中的Y0~Y7接Kl~K8,Q0~Q7接L1~L8,244CS接FFE0孔,273CS接FFE4孔,执行程序,拨动开关Kl~K8,观察L1~L8是否对应点亮,将观察结果填入表4.3中。

表4.3实验结果数据表

K1

K2

K3

K4

K5

K6

K7

K8

L1

L2

L3

L4

L5

L6

L7

L8

 

6思考

本实验用74LS244扩展并行输入口,74LS244是八缓冲器/驱动器,无锁存功能,实验中用74LS244的使能信号端做选片和读选通信号端,74LS244也可用做单片机的并行输出接口,提高信号驱动能力,请大家考虑:

74LS244做并行输出接口时跟单片机的接口方法。

本实验用74LS273扩展并行输出口,74LS273是八D锁存器,实验中用74LS273的时钟信号端做选片和写选通信号端,74LS273也可做单片机的并行输入接口,请大家考虑:

74LS273做并行输入接口时跟单片机的接口方法。

修改程序,使发光二极管闪亮移位方向和顺序改变。

 

实验四8253定时/计数器实验

1实验目的

了解8253定时器的工作原理,掌握8253芯片和单片机硬件连接方法及时序关系。

掌握8253的各种工作模式的编程与调试方法。

2实验内容

编写程序将8253的定时器0设置为方式3(方波),定时器2设置为方式2(分频)。

定时器0输出的脉冲作为定时器2的时钟输入。

定时器2输出经过分频后的方波,用示波器观

察各信号之间的时序关系。

3程序流程图

程序流程图如图4.5所示。

4实验电路

实验电路与接线如图4.6所示。

图4.6实验电路图

5实验步骤

用插针把CLK0和振荡单元TX的插孔3相连,GATE0和GATE2孔与5V孔相连,OUT0和CLK2相连,8253CS孔和FFE0孔相连。

8253的OUT2跟发光二极管L1相连,运行后可通过LED1观察方波输出(LED1会不停闪烁)。

也可用示波器观察各对应引脚之间的波形关系。

6实验说明

8253的工作频率是0~2MHz,所以输入的CLK频率必须在2MHz以下。

实验系统中的晶振是4.9512MHz,所以要通过74LS393分频后再作为8253的CLK0的输入。

实验五综合实验—步进电机控制实验

1实验目的

了解步进电机工作原理,掌握用单片机控制步进电机的基本原理和硬件设计方法。

掌握步进电机驱动程序的设计与调试,提高单片机应用系统设计调试水平。

2实验内容

开关K1和K2分别接P3.0和P3.1控制步进电机的转向,K0为1正转,K1为1反转,其他状态停机。

内部RAM的20H单元为设定步数,21H单元为设定转速。

在显示器上显示正、反转命令,转速(16级)和转动步数,转动步数减为零时停止转动。

3程序流程图

程序流程图如图4.7所示。

Y

4实验电路

实验电路与接线如图4.8所示。

图4.8步进电机实验电路图

5实验步骤

步进电机插头接实验系统J1插座,P1.0~P1.3接HA~HD,也可把L1~L4接A、B、C、D孔。

P3.0和P3.1分别接K1和K2,调试时,利用仿真软件的寄存器和RAM读写命令将设定的步数和转速数据写入20H和21H中,用显示器显示步进电机运行状态,第一位为0代表正转,为1代表反转,第2和第3位显示转速,第4~6位为设定步数,可调用实验系统中的显示程序。

执行程序后,选择P3.0或P3.1为1使步进电机正转或反转,步数逐渐减小到零时步进电机停止转动。

6实验说明

步进电机是工业过程控制、仪表及其他电子装置中常用的控制元件之一,广泛用于计算机外围设备、数控机床、自动化仪表和其他电子装置中。

其作用是将脉冲电信号变换为相应的角位移或直线位移。

步进电机的驱动原理是通过顺序切换每相线圈中的电流使电机作步进式旋转,驱动电路由脉冲信号控制,所以调节脉冲信号的频率便可改变步进电机的转速,改变各相线圈通电的顺序就可改变步进电机旋转方向,控制驱动脉冲数就可控制步进电机输出的角位移或直线位移,所以非常适合采用单片机控制。

步进电机可采用单拍制或双拍制分配方式运行。

本实验使用的步进电机用直流+12V电压,电机线圈由A、B、C、D四相绕组组成。

驱动方式为四相单四拍方式,各相线圈通电顺序如表4.4。

表中首先向A相线圈输入驱动电流,接着B相、C相、D相线圈驱动,最后又返回到A相线圈驱动,按这种顺序切换,电机轴按顺时针方向旋转。

若通电顺序相反,则电机轴按逆时针方向旋转。

 

表4.4驱动顺序表

顺序/相

A

B

C

D

1

0

1

1

1

2

1

0

1

1

3

1

1

0

1

4

1

1

1

0

5

0

1

1

1

7思考

为提高步进电机负载能力和运行平稳性,可使用四相八拍驱动方式,试列出各相线圈通电顺序表,编写驱动程序,是否还有其他驱动模式?

设定的步数和设定转速通过键盘输入。

 

附录部分实验参考程序

1、多分支程序

ORG0A10H

MEMS:

MOVA,20H

MOVDPTR,#KKKK;散转首址

RLA;(20)*2

JMP@A+DPTR;转到(20)*2+DPTR

KKKK:

AJMPMEMSP0

AJMPMEMSP1

AJMPMEMSP2

SJMPMEMSP3

MEMSP0:

MOV20H,#0C0H;0字循环

LJMPSOX0

MEMSP1:

MOV20H,#0F9H;1字循环

LJMPSOX0

MEMSP2:

MOV20H,#0A4H;2字循环

LJMPSOX0

MEMSP3:

MOV20H,#0B0H;3字循环

LJMPSOX0

;---------------------------------------------

SOX0:

MOVA,20H

MOVR0,#0DCH

MOVR1,#0DDH

MOVX@R0,A

MOVA,#01H

SOX1:

MOVX@R1,A

MOVR2,#20H

LCALLDELY

RLA;显示子程序

SJMPSOX1

;---------------------------------------------

DELY:

PUSH02H

DEL2:

PUSH02H

DEL3:

PUSH02H;延时

DEL4:

DJNZR2,DEL4

POP02H

DJNZR2,DEL3

POP02H

DJNZR2,DEL2

POP02H

DJNZR2,DELY

RET

;---------------------------------------------

END

 

2、查找相同数个数程序

ORG0AA0H

L5800:

MOVR0,#10H;查找16个字节

MOVR1,#00H

MOVDPTR,#2000H

L5811:

MOVXA,@DPTR

CJNEA,#00H,L5816;取出内容与00H相等吗?

INCR1;取出个数加1

L5816:

INCDPTR

DJNZR0,L5811;未完继续

MOVDPTR,#2100H

MOVA,R1

MOVX@DPTR,A;相同数个数送2100H

L581E:

SJMPL581E

END

 

3、定时/计数器(8253方波)

ORG0EC0H

L8253:

MOVDPTR,#0FFE3H

MOVA,#36H

MOVX@DPTR,A;置8253工作方式

MOVDPTR,#0FFE0H

MOVA,#00H;启动8253方波程序

MOVX@DPTR,A

MOVA,#10H

MOVX@DPTR,A

SJMP$;结束

END;结束

 

4、步进电机控制实验

ORG0CA0H

DOJ0:

MOVSP,#53H

CALLLEDP

DOJ6:

LCALLX2;调键扫显示子程序

JBACC.4,DOJ5

LCALLX3;调数字键处理子程序

DB79H,7EH

SJMPDOJ6

DOJ5:

CJNEA,#16H,DOJ6;不是执行键转

MOVA,7AH

SWAPA

ORLA,79H

MOVR6,A;低字节步距数送R6

MOVA,7CH

SWAPA

ORLA,7BH

MOVR7,A;高字节步距数R7

MOVA,7EH

CJNEA,#00H,DOJ2;判转动方向

DOJ1:

MOVP1,#03H;顺时针转动

CALLDEL0Y

CALLGGJ0

MOVP1,#06H

CALLDEL0Y

CALLGGJ0

MOVP1,#0CH

CALLDEL0Y

CALLGGJ0

MOVP1,#09H

CALLDEL0Y

CALLGGJ0

SJMPDOJ1

DOJ2:

MOVP1,#09H;逆时针转动

CALLDEL0Y

CALLGGJ0

MOVP1,#0CH

CALLDEL0Y

CALLGGJ0

MOVP1,#06H

CALLDEL0Y

CALLGGJ0

MOVP1,#03H

CALLDEL0Y

CALLGGJ0

SJMPDOJ2

DEL0Y:

MOVA,7DH;根据(7D)内容改变延时时间

SWAPA

CLRC

RRCA

RRCA

MOVR2,A

DELY1:

MOVR5,#01H

DEL1Y:

CALLDIS

DJNZR5,DEL1Y

DJNZR2,DELY1

RET

GGJ0:

CJNER7,#00H,GGJ1;步距数为0停止

CJNER6,#00H,GGJ1;不为0减1后显示

AJMPDOJ4

GGJ1:

DJNZR6,DOJ3

CJNER7,#00H,DDJ8

DOJ4:

CALLDOJ7

SJMPDOJ4

DDJ8:

DJNZR7,DOJ3

AJMPDOJ4

DOJ3:

CALLDOJ7

RET

DOJ7:

MOVR0,#79H

MOVA,R6

CALLPTDS5

MOVA,R7

CALLPTDS5

CALLSSEE;显示

RET

PTDS5:

MOVR1,A

CALLPTDS6

MOVA,R1

SWAPA

PTDS6:

ANLA,#0FH

MOV@R0,A

INCR0

RET

;-----------------------------------

LEDP:

MOV50H,#7EH

MOVA,#10H

MOVR0,#79H

LEDS:

MOV@R0,A

INCR0

CJNER0,#7EH,LEDS

INCA

MOV@R0,A

RET

;--------------------------------

X3:

MOVR4,A

MOVR0,#50H

MOVA,@R0

MOVR1,A

MOVA,R4

MOV@R1,A

CLRA

POPDPH

POPDPL

MOVCA,@A+DPTR

INCDPTR

CJNEA,01H,X30

decr1

clra

MOVCA,@A+DPTR

X31:

MOV@R0,A

INCDPTR

PUSHDPL

PUSHDPH

RET

;------------------------------------

X30:

DECR1

MOVA,R1

SJMPX31

;--------------------------

X2:

MOVR6,#50H

X0:

ACALLXLE

JNBACC.5,XX0

DJNZR6,X0

MOVR6,#20H

MOVR0,#50H

MOVA,@R0

MOVR0,A

MOVA,@R0

MOVR7,A

MOVA,#10H

MOV@R0,A

X1:

ACALLXLE

JNBACC.5,XX1

DJNZR6,X1

MOVA,R7

MOV@R0,A

SJMPX2

XX1:

MOVR6,A

MOVA,R7

MOV@R0,A

MOVA,R6

XX0:

RET

;----------------------------

LS3:

DB07H,04H,08H,05H,09H,06H,0AH

DB0BH,01H,00H,02H,0FH,03H,0EH

DB0CH,0DH

DIS:

PUSHDPH

PUSHDPL

SETBRS1

MOVR0,#7EH

MOVR2,#20H

MOVR3,#00H

MOVDPTR,#LS0

LS2:

MOVA,@R0

MOVCA,@A+DPTR

MOVR1,#0DCH

MOVX@R1,A

MOVA,R2

incR1

MOVX@R1,A

LS1:

DJNZR3,LS1

CLRC

RRCA

MOVR2,A

DECR0

JNZLS2

movx@r0,a

decr0

cpla

movx@r0,a

CLRRS1

POPDPL

POPDPH

RET

LS0:

DB0C0H,0F9H,0A4H,0B0H,99H,92H

DB82H,0F8H,80H,90H,88H,83H,0C6H

DB0A1H,86H,8EH,0FFH,0CH,89H,7FH,0BFH

;-----------------------------

SSEE:

SETBRS1;换工作区

MOVR5,#05H

SSE2:

MOV30H,#20H

MOV31H,#7EH

MOVR7,#06H

SSE1:

MOVR1,#0DDH

MOVA,30H

MOVX@R1,A;字位送入

MOVR0,31H

MOVA,@R0

MOVDPTR,#DDFF

MOVCA,@A+DPTR;取字形代码

MOVR1,#0DCH

MOVX@R1,A;字形送入

MOVA,30H;右移

RRA

MOV30H,A

DEC31H

MOVA,#0FFH

MOVX@R1,A;关显示

DJNZR7,SSE1;6位显示完了吗?

DJNZR5,SSE2;5次显示完了吗?

CLRRS1

RET

;------------------------------

XLE:

ACALLDIS

ACALLKEY

MOVR4,A

MOVR1,#48H

MOVA,@R1

MOVR2,A

INCR1

MOVA,@R1

MOVR3,A

MOVA,R4

XRLA,R3

MOVR3,04H

MOVR4,02H

JZX10

MOVR2,#88H

MOVR4,#88H

X10:

DECR4

MOVA,R4

XRLA,#82H

JZX11

MOVA,R4

XRLA,#0EH

JZX11

MOVA,R4

JZX12

MOVR4,#20H

DECR2

SJMPX13

X12:

MOVR4,#0FH

X11:

MOVR2,04H

NOP

NOP

MOVR4,03H

X13:

MOVR1,#48H

MOVA,R2

MOV@R1,A

INCR1

MOVA,R3

MOV@R1,A

MOVA,R4

JBACC.5,X113

JBACC.4,X113

MOVDPTR,#LS3

MOVCA,@A+DPTR

X113:

RET

;------------------------------

DDFF:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

DB88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH

;----------------------------------

KEY:

SETBRS1

MOVR2,#0FEH

MOVR3,#08H

MOVR0,#00H

LP1:

MOVR1,#0DDH

MOVA,R2

MOVX@R1,A

RLA

MOVR2,A

incr1

MOVXA,@R1

CPLA

ANLA,#0FH

JNZLP0

INCR0

DJNZR3,LP1

XP33:

MOVA,#20H

XP3:

movr2,a

clra

movr1,#0ddh

movx@r1,a

mova,r2

CLRRS1

RET

;----------------------------

LP0:

CPLA

JBACC.0,XP0

MOVA,#00H

SJMPLPP

XP0:

JBACC.1,XP1

MOVA,#08H

SJMPLPP

XP1:

JBACC.2,XP2

MOVA,#10H

SJMPLPP

XP2:

JBACC.3,XP33

MOVA,#18H

LPP:

ADDA,R0

sjmpxp3

;--------------------------------

END

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

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1