武汉理工大学《计算机控制技术》课程设计说明书
8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0~A1。此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。各信号的引脚编号如下: (1)数据总线DB:编号为D0~D7,用于8255与CPU传送8位数据。 (2)地址总线AB:编号为A0~A1,用于选择A、B、C口与控制寄存器。 (3)控制总线CB:片选信号、复位信号RST、写信号、读信号。当CPU要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。
2.与外设接口部分
根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。各通道的引脚编号如下:
(1)A口:编号为PA0~PA7,用于8255向外设输入输出8位并行数据。 (2)B口:编号为PB0~PB7,用于8255向外设输入输出8位并行数据。 (3)C口:编号为PC0~PC7,用于8255向外设输入输出8位并行数据,当8255工作于应答I/O方式时,C口用于应答信号的通信。
3.控制器
8255将3个通道分为两组,即PA0~PA7与PC4~PC7组成A组,PB0~PB7与PC0~PC3组成B组。如图7.5所示,相应的控制器也分为A组控制器与B组控制器,各组控制器的作用如下:
(1)A组控制器:控制A口与上C口的输入与输出。 (2)B组控制器:控制B口与下C口的输入与输出。
在这个系统中8255起到了控制各个接口芯片的作用,它的作用是不可替代的。如图3-2即为仿真系统中的8255管脚图
9
武汉理工大学《计算机控制技术》课程设计说明书
图3-2 8255管脚图
RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。
CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输.
RD:读信号线,当这个输入引脚为低跳变沿时,即/RD产生一个低脉冲且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。
WR:写入信号,当这个输入引脚为低跳变沿时,即/WR产生一个低脉冲且/CS=0时,允许CPU将数据或控制字写入8255。
D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
8255具有3个相互独立的输入/输出通道端口,用+5V单电源供电,能在以下三种方式下工作。
方式0————基本输入输出方式;方式1————选通输入/出方式;方式2————双向选通输入/输出方式;
PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。 工作于三种方式中的任何一种;
10
武汉理工大学《计算机控制技术》课程设计说明书
PB0~PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。 不能工作于方式二;
PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。'不能工作于方式一或二。
A1,A0:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器. 当A1=0,A0=0时,PA口被选择; 当A1=0,A0=1时,PB口被选择; 当A1=1,A0=0时,PC口被选择; 当A1=1.A0=1时,控制寄存器被选择。
3.3 74LS48芯片介绍
74LS48是一个译码芯片,可以将BCD码转换成7段数码管的地址码,因此经常用来驱动4位或单独一位的7段数码管显示电路。输出高电平有效。举一个例子:假设需要输出数字“1”,2进制的编码为0001B,那么就将0001,4个电平分别送入74LS48的DCBA口,那么就输出了一个“0110000”的编码,如果不加入反相器就需要用共阴极的7段数码管,这样bc两段就点亮了,在数码管显示器上就显示一个“1”,如果用共阳极的7段数码管,还需要在74LS48的输出段加入反相器。74LS48可以译码0~15编码。这里的系统只需要输出数字,因此,完全可以满足要求,这里要注意的就是,74LS48只能完成一位7段数码管的驱动,因此,还需要产生位选信号,选择相应的位,然后再显示相应的数,位选信号这里用8255来产生,因为这里只需要4位就可以显示数字,那么8255剩下的4位就可以产生位选信号,这样可以控制4位7段数码管的循环滚动显示。具体的译码对应表如表3-2
11
武汉理工大学《计算机控制技术》课程设计说明书
表3-2 74LS48译码表 十进制数 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d d d d d d d d d d d d d d d 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 0 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 0 1 0 1 1 1 0 0 0 1 0 0 1 1 1 1 1 0 0 1 1 1 0 0 1 0 0 0 1 1 0 1 1 1 1 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 1 0 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 输 入 LI RBI A3 A2 A1 A0 输 出 BI/RBO a b c d e f g 下面介绍74LS48的管脚图,如图3-3是仿真系统中74LS48的模型图
图3-3 74LS48管脚图
A- D译码地址输入端
BI/RBO 消隐输入(低电平有效)/脉冲消隐输出(低电平有效) LT 灯测试输入端(低电平有效) RBI 脉冲消隐输入端(低电平有效) QA-QG段 输出相应的数码管段选信号
12
武汉理工大学《计算机控制技术》课程设计说明书
48 为有内部上拉电阻的 BCD-七段译码器/驱动器,共有 54/7448、54/74LS48 两种线路结构型式,54适于工用,74适于商用,输出端(a-g)为高电平有效,可驱动灯缓冲器或共阴极 VLED。当要求输出 0-15 时,消隐输入(BI)应为高电平或开路,对于输出为 0 时还要求脉冲消隐输入(RBI)为高电平或者开路。当BI为低电平时,不管其它输入端状态如何,a-g均为低电平。当RBI和地址端(A-D)均为低电平,并且灯测试输入端(LT)为高电平时,a -g为低电平,脉冲消隐输出(RBO)也变为低电平。当BI 为高电平或开路时,LT为低电平可使a-g均为高电平。因此,本电路中LT,BI,RBI均不需要因此置高电平。
3.4 L298芯片介绍
L298芯片是用来驱动直流电动机的。L298是SGS公司的产品,内部包含4通道逻辑驱动电路。L298可以直接对电机进行控制,无需隔离电路通过改变控制端的电平即可对电机执行正反转,停止的操作,非常方便,异能满足直流减速电机的大电流要求。这里我用到了L298的一个输入输出端,来驱动一台电机。下面给出在系统仿真中L298的管脚图,如图3-4。
图3-4 L298管脚图
VCC:芯片电压。
VS:电机电压,最大可接50V。 GND:共地接法。
OUT1~OUT4:输出端,接电机。其中OUT1和OUT2为一组,驱动一个电
13