微型计算机原理及应用实验指导

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一数据查找实验

一、实验目的

熟悉汇编语言编程。

二、实验容

在7000H-700FH中查出有几个字节是零,统计“00”的个数再显示在数码管上。

三、实验程序框图

四、实验步骤

(1)在7000H-700FH单元中放入随机数,其中几个单元中输入零。

(2)用连续方式从起始地址0160H开始运行程序(输入0160后按EXEC键)。

(3)观察显示器上的容,应显示容为“00”的单元的个数。

五、思考

修改程序,查找其它容。

实验程序

1 ORG 0160H

2 FIND: MOV SP,#60H ;设栈指针

3 MOV R0,#10H ;查找16个字节

4 MOV R1,#00H

5 MOV DPTR,#7000H

6 FIND1: MOVX A,DPTR

7 CJNE A,#00H,FIND2 ;取出的容与00H相等吗?

8 INC R1 ;计数值加1,指针加1

9 FIND2: INC DPTR

10 DJNZ R0,FIND1 ;未完继续

11 MOV A,R1

12 MOV R0,#79H ;个数送显示缓冲区

13 ANL A,#0FH

14 MOV R0,A

15 INC R0

16 MOV A,R1

17 SWAP A

18 ANL A,#0FH

19 MOV R0,A

20 INC R0

21 MOV A,#10H

22 MOV R4,#04H

23 FIND3: MOV R0,A

24 INC R0

25 DJNZ R4,FIND3

26 FIND4: LCALL DISP ;循环调显示程序

27 SJMP FIND4

28 DISP: SETB 0D4H ;显示子程序

29 MOV R1,#7EH

30 MOV R2,#20H

31 MOV R3,#00H

32 DISP1: MOV DPTR,#0FF21H

33 MOV A,R2

34 MOVX DPTR,A

35 MOV DPTR,#DATA1

36 MOV A,R1

37 MOVC A,A+DPTR

38 MOV DPTR,#0FF22H

39 MOVX DPTR,A

40 DISP2: DJNZ R3,DISP2

41 DEC R1

42 CLR C

43 MOV A,R2

44 RRC A

45 MOV R2,A

46 JNZ DISP1

47 MOV A,#0FFH

48 MOV DPTR,#0FF22H

49 MOVX DPTR,A

50 CLR 0D4H

51 RET

52 DATA1: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;显示代码

53 DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH

54 END

实验二工业顺序控制模拟实验

一、实验目的

掌握工业顺序控制程序的简单编程和中断的使用。

二、实验预备知识

在工业控制中,象冲压、注塑、轻纺、制瓶等生产过程,都是一些断续生产过程,按某种程序有规律地完成预定的动作,例如注塑机工艺过程大致按“合模→注射→延时→开模→产伸→产退”顺序动作。对这类断续生产过程的控制称为顺序控制,可用单片机控制实现。

三、实验容

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拨至上面(高电平),即排除故障,程序应从刚才报警的那道工序继续执行。

八、思考

修改程序,使每道工序中有多位输出。

实验程序

1 ORG 0013H

2 LJMP HA2S3

3 ORG 0580H

4 HA2S: MOV P1,#00H ;关各道工序

5 ORL P3,#00H

6 HA2S1: P3.4,HA2S1 ;是否开始工作

7 ORL IE,#84H ;初始化中断寄存器

8 ORL IP,#04H

9 MOV PSW,#00H

10 MOV SP,#53H

11 HA2S2: MOV P1,#01H ;第一道工序

相关文档
最新文档