整理微型计算机原理及应用实验指导Word格式文档下载.docx
《整理微型计算机原理及应用实验指导Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《整理微型计算机原理及应用实验指导Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
未完继续
11MOVA,R1
12MOVR0,#79H;
个数送显示缓冲区
13ANLA,#0FH
14MOV@R0,A
15INCR0
16MOVA,R1
17SWAPA
18ANLA,#0FH
19MOV@R0,A
20INCR0
21MOVA,#10H
22MOVR4,#04H
23FIND3:
MOV@R0,A
24INCR0
25DJNZR4,FIND3
26FIND4:
LCALLDISP;
循环调显示程序
27SJMPFIND4
28DISP:
SETB0D4H;
显示子程序
29MOVR1,#7EH
30MOVR2,#20H
31MOVR3,#00H
32DISP1:
MOVDPTR,#0FF21H
33MOVA,R2
34MOVX@DPTR,A
35MOVDPTR,#DATA1
36MOVA,@R1
37MOVCA,@A+DPTR
38MOVDPTR,#0FF22H
39MOVX@DPTR,A
40DISP2:
DJNZR3,DISP2
41DECR1
42CLRC
43MOVA,R2
44RRCA
45MOVR2,A
46JNZDISP1
47MOVA,#0FFH
48MOVDPTR,#0FF22H
49MOVX@DPTR,A
50CLR0D4H
51RET
52DATA1:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H;
显示代码
53DB88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH
54END
实验二工业顺序控制模拟实验
掌握工业顺序控制程序的简单编程和中断的使用。
二、实验预备知识
在工业控制中,象冲压、注塑、轻纺、制瓶等生产过程,都是一些断续生产过程,按某种程序有规律地完成预定的动作,例如注塑机工艺过程大致按“合模→注射→延时→开模→产伸→产退”顺序动作。
对这类断续生产过程的控制称为顺序控制,可用单片机控制实现。
三、实验内容
8032的P1.0-P1.6控制注塑机的七道工序,模拟控制七只发光二极管的亮灭,高电平时发光二极管点亮。
设定每道工序时间转换为延时,P3.4为启动开关,低电平启动。
P3.3为外故障输入模拟开关,P3.3为0时不断告警。
P1.7为报警声音输出,设定6道工序只有一位输出,第七道工序三位有输出。
四、实验说明
实验中使用外部中断0,编中断服务程序的关键是:
1.保护进入中断时的状态,并在退出中断之前恢复进入时的状态。
2.必须在中断服务程序中设定是否允许中断重入,即设置EX0位。
一般在进入中断服务程序时应保护PSW、ACC以及中断服务程序使用但非其专用的寄存器,本实验未涉及。
五、实验程序框图
六、实验接线图
七、实验步骤
(1)P3.4连K1,P3.3连K2,P1.0-P1.6分别连到L1-L7,P1.7连SIN(电子音响输入端)。
(2)K1开关拨在上面,K2开关拨在上面。
(3)用连续方式从起始地址0580H开始运行程序(输入0580后按EXEC键),此时应处于等待启动状态。
(4)K1拨至下面(低电平),各道工序应正常运行。
(5)K2拨至下面(低电平),应有声音报警(人为设置故障)。
(6)K2拨至上面(高电平),即排除故障,程序应从刚才报警的那道工序继续执行。
八、思考
修改程序,使每道工序中有多位输出。
1ORG0013H
2LJMPHA2S3
3ORG0580H
4HA2S:
MOVP1,#00H;
关各道工序
5ORLP3,#00H
6HA2S1:
JBP3.4,HA2S1;
是否开始工作
7ORLIE,#84H;
初始化中断寄存器
8ORLIP,#04H
9MOVPSW,#00H
10MOVSP,#53H
11HA2S2:
MOVP1,#01H;
第一道工序
12ACALLHA2S7
13MOVP1,#02H;
第二道工序
14ACALLHA2S7
15MOVP1,#04H;
第三道工序
16ACALLHA2S7
17MOVP1,#08H;
第四道工序
18ACALLHA2S7
19MOVP1,#10H;
第五道工序
20ACALLHA2S7
21MOVP1,#20H;
第六道工序
22ACALLHA2S7
23MOVP1,#40H;
第七道工序
24ACALLHA2S7
25SJMPHA2S2;
循环
26HA2S3:
MOVB,R2;
外部中断服务程序
27HA2S4:
28MOV20H,#0A0H
29HA2S5:
SETBP1.7;
声音报警
30ACALLHA2S6
31CLRP1.7
32ACALLHA2S6
33DJNZ20H,HA2S5
34CLRP1.7
35ACALLHA2S6
36JNBP3.3,HA2S4;
判断故障是否已经排除
37MOVR2,B
38RETI;
排除故障后中断返回
39HA2S6:
MOVR2,#06H;
延时子程序1
40ACALLDELAY
41RET
42HA2S7:
MOVR2,#30H;
延时子程序2
43ACALLDELAY
44RET
45DELAY:
PUSH02H;
延时子程序
46DELAY1:
PUSH02H
47DELAY2:
48DELAY3:
DJNZR2,DELAY3
49POP02H
50DJNZR2,DELAY2
51POP02H
52DJNZR2,DELAY1
53POP02H
54DJNZR2,DELAY
55RET
56END
实验三交通灯控制模拟实验
1.掌握用8255A芯片扩展8051的输入输出接口的方法;
2.掌握8051内部定时器的使用方法;
3.掌握8051中断功能的使用方法;
4.熟悉8051汇编程序的设计方法。
二、实验设备
DVCC-598JH单片机、微机仿真实验系统
用8255A芯片扩展单片机的I/O口,用作输出口,控制发光二极管的亮灭,模拟交通灯管理。
编程实现各个状态的转换。
每个状态的持续时间用8051单片机的内部定时器和中断实现。
四、实验要求
因为本实验是交通灯控制模拟实验,所以要先了解实际交通灯的变化情况和规律。
假设一个十字路口为东西南北走向。
初始状态0为东西红灯,南北红灯。
然后转状态1东西绿灯通车,南北红灯。
过一段时间转状态2,东西绿灯灭,黄灯闪烁几次,南北仍然红灯。
再转状态3,南北绿灯通车,东西红灯。
过一段时间转状态4,南北绿灯灭,闪几次黄灯,延时几秒,东西仍然红灯。
然后回到状态1。
状态1至状态4为一个循环;
循环不断重复,直到断电。
在本实验中,用十二个发光二极管代表十二盏交通灯,要求发光二极管的亮灭状态转换与交通灯相同。
各状态的持续时间和黄灯闪烁次数要求如表1所示。
要求用8051内部定时器和中断功能实现各个状态的延时。
表1各状态的持续时间
状态
要求
仅在系统复位后执行一次,持续10S。
1
每个循环执行一次,持续20S。
2
每个循环执行一次,黄灯闪烁5次;
每次闪烁,黄灯亮和灭均持续0.5S。
3
4
做实验前要完成如下准备工作:
1.确定各个状态对应的8255A的输出数据。
2.根据8051内部定时器和中断的特点设计定时方式。
3.绘制程序的流程图。
4.编制控制程序。
图1状态转换
六、实验接线图及说明
图2实验接线
十二个发光二极管L1-L12的亮灭由8255A的输出口线控制,其对应关系如表2所示。
表2发光二极管与8255A输出口线的对应关系
方向
东
南
西
北
颜色
绿
黄
红
灯序号
L12
L11
L10
L9
L8
L7
L6
L5
L4
L3
L2
L1
控制口线
PB3
PB2
PB1
PB0
PC7
PC6
PC5
PC4
PC3
PC2
PC1
PC0
控制逻辑为:
控制口线输出高电平时,对应的发光二极管亮;
控制口线输出低电平时,对应的发光二极管灭。
1.按接线图,连接8255A的输出口线和发光二极管。
2.输入程序。
3.调试程序,检验状态的转换和持续的时间。
1ORG0630H
2HA4S:
3MOVDPTR,#0FF2BH
4MOVA,#80H;
设置PC、PB口为输出口,工作在方式0
5MOVX@DPTR,A
6MOVDPTR,#0FF29H
7MOVA,#02H
8MOVX@DPTR,A
9INCDPTR
10MOVA,#49H
11MOVX@DPTR,A;
点亮四个红灯
12MOVR2,#25H
13LCALLDELAY;
延时
14HA4S3:
MOVDPTR,#0FF29H
15MOVA,#08H
16MOVX@DPTR,A
17INCDPTR
18MOVA,#61H
19MOVX@DPTR,A;
东西绿灯亮,南北红灯亮
20MOVR2,#55H
21LCALLDELAY;
22MOVR7,#05H;
黄灯闪烁次数为05H
23HA4S1:
24MOVA,#04H
25MOVX@DPTR,A
26INCDPTR
27MOVA,#51H;
东西黄灯亮,南北红灯