单片机电子钟程序及电路图设计 第7页
8255的特点有:
1)具有三个并行数据传输端口:A口,B口,C口。
2)每个端口拥有不同的工作方式:A口具有3种工作方式,B口具有2种工作方式,C口只有1种工作方式。
3)每个端口工作在输出方式时,具有锁存功能。
4)可以通过编程设置成4位端口,8位端口,12位端口,16位端口,20位端口或24位端口。
8255由四部分组成。如图所示
1)数据总线缓冲器,这是一个三态双向8位缓冲器,它是8255与CPU系统数据总线的接口。所有数据的发送与接受,以及CPU发出的控制字和从8255来的状态信息都是通过缓冲器传送的。
2)读写控制逻辑。读写控制逻辑由读信号,写信号,选片信号以及端口选择信号等组成。读写控制逻辑控制了总线的开放与关闭的信息传送的方向,以便把CPU的控制命令或输出数据送到相应的端口,或把外设的信息或输入数据从相应的端口送到CPU。
3)数据端口A,B,C。8255包括三个8位输入输出端口,每个端口都有一个数据输入寄存器和一个数据输出寄存器,输入时端口有三态缓冲器的功能,输出时端口有数据锁存器功能。在实际应用中,PC口的8位可分为两个4位端口(方式0下),也可分为一个5位(控制)端口和一个3位(控制)端口(供A口,B口方式1下)来使用。
4)A组和B组控制电路。控制A,B和C三个端口的工作方式,A组控制A口和C口的上半部(PC7—PC3),B组控制B口和C口的下半部(PC2—PC0)的工作方式和输入输出,A组,B组的控制寄存器还接收按位控制命令,以实现对PC口的按位置位复位操作。
2.4.2 工作方式
8255有三种工作方式(方式0,方式1,方式2)可供选择使用,而且三个端口可以同时按照各自选择的工作方式工作,当然8255各端口在正常工作开始前,必须进行初始化设计,确定每个端口按哪种工作方式工作。
方式0:基本输入或输出方式,为单向8位端口。多用于同步数据传输场合,无需握手线进行传输,也可用于查询方式,此时往往用C口的某些信号线作为自定义状态线和控制线。8255的三个端口都可工作于方式0。
方式1:选通输入或输出方式,为单向的8位端口。只有A口和B口可以工作在方式1状态,而此时C口的某些信号线一定作为A口或B口的联络线,其他非联络线仍可以工作在方式0 输入或输出状态。
方式2:双向传输方式,既可以输入又可输出。只有A口可以采用方式2 工作,此时C口中的5根信号线作为A口的联络线,而其余的3根信号线可以做B口方式1时的联络线,或者与B口一起工作在方式0状态。
2.4.3 控制字
8255在正常工作之前必须进行初始化设置,对所用到的每个端口都要设置具体的工作方式。8255具有2个控制字:方式控制字和C口位控控制字。2个控制字均需要送入控制寄存器口地址中,其区别在于:方式控制字中的D7=1,C口位控控制字中的D7=0。
1)方式控制字
方式控制字各位定义见图
其中D7为方式控制字标志位,用来区别C口位控控制字。D6D5设置A口的工作方式,D4 设置A口处于方式0或者方式1时的传输方向,当处于方式2时此位无效,D3设置C口的高4位传输方向,由于C口只有一种工作方式,因此不需要设置方式,D2设置B口的工作方式,D1设置B口的传输方向,D0设置C口的低4位传输方向。当C 口的信号线作为A口或 B口的联络线时,设置无效。
2)C口位控控制字
C口位控控制字用于将C口中的某一位清0或置1。C口位控控制字格式定义如下:
其中D7为方式控制字标志位,用来区别方式控制字,D6D5D4为无效位,
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页