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

上传人:b****2 文档编号:771500 上传时间:2023-04-30 格式:DOCX 页数:18 大小:208.78KB
下载 相关 举报
微型计算机原理及应用实验指导.docx_第1页
第1页 / 共18页
微型计算机原理及应用实验指导.docx_第2页
第2页 / 共18页
微型计算机原理及应用实验指导.docx_第3页
第3页 / 共18页
微型计算机原理及应用实验指导.docx_第4页
第4页 / 共18页
微型计算机原理及应用实验指导.docx_第5页
第5页 / 共18页
微型计算机原理及应用实验指导.docx_第6页
第6页 / 共18页
微型计算机原理及应用实验指导.docx_第7页
第7页 / 共18页
微型计算机原理及应用实验指导.docx_第8页
第8页 / 共18页
微型计算机原理及应用实验指导.docx_第9页
第9页 / 共18页
微型计算机原理及应用实验指导.docx_第10页
第10页 / 共18页
微型计算机原理及应用实验指导.docx_第11页
第11页 / 共18页
微型计算机原理及应用实验指导.docx_第12页
第12页 / 共18页
微型计算机原理及应用实验指导.docx_第13页
第13页 / 共18页
微型计算机原理及应用实验指导.docx_第14页
第14页 / 共18页
微型计算机原理及应用实验指导.docx_第15页
第15页 / 共18页
微型计算机原理及应用实验指导.docx_第16页
第16页 / 共18页
微型计算机原理及应用实验指导.docx_第17页
第17页 / 共18页
微型计算机原理及应用实验指导.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

《微型计算机原理及应用实验指导.docx》由会员分享,可在线阅读,更多相关《微型计算机原理及应用实验指导.docx(18页珍藏版)》请在冰点文库上搜索。

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

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

实验一数据查找实验

一、实验目的

熟悉汇编语言编程。

二、实验内容

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

三、实验程序框图

四、实验步骤

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

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

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

五、思考

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

实验程序

1ORG0160H

2FIND:

MOVSP,#60H;设栈指针

3MOVR0,#10H;查找16个字节,(0164H)=10H

4MOVR1,#00H

5MOVDPTR,#7000H;(0168H)=70H、(0169H)=00H

6FIND1:

MOVXA,@DPTR

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

(016CH)=00H

8INCR1;计数值加1,指针加1

9FIND2:

INCDPTR

10DJNZR0,FIND1;未完继续

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;第一道工序,(0597H)

12ACALLHA2S7

13MOVP1,#02H;第二道工序,(059CH)

14ACALLHA2S7

15MOVP1,#04H;第三道工序,(05A1H)

16ACALLHA2S7

17MOVP1,#08H;第四道工序,(05A6H)

18ACALLHA2S7

19MOVP1,#10H;第五道工序,(05ABH)

20ACALLHA2S7

21MOVP1,#20H;第六道工序,(05B0H)

22ACALLHA2S7

23MOVP1,#40H;第七道工序,(05B5H)

24ACALLHA2S7

25SJMPHA2S2;循环

26HA2S3:

MOVB,R2;外部中断服务程序

27HA2S4:

MOVP1,#00H;关各道工序

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:

PUSH02H

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各状态的持续时间

状态

要求

0

仅在系统复位后执行一次,持续10S。

1

每个循环执行一次,持续20S。

2

每个循环执行一次,黄灯闪烁5次;每次闪烁,黄灯亮和灭均持续0.5S。

3

每个循环执行一次,持续20S。

4

每个循环执行一次,黄灯闪烁5次;每次闪烁,黄灯亮和灭均持续0.5S。

做实验前要完成如下准备工作:

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:

MOVSP,#60H;设栈指针

3MOVDPTR,#0FF2BH

4MOVA,#80H;设置PC、PB口为输出口,工作在方式0

5MOVX@DPTR,A

6MOVDPTR,#0FF29H

7MOVA,#02H

8MOVX@DPTR,A

9INCDPTR

10MOVA,#49H;(0641H)=49H

11MOVX@DPTR,A;点亮四个红灯

12MOVR2,#25H;(0644H)=25H

13LCALLDELAY;延时

14HA4S3:

MOVDPTR,#0FF29H

15MOVA,#08H

16MOVX@DPTR,A

17INCDPTR

18MOVA,#61H

19MOVX@DPTR,A;东西绿灯亮,南北红灯亮

20MOVR2,#55H;(0653H)=55H

21LCALLDELAY;延时

22MOVR7,#05H;黄灯闪烁次数为05H,(0658H)=05H

23HA4S1:

MOVDPTR,#0FF29H

24MOVA,#04H

25MOVX@DPTR,A

26INCDPTR

27MOVA,#51H;东西黄灯亮,南北红灯亮

28MOVX@DPTR,A

29MOVR2,#20H;(0664H)=20H

30LCALLDELAY;延时

31MOVDPTR,#0FF29H

32MOVA,#00H

33MOVX@DPTR,A

34INCDPTR

35MOVA,#41H;南北红灯亮

36MOVX@DPTR,A

37MOVR2,#20H;(0673H)=20H

38LCALLDELAY;延时

39DJNZR7,HA4S1;闪烁次数未到继续

40MOVDPTR,#0FF29H

41MOVA,#03H

42MOVX@DPTR,A

43INCDPTR

44MOVA,#0cH

45MOVX@DPTR,A;东西红灯亮,南北绿灯亮

46MOVR2,#55H;(0684H)=55H

47LCALLDELAY;延时

48MOVR7,#05H;置黄灯闪烁次数,(0689H)=05H

49HA4S2:

MOVDPTR,#0FF29H

50MOVA,#02H

51MOVX@DPTR,A

52INCDPTR

53MOVA,#8aH

54MOVX@DPTR,A;东西红灯亮,南北黄灯亮

55MOVR2,#20H;(0695H)=20H

56LCALLDELAY;延时

57MOVDPTR,#0FF29H

58MOVA,#02H

59MOVX@DPTR,A

60INCDPTR

61MOVA,#08H;东西红灯亮

62MOVX@DPTR,A

63MOVR2,#20H;(06A4H)=20H

64LCALLDELAY;延时

65DJNZR7,HA4S2;闪烁次数未到继续

66LJMPHA4S3;循环

67DELAY:

PUSH02H;延时子程序,DELAY=06ADH

68DELAY1:

PUSH02H

69DELAY2:

PUSH02H

70DELAY3:

DJNZR2,DELAY3

71POP02H

72DJNZR2,DELAY2

73POP02H

74DJNZR2,DELAY1

75POP02H

76DJNZR2,DELAY

77RET

78END

实验四A/D转换实验

一、实验目的

1.掌握A/D转换与单片机的接口方法。

2.了解A/D芯片0809转换性能及编程方法。

3.通过实验了解单片机如何进行数据采集。

二、实验内容

利用实验仪上的0809做A/D转换实验,实验仪上的W1电位器提供模拟量输入。

编制程序,将模拟量转换成数字量,通过两位七段数码管显示器显示。

三、实验说明

A/D转换器大致分有三类:

一是双积分A/D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近式A/D转换器,精度、速度、价格适中;三是并行A/D转换器,速度快,价格也昂贵。

实验用ADC0809属第二类,是8位A/D转换器。

每采集一次一般需100μs。

由于ADC0809A/D转换器转换结束后会自动产生EOC信号(高电平有效),取反后将其与8031的INT0相连,可以用中断方式读取A/D转换结果。

四、实验接线图

五、实验程序框图

六、实验步骤

(1)把A/D区0809的0通道IN0用插针接至W1的中心抽头V01插孔(0-5V)。

(2)0809的CLK插孔与分频输出端T4相连。

(3)将W2的输入VIN接+12V插孔,+12V插孔再连到外置电源的+12上(电源内置时,该线已连好)。

调节W2,使VREF端为+5V。

(4)将A/D区的VREF连到W2的输出VREF端。

(若精度要求不高,A/D区的VREF直接连到VCC插孔,这样可以去掉步骤(3))

(5)EXIC1上插上74LS02芯片,将有关线路按图连好。

(6)将A/D区D0-D7用排线与BUS1区XD0-XD7相连。

(7)将BUS3区P3.0插孔连到数码管显示区DATA插孔。

(8)将BUS3区P3.1插孔连到数码管显示区CLK插孔。

(9)单脉冲发生/SP插孔连到数码管显示区CLR插孔。

(10)按实验系统的F2键,仿真实验仪进入仿真状态(内程序、外数据),显示器显示“P.....”。

(11)以连续方式从起始地址06D0运行程序,在数码管上显示当前采集的电压值转换后的数字量,调节W1数码管显示将随着电压变化而相应变化,典型值为0V-00H,2.5V-80H,5V-FFH。

实验程序

1ORG06D0H

2START:

MOVA,#00H

3MOVDPTR,#9000H

4MOVX@DPTR,A

5MOVR7,#0FFH

6MOVSBUF,A

7MOVSBUF,A;清显示

8MOVXA,@DPTR

9DISP:

MOVR0,A;显示转换数据

10ANLA,#0FH

11LP:

MOVDPTR,#TAB

12MOVCA,@A+DPTR

13MOVSBUF,A

14MOVR7,#0FH

15H55S:

DJNZR7,H55S

16MOVA,R0

17SWAPA

18ANLA,#0FH

19MOVCA,@A+DPTR

20MOVSBUF,A

21MOVR7,#0FH

22H55S1:

DJNZR7,H55S1

23LCALLDELAY

24AJMPSTART

25TAB:

DB0fch,60h,0dah,0f2h,66h,0b6h,0beh,0e0h

26DB0feh,0f6h,0eeh,3eh,9ch,7ah,9eh,8eh

27DELAY:

MOVR6,#0FFh

28DELY2:

MOVR7,#0FFh

29DELY1:

DJNZR7,DELY1

30DJNZR6,DELY2

31RET

32END

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

当前位置:首页 > 法律文书 > 调解书

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

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