计算机控制技术第二章习题答案整理及详解(2013.04.26修改版SK)

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

第2章 习题参考答案

1.什么是接口、接口技术和过程通道? 答:

接口是计算机与外设交换信息的桥梁,包括输入接口和输出接口。

接口技术是研究计算机与外部设备之间如何减缓信息的技术。 过程通道是计算机与生产过程之间的信息传送和转换的连接通道。

2.采用74LS244和74LS273与PC/ISA 总线工业控制机接口,设计8路数字量(开关量)输入接口和8路数字量(开关量)输出接口,请画出接口电路原理图,并分别编写数字量输入和数字量输出程序。

答:

数字量输入接口

设片选端口地址为port

MOV DX,port MOV DPTR,PORT MOVX A,@DPTR IN AL,DX

74LS244

PC 总线

*IOR(*RD)_

数字量输出接口

MOV AL,DATA MOV A,DATA MOV DX ,port MOV DPTR,PORT OUT DX,AL MOVX @DPTR,A

3.用8位A/D 转换器ADC0809与8051单片机实现8路模拟量采集。请画出接口原理图,并设计出8路模拟量的数据采集程序。

输出信号

PC 总线

(*WR)

程序:

ORG 0000H

MOV R0,#30H ;数据区起始地址存在R0

MOV R6,#08H ;通道数送R6

MOV IE,#84H ;开中断

SETB IT1 ;外中断请求信号为下跳沿触发方式MOV R1,#0F0H ;送端口地址到R1

NEXT:MOVX @R1,A ;启动A/D转换

LOOP:SJMP LOOP

INC R0

INC R1

DJNZ R6,NEXT ;8路采样未接受,则转NEXT

CLR EX1 ;8路采样结束,关中断

END

中断服务程序:

ORG 0003H ;外中断1的入口地址

AJMP 1000H ;转中断服务程序入口地址

ORG 1000H

MOVX A,@R1 ;读入A/D转换数据

MOV @R0,A ;将转换的数据存入数据区

RETI ;中断返回

ORG 0000H

MOV R1,#30H

MOV R2,#0F0H

A1: MOV DPTR, R2

MOVX @DPTR, A

LOOP: JNB P3.2 , LOOP

MOVX A, @DPTR

MOV @R1,A

INC R2

INC R1

CJNE R2, 0F7H, A1

END

4.用12位A/D转换器AD574与PC/ISA总线工业控制机接口,实现模拟量采集。请画出接口电路原理图,并设计出A/D转换程序。

答:

A/D转换的程序如下:

MOV DX,1FF0H

OUT DX,AL ;启动A/D转换

PUSH AX

PUSH BX

PUSH CX

STI

LOOP1:JMP LOOP1

CLI

POP CX

POP BX

POP AX

LEA DI, BUF ;置数据存储区指针

MOV CL, 4

SHR AX, CL ;得到转换后的12位数据

MOV [DI], AX ;将得到的数据存入数据存储区END

中断服务程序:

MOV DX,1FF2H ;读高8位数据

IN AL,DX

MOV AH,AL

MOV DX,1FF3H ;读低4位数据

IN AL,DX

RET

ORG 0000H

MOV DPTR,#1FF0H ;外设地址为16位只能用DPTR

MOVX @DPTR,A ;访问外设只能用累加器A

PUSH A

PUSH B

PUSH C

ORG 0013H;外部中断1入口地址

LJMP PINT1

SETB IT1

SETB EX1

LOOP1: SJMP LOOP1

CLR

POP C

POP B

POP A

;感觉很麻烦的样子

MOV A,@R1 ;低4位送A

RR A

RR A

RR A

RR A

MOV R0 , A

DEC R1

MOV A, @R1 ;高8位送A

ANL A, 0FH ;屏蔽高4位

RL A

RL A

RL A

RL A

ORL A, R0 ;合并低8位

INC R1

MOV @R1 , A ;处理好后覆盖原低4位

DEC R1

MOV A , @R1

ANL A , 0F0H

RR A

RR A

RR A

RR A

MOV @R1 , A

END

中断服务程序:

MOV R1 , #30H ;先设置个内存起始单元

MOVX A, @DPTR

MOV @R1,A

INC R1

INC DPTR ;读取AD574低4位要改变引脚A0的电平MOVX A, @DPTR

MOV @R1,A

RETI

相关文档
最新文档