8255做流水灯实验

流水灯实验:

使8255的A口和B口均为输出,数据灯D7-D0由左向右,每次仅亮一个灯,循环显示;D15-D8与D7-D0正相反,由右向左,每次仅亮一个灯。

cs接IOY0,所以A口地址为600H,B口为602H。在以前写的博文中若出现600H,则cs接了IOY0,若为640H,则cs接了IOY1.

下面为代码:

CODE SEGMENT
     ASSUME SC:CODE
START: MOV DX,606H
       MOV AL,80H;A口选择00方式,B口0方式
       OUT DX,AL;送控制字
       MOV CL,80H ;赋初值
       MOV BL,1H ;赋初值
    AA1:MOV DX,600H 
        MOV AL,CL
        OUT DX,AL
        MOV DX,602H
        MOV AL,BL
        OUT DX,AL
        CALL DELAY ;延时作用
        ROL BL,1H  ;循环左移一位
        ROR CL,1H  ;循环右移一位
        JMP AA1
  DELAY:PUSH CX
       MOV CX,0FFFFH
   AA2:PUSH AX
       POP AX
       LOOP AA2
       POP CX
       RET
  CODE ENDS
       END START





你可能感兴趣的:(汇编与接口)