第2章习题参考答案
1?什么是接口、接口技术和过程通道?
接口是计算机与外设交换信息的桥梁,包括输入接口和输出接口 接
口技术是研究计算机与外部设备之间如何减缓信息的技术。 过程通道是计算机与生产过程之间的信息传送和转换的连接通道
2?采用74LS244和74LS273与PC/ISA总线工业控制机接口,设计8 路数
字量(开关量)输入接口和8路数字量(开关量)输出接口,请 画出接口电路原理图,并分别编写数字量输入和数字量输出程序。
答:
数字量输入接口
74LS244
-1A1
-1A2 -1A3 1Y1 1Y2 1Y3 1Y4 1Y5 1Y6 1Y7 1Y8
—
D0 D1 D2 D3 D4 D5 D6 D7
PC 总 线
彳 1A4
-1A5 -1A6 -1A7 -1A8
—
—
2G 1G
-1
CS
*IOR(*RD)_
设片选端口地址为port MOV DX,port IN AL,DX
MOV DPTR,PORT MOVX A,@DPTR
数字量输出接口
DO D1 D2 D3 D4
PC 总 线
D5 D6 D7
D1 D2 D3 D4 D5 D6 D7 D8 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 输 出
卜信
号
WR)
CS IOW
RESET
0 -1
MOV AL,DATA
MOV A,DATA MOV DPTR,PORT MOVX @DPTR,A
MOV DX , port
OUT DX,AL
3?用8位A/D转换器ADC0809与8051单片机实现8路模拟量采集。 请画出接口原理图,并设计出 8路模拟量的数据采集程序。
答:
程序:
ORG 0000H
MOV MOV MOV
R0, #30H R6, #08H IE , #84H
;数据区起始地址存在R0 ;通道数送R6 ;开中断
;外中断请求信号为下跳沿触发方式 ;送端口地址到R1 A
SETB IT1 MOV
R1 , #0F0H
NEXT : MOVX @R1 , LOOP:SJMP LOOP
INC INC DJNZ
;启动A/D转换
R0
R1
R6, NEXT
;8路米样未接受,则转 NEXT ;8路米样结束,关中断
CLR EX1 END 中断服务程序:
ORG 0003H AJMP ORG MOVX MOV RETI
;外中断1的入口地址 ;转中断服务程序入口地址
1000H 1000H A, @R1 @R0, A
;读入A/D转换数据 ;将转换的数据存入数据区 ;中断返回
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转换程序。
答:
12/8
YL
>E/C
SA.
>CE STS 10V- IEQIQ^
T
2OTn
RfflM RH^OUT BIPOFF
DGND
A/D转换的程序如下:
MOV
DX,1FF0OUT H
DX,AL 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 丁 +12V
-12VT
;启动A/D转换
;置数据存储区指针
;得到转换后的12位数据
MOV [DI], AX
END
;将得到的数据存入数据存储区
中断服务程序:
MOV IN MOV MOV IN
DX,1FF2H
;读咼8位数据
AL,DX AH,AL DX,1FF3H
;读低4位数据
AL,DX
RET
ORG 0000H
MOV DPTR , #1FF0H MOVX @DPTR,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
;外设地址为16位只能用 DPTR ;访问外设只能用累加器A
;感觉很麻烦的样子
MOV A,@R1 RR A RR A RR A
;低4位送A