简单的输入接口实验
一.实验目的:
1. 理解如何将外部数据读入计算机;
2. 掌握最小模式下读总线周期时序图,以及输入接口电路的设计方法;
3. 掌握利用74LS244缓冲器将外部数据读入计算机的过程和方法;
4. 掌握在TPC-USB环境下输入接口软硬件的调试方法;
5. 掌握软件延时消抖的作用和编程方法。
二. 实验内容:
1. 设计一个接口电路并编程实现:当按动单脉冲开关时,读入单脉冲信号(上升沿或下降沿)来控制一个LED灯的亮灭切换,要求LED灯(灭→亮)切换两次 再闪烁3次后熄灭,程序结束。
输出及输入接口设计的电路框图:

电路连线图:

源代码:
CODE SEGMENT
ASSUME CS:CODE
START:MOV DX,280H ;传送输入端口地址
IN AL,DX ;输入信号
AND AL,01H
MOV BL,AL
MOV CX,4 ;接受电平变化信号4次
MOV AH,01H
LOOP1:
IN AL,DX
AND AL,01H ;取低四位
CMP AL,BL
JZ LOOP1
LOOP2:
MOV BL,AL
NOT AH,1 ;每次循环灯开或灭一次
MOV AL,AH
MOV DX,288H ;传送输出端口地址
OUT DX,AL
MOV DX,280H
LOOP LOOP1
MOV CX,3 ;同时闪烁3次
CALL DELAY
AGAIN:MOV DX,288H
MOV AL,01H
OUT DX,AL ;输出控制信号
CALL DELAY
MOV DX,288H
MOV AL,0H
OUT DX,AL
CALL DELAY
LOOP AGAIN
MOV AH,4CH
INT 21H
DELAY PROC NEAR ;延时1s子程序
PUSH CX
MOV BX,10000
FOR1:MOV CX,2000H
FOR :LOOP FOR
DEC BX
JNZ FOR1
POP CX
RET
DELAY ENDP
CODE ENDS
END START
三.实验现象:
当按动单脉冲开关时,要求LED灯(灭→亮)切换两次 ,之后再闪烁3次后熄灭,程序结束。
四.实验内容:
2. 设计一个接口电路并编程实现:扳动电平开关一个来回作为一次读入信号,控制三个LED灯的依次点亮,扳动三个来回后三个LED灯同时闪烁3次后熄灭,程序结束。
注意: 电平开关信号扳动一个来回(低电平→高电平→低电平)时LED(灭→亮→灭)。
输出及输入接口设计的电路框图:

电路连线图:
源代码:
CCODE SEGMENT
ASSUME CS:CODE
START:MOV DX,280H ;传送输入端口地址
IN AL,DX ;输入信号
AND AL,01H
MOV BL,AL
MOV CX,7 ;接受电平变化信号4次
MOV AH,01H
L1:
MOV BH,01H
MOV AL,BH
MOV DX,288H ;传送输出端口地址
OUT DX,AL ;输出信号
MOV DX,280H
DEC CX
LOOP1:
IN AL,DX
AND AL,01H
CMP AL,BL
JZ LOOP1
LOOP2:
MOV BL,AL
CMP CX,5 ;当开关断开时,依次使各个led熄灭
JZ L1 ;即电平信号在5,3,1次变化时
CMP CX,3
JZ L1
SHL AH,1
MOV AL,AH
MOV DX,288H
OUT DX,AL
MOV DX,280H
LOOP LOOP1
MOV CX,3 ;3个led亮灭循环三次
CALL DELAY
AGAIN:MOV DX,288H
MOV AL,0EH
OUT DX,AL
CALL DELAY
MOV DX,288H
MOV AL,0H
OUT DX,AL
CALL DELAY ;延时1s子程序
LOOP AGAIN
MOV AH,4CH
INT 21H
DELAY PROC NEAR
PUSH CX
MOV BX,10000
FOR1:MOV CX,2000H
FOR2:LOOP FOR2
DEC BX
JNZ FOR1
POP CX
RET
DELAY ENDP
CODE ENDS
END START
实验现象:扳动电平开关一次作为一次读入信号,控制三个LED灯的依次亮灭切换一次,扳动三个来回后三个LED灯同时闪烁3次后熄灭,程序结束。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
