Proteus仿真8086并行接口芯片8255

Posted 只是有点小怂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Proteus仿真8086并行接口芯片8255相关的知识,希望对你有一定的参考价值。

  • 这次实验内容根据B站一个老师录制的讲解视频,老师通过导入emu8086编译好的EXE文件到8086中进行仿真,实际上可以在Proteus中直接通过构建工程编译源程序。接口芯片的内容比较复杂,建议先学习完内存读写操作和简单IO接口再来看这部分内容。

微处理器实验4-Proteus+8086+8255仿真

  • 实验内容为利用可编程并行接口芯片8255,用PA口读取开关状态输入,译码后在PB口连接的数码管上显示。8255工作在方式0直接输入和输出,一般考试也是直接考这种方式,更复杂的联络和中断可以去查查书。

  • 端口地址如下所示,当A4A3A0=000时138选中Y0,当A6=A5=1时通过与门输出1,138的E1有效,A7=0时138的E2有效。8255数据线D0~D7接在8086的低八位数据线上,A0=0,8255的A1A0接在A1A2上,用来产生8255内4个寄存器的端口地址。
  • 初始化8255的时候首先写方式控制寄存器,端口地址为66H,PA和PB均工作在方式0则D6D5=00,D2=0,PA为输入则D4=1,PB为输入则D1=0。D7=1,PC口未用到设置为0。
  • 选取的数码管为共阴极数码管,即公共端接地,7SEG-COM-CATHODE。对应的码表在数据段中定义,使用XLAT直接将开关中的数据比如1001转换为数码管显示中的数字,再通过PB口送给数码管。
DATA SEGMENT
   LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H
   PORTA EQU 60H
   PORTB EQU 62H
   PORTC EQU 64H
DATA ENDS

CODE    SEGMENT PUBLIC 'CODE'
        ASSUME CS:CODE, DS:DATA
START:
   MOV AX, DATA
   MOV DS, AX
   ; 设置方式控制字,A口工作方式0 输入  B口工作方式0 输出
   MOV DX, 66H
   MOV AL, 10010000B
   OUT DX, AL
M_LOOP:
   MOV DX, PORTA
   IN AL, DX
   AND AL, 0FH
   MOV BX, OFFSET LED
   XLAT
   CALL DELAY
   MOV DX, PORTB
   OUT DX, AL
   JMP M_LOOP

DELAY PROC  
    PUSH CX      
    LOOP $      
    POP CX      
    RET      
DELAY ENDP   

CODE    ENDS
        END START

以上是关于Proteus仿真8086并行接口芯片8255的主要内容,如果未能解决你的问题,请参考以下文章

基于8086CPU+8255并行接口扩展系统设计

Proteus仿真8086实验一RAM存储器62256

Proteus仿真8086实验一RAM存储器62256

Proteus仿真51单片机+8255并行口扩展流水灯演示

Proteus仿真8086实验二简单IO接口实验——LED灯依次亮起和跑马灯

Proteus仿真8086实验二简单IO接口实验——LED灯依次亮起和跑马灯