⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 8255的应用.txt

📁 读入开关量到8255A
💻 TXT
字号:
【实验内容一】
基本输入输出:
读入开关量到8255A,再将其通过指示灯显示。以8255A的A口作输入,B口作输出,输入用开关,输出用发光管,要求当输入不全为0时,输入与输出保持一致。当输入为全0时,发光二极管闪烁。
【实验连线一】
①8255的A口(J32)接8位开关K17-K24(J21)
②8255的B口(J31)接8位发光二极管L18-L25(J20)
③8255的片选端CS(J29)接I/0译码电路(J40-2)
【实验程序一】
PORTA = 308H
PORTB = 309H
CONTROL = 30BH
DCONS = 10H
DATA SEGMENT
MESS DB 0DH,0AH,'PRESSS ANYKEY TO EXIT...',0AH,0DH,'$'
DATA ENDS
CG SEGMENT 'CODE'
   ASSUME CS:CG,DS:DATA
BEGIN: PUSH DS
       XOR AX,AX
       PUSH AX
       MOV AX,DATA
       MOV DS,AX
       MOV DX,OFFSET MESS
       MOV AH,9
       INT 21H
       MOV DX,CONTROL
       MOV AL,90H
       OUT DX,AL
       MOV AH,0FFH
       MOV BL,0
LP:        PUSH AX
    MOV AH,0BH
    INT 21H
    CMP AL,0
    JNE BACK
    POP AX
    MOV DX,PORTA
    IN AL,DX
    NOP
    NOP
    TEST AL,AH
    JZ SHIFT
    MOV DX,PORTB
    OUT DX,AL
    JMP LP
SHIFT: MOV AL,BL
       MOV DX,PORTB
       OUT DX,AL
       CALL DELAY
       SHL BL,1
       TEST BL,AH
       JNZ LP
       MOV BL,1
       JMP LP
BACK:  POP AX
       RETF
DELAY  PROC NEAR
       PUSH AX
       MOV BH,DCONS
DDLY:  MOV CX,0
DELAY1: DEC CX
       LOOP DELAY1
   DEC BH
       TEST BH,AH
       JNZ DDLY
       POP AX
       RETN
DELAY ENDP
CG ENDS
   END BEGIN
【思考题一】
如果改成用A口作输出,B口作输入,应怎样修改连线和程序?

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -