8255内部包含三个并行数据输入/输出端口,两个作业方法操控电路,一个读/写操控逻辑电路和8位总线缓冲器。各部分功用归纳如下:
(1)端口A、B、C
A口:是一个8位数据输出锁存器/缓冲器和一个8位数据输入锁存器。
B口:是一个8位数据输入/输出锁存器/缓冲器和一个8位数据输入锁存器。
C口:是一个8位数据输出锁存器/缓冲器和一个8位数据输入缓冲器(输入不锁存)。
一般A口、B口作为数据输入/输出端口。C口作为操控/状况信息端口,它在“方法操控字”的操控下可分为两个4位端口,每个端口有一个4位锁存器,别离与A口、B口合作运用,作为操控信号输出或状况信息输入端口。
(2)作业方法操控电路
作业方法操控电路有两个,一个是A组操控电路,另一个是B组操控电路。这两组操控电路具有一个操控指令寄存器,用来承受中央处理器发来的操控字,以决议两组端口的作业方法,也可依据操控字的要求对C口按位清“0”或许按方位“1”。
A组操控电路用来操控A口和C口的上半部分(PC7-PC4)。B组操控电路用来操控B口和C口的下半部分(PC3-PC0)。
(3)总线数据缓冲器
总线数据缓冲器是一个三态双向8位缓冲器,作为8255与系统总线之间的接口,用来传送数据、指令、操控指令以及外部状况信息。
(4)读/写操控逻辑电路
读/写操控逻辑电路承受CPU发来的操控信号RD、WR、RESET、地址信号A1-A0等,然后依据操控信号的要求,将端口数据读出,发往CPU,或许将CPU送来的数据写入端口。
作业方法操控字
D0 | 端口C(下半部) |
B组 |
D1 | 端口B |
|
D2 | 方法挑选 |
|
D3 | 端口C(上半部) |
A组 |
D4 | 端口A |
|
D5D6 | 方法挑选 00:方法0 |
|
D7 | 置方法标志 |
C口按位操作操控字:
D0 | 位:置位/复位 |
||||||||||||||||
D3D2D1 |
|
||||||||||||||||
D4 | 无关 | ||||||||||||||||
D5 | |||||||||||||||||
D6 | |||||||||||||||||
D7 | 位:置位/复位标志 |
作业方法0:
作业方法0是一种根本的输入/输出作业方法,在这种方法下,三个端口都能够由程序设置为输入或输出,没有固定的用于应对的联络信号.其根本的功用可归纳如下:
1、可具有两个8位端口(A、B)和两个4位端口(C口的上半部分和下半部分)。
2、任何一个端口都能够设定为输入或许输出,各端口的输入、输出可构成16种组合。
3、数据输出时能够锁存,输出时不锁存。
依照方法0作业时,CPU能够经过简略的传送指令对人以一个端口进行读/写,这样各端口就能够作为查询式输入/输出接口。依照查询方法作业时, A口、B口可作为两个数据输入/输出端口,C口的某些位可作为这两个端口的操控/状况信号端。
作业方法1
作业方法1是一种选通式输入/输出作业方法。在这种作业方法下,选通讯好于输入/输出数据一同传送,由选通讯号对数据进行选通。其根本功用可归纳如下:
1、三个端口分为两组,即A组和B组。
2、每一组包含一个8位数据端口和一个4位的操控/状况端口。
3、每一个8位数据端口均可设置为输入或许输出,输入端均可锁存。
4、4位端口作为8位数据端口的操控/状况信号端口。
作业方法2:
A口除了作业方法0、1之外,还有作业方法2。依照方法2作业时,A口称为双向数据总线端口,既能够发送数据,又能够接纳数据。其主要功用可归纳如下:
1、有一个8为双向数据输入/输出端口(A)和一个5位操控信号端口(C)。
2、输入、输出均可锁存。
3、5位操控信号端口(C)作为8位双向数据输入/输出端口A的操控/状况信号端口。
4、作业方法2只适合于A口。
依照作业方法2作业时,A口既可作业于查询方法,又可作业于中止方法.其操控联络信号如图所示:
8255A引脚功用及管脚界说图
8255共有40个引脚,选用双列直插式封装,各引脚功用如下:
D0–D7:三态双向数据线,与单片机数据总线衔接,用来传送数据信息。
CS:片选信号线,低电平有用,表明芯片被选中。
RD:读出信号线,低电平有用,操控数据的读出。
WR:写入信号线,低电平有用,操控数据的写入。
Vcc:+5V电源。
PA0–PA7:A口输入/输出线。
PB0–PB7:B口输入/输出线。
PC0–PC7:C口输入/输出线。
RESET:复位信号线。
A1、A0:地址线,用来挑选8255内部端口。
GND:地线。
8255 VHDL代码