实验目的
使用8255A的PA口作为输出口,外接8位发光二极管,编写程序使发光二极管循环点亮
8255
8255A是可编程并行输入输出接口芯片,实现数据的输入输出,其接口有
1、IO口电路:三个八位并口,PA、PB、PC,三个端口均可编程。PC口在模式控制下又可以分成两个 4 位的端口,它们可单独用作为输出控制和状态输
入。端口 A、B、C 又可组成两组端口(12位) :A 组和B 组,参见下图。在每组中,端口 A和端口 B 用作为数据端口,端口 C 用作为控制和状态联络线。
2、总线接口
①CS片选信号,低电平有效
②RD读信号,WD写信号
③A1、A0
A1 =0 , A0 =0 ,表示访问端口 A;
A1 =0 , A0 =1 ,表示访问端口 B;
A1 =1 , A0 =0 ,表示访问端口 C;
A1 =1 , A0 =1 ,表示访问控制寄存器;
④8255内部端口寄存器(用于控制 8255A 的工作方式)选择
8255A 有三种基本工作方式:方式 0:基本的输入/输出;方式 1:有联络信号的输入/输出;方式 2:双向传送。
8255方式控制字
硬件电路
由硬件电路知PA、PB、PC、控制寄存器的端口地址分别是7CFFH,7DFFH,7EFFH,7FFFH
实现程序
PORTA EQU 7CFFH
PORTB EQU 7DFFH
PORTC EQU 7EFFH
CADDR EQU 7FFFH
ORG 00H
MOV A,#80H
MOV DPTR,#CADDR
MOVX @DPTR,A
LOOP: MOV A,#01H
MOV R2,#8
OUTPUT:MOV DPTR,#PORTA
MOVX @DPTR,A
CALL DELAY
RL A
DJNZ R2,OUTPUT
LJMP LOOP
DELAY:MOV R6,#0
L1: MOV R7,#0
DJNZ R7,$
DJNZ R6,L1
RET
END
实验结果
总结
8255A在PROTEUS仿真时,必须是U1芯片,AT89C51是U2,如果排列顺序颠倒,会出现不能仿真的情况。
用户527013 2009-5-26 18:27