优秀的毕业设计论文网
计算机 JAVA 电子信息 单片机 机械机电 模具 土木工程 建筑结构 论文
热门搜索词:网络 ASP.NET 汽车 电气 数控 PLC

并行接口器件功能演示的可视化设计

以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
  
资料介绍:

2 8255芯片主要功能及特点
2.1 并行接口的主要特点
 ①并行接口最基本的特点是在多根数据线上以数据字节为单位与I/O设备或被控对象传送信息。
 ②在并行接口中,除了少数场合之外,一般都要求在接口与外设之间设置并行数据线的同时,至少还要设置两根握手信号线,以便互锁异步握手方式的通信。 
③在并行接口中,8位或16位是一起行动的,因此,当采用并行接口与外设交换数据时,即使是只用到其中的一位,也是一次输入/输出8位或16位。
 ④并行传送的信息,不要求固定的格式,这与串行传送的信息有数据格式的要求不同。
2.2 8255芯片的内部结构


图1 8255芯片内部结构图
8255的内部结构如上图所示。由4个部分组成,即:数据总线缓冲器,读/写控制逻辑,输入输出端口A、B、C及A组和B组控制电路。
其中,数据端口A、B、C共提供24条数据线与外设相联结,可以用软件将它们分别编程为输入和输出端口。
A组控制和B组控制:8255在使用中,PA和PB常作为独立的输入/输出端口,端口C则配合PA、PB的工作。因此,把PA、PB、PC分为两组。即,A组:PA、PC的上半部(PC7-PC4);B组:PB、PC的下半部(PC3-PC6)  这两组端口的工作方式分别由A组控制和B组控制逻辑进行控制。

【买计算机毕业论文就到www.think58.com】 copyright think58 [资料来源:http://think58.com]


读写控制逻辑:该部分控制8255与CPU的数据传输。它接收CS、A1、A0,WR、RD及reset信号。
2.3 8255芯片的引脚
图2所示是8255A的芯片引脚示意图。除了电源和地以外,其他信号可以分为两组:
1.和外设一边相连的:
 PA7-PA0:A组数据信号
 PB7-PB0:B组数据信号
 PC7-PC0:C组数据信号
2.和CPU一边相连的信号线:
:芯片选择信号,低电平有效。在一个系统中,一般根据全部接口芯片来分配若干较低位地址(比如A5、A4、A3)来组成各种芯片选择码,当这几位地址组成某一个代码时,译码器便往8255A的端 输出一个低电平,于是8255A被选中。只有当 有效时,读信号 和写信号 才对8255A有效。
:芯片读出信号低电平有效。
:芯片写入信号低电平有效。
 A1、A0:端口选择信号。8255A内部有3个数据端口和一个控制端口,共四个端口。规定当A1、A0为00时,选中A端口;为01时,选中B端口;为10时,选中C端口;为11时,选中控制口。 think58 [资料来源:http://www.THINK58.com]


图2 8255芯片引脚示意图

图3 8255控制信号和传输动作关系
8255A的几个控制信号和传输动作之间的关系如图3所示。 [来源:http://think58.com]

2.4 8255芯片的控制字及三种工作方式
 2.4.1 工作方式控制字
8255有三种工作方式:方式0、方式1、方式2。两组端口可分别指定不同的工作方式。每组端口在某种工作方式下,并不要求各信号同为输入或同为输出,而是可以分别指定。

图4 8255方式选择控制字
2.PC口控制字
 PC口的各信号线常作为控制线来使用,因此,经常需要单独对每根信号线置1或置0。这种操作用向PC口控制字寄存器送出PC口控制字来实现。

图5 8255PC口置位/复位控制字
2.4.2 8255芯片的工作方式0:
这是并行接口的最简形式。
PA、PB、PC7-4、PC3-0,可任意规定为输入或输出。这四组端口共有16种组合,配置非常灵活,可以适用于多种应用场合。
方式0下8255A分成彼此独立的两个8位和两个4位并行口,共24根I/O线全部由用户支配。这四个并行口都能被指定作为输入或者输出用,共有16种不同的使用组态。
在方式0下不设置专用联络信号线,需要联络时可由用户任意指定C口中的某个线完成某种联络功能。端口信号线之间无固定的时序关系,由用户根据数据传送的要求决定输入输出的操作过程。方式0没有设置固定的状态字。
单向I/O,一次初始化只能指定端口作为输入或输出,不能指定端口同时既作输入又作输出。 copyright think58

[版权所有:http://think58.com]


CPU为了从8255A读取数据,在方式0下,首先要满足两条件:
①在CPU发出读信号前,先发出地址信号,从而使8255的片选信号CS*、端口选择信号A1、A0有效,于是8255A得以启动。
②在CPU发出读信号前,外设已经将数据送到8255A的输入缓冲器中,即输入数据要领先于读信号。
方式0的使用场合有两种,一种是同步传送,另外一种是查询式传送。
在同步传送时,发送方和接收方的动作是由一个时序信号来管理的,所以,双方互相知道对方的动作,不需要应答信号,即CPU不需要查询外设的状态。这种情况下,对接口的要求很简单,只要能传送数据就可以了。因此,在同步传输下使用8255A时,三个数据端口可以实现三路数据传输。
查询式传输时,需要应答信号。但是,在方式0情况下,没有规定固定的应答信号,所以,这是将端口A和端口B作为数据端口,把端口C的4个数位(高4位或者低4位均可)规定为输出口,用来输出一些控制信号,而把端口C的另外4个数位规定为输出口,用来读入外设的状态。
2.4.3 8255芯片的工作方式1:
方式1是一种选通输入/输出方式,因此,需设置专用的联络信号线或应答信号线,以便对I/O设备和CPU两侧进行联络。
PA和PB为数据口,而PC口的大部分引脚分配作专用(固定)的联络信号用,对已经分配做联络信号的C口引脚,用户不能再指定做其它用途。

think58 [版权所有:http://think58.com]


 各联络信号之间有固定的时序关系,传送数据时,要严格按照时序进行。输入/输出操作过程中,产生固定的状态字,这些状态信息可作为查询或中断请求之用。状态字从PC口读取。
 单向传送。一次初始化只能设置在一个方向上传送,不能同时作两个方向的传送。
8255芯片工作方式初始化:
MAIN: MOV AL,0A0H
OUT 0C6H,AL ;设置8255A的控制字
在方式1下,规定一个端口作为输入口或输出口的同时,自动规定了有关的控制信号和状态信号,尤其是规定了相应的中断请求信号。这样,在许多采用中断方式进行输入输出的场合,如果外部设备能为8255A提供选通信号或者数据接收应答信号,那么常常使8255A的端口工作于方式1。用方式1比方式0更加方便有效。
方式1的输入过程:
外设数据就绪。
外设提供STB#信号,将数据写入8255A。
③8255A以IBF(输入缓冲器满)为1作为应答。
④STB#结束时产生中断信号INTR=1,申请中断,中断方式:转6。
⑤查询方式:CPU查询PC1(PC5)=1?(IBF)。
⑥CPU执行输入程序, 发出RD#信号,读入数据, 并清除INTR和IBF,8255A还原。
方式1输入方式下的查询与中断:
①查询:检查IBF或INTR是否为1,决定是否可读入数据; copyright think58 [来源:http://www.think58.com]
  ②中断:用INTR向CPU申请中断, 但8255A不能提供中断类型号。一般还要使用中断控制器8259。
  方式1的输出过程:
①CPU输出数据到8255A。
②8255A发出OBF#信号(用于选通外设开始取数),同时INTR失效。
  ③外设读取数据,用ACK#信号应答。
④8255A收到ACK#后,使OBF#无效,输出过程基本结束。
⑤ACK#信号结束时,INTR有效, 开始一次新的中断过程,CPU输出新的数据。
中断允许位:
8255A有内部中断允许位,只有中断允许位置1的情况下,才可能发出中断请求信号INTR。
中断允许位的分布:
输入时:PC4——INTEA,PC2——INTEB
输出时:PC6——INTEA,PC2——INTEB
2.4.4 8255芯片的工作方式2:
8255方式2是双向传输方式。PA口为双向选通输入/输出。一次初始化可指定PA口既作输入口又作输出口。这一点和方式0和方式1下,一次初始化只能指定为输入口的单向传送不同,方式2只适合PA口。当PA口工作于方式2时,PC中有5根线配合PA口工作。(PC3、PC4、PC5、PC6、PC7配合PA,可任意规定为输入或输出)。
在方式2下,PA口是双向的,外设可经PA把数据送给CPU(输入),也可经PA从CPU接收数据(输出)。 think58 [版权所有:http://think58.com]
方式2是一种双向工作方式,如果一个并行外部设备既可以作为输入设备又可以作为输出设备,并且输入输出动作不会同时进行,那么,将这个外设和8255A的端口A相连,并使它工作在方式2,就会非常合适。
比如,磁盘驱动器就是这样一个外设,主机既可以往磁盘输出数据,也可以从磁盘输入数据,但是数据输出过程和数据输入过程总是不重合的,所以,可以将磁盘驱动器的数据线于8255A的A端口相连,再使PC7~PC3和磁盘驱动器的控制线和状态线相连即可
2.5 8255芯片与外设的连接
以输入为例。输入设备把数据送给接口,并且使状态线“输入准备好”有效。接口把数据存放在“输入缓冲寄存器”中,同时使“输入回答”线有效,作为对外设的响应。外设在收到这个回答信号后,就撤消数据和“输入准备好”信号。数据到达接口中后,接口会在“状态寄存器”中设置输入准备好标志,或者向CPU发一个中断请求。CPU可用查询方式或中断方式从接口中读取数据。接口中的数据被读取后,接口会自动清除状态寄存器中的标志,且撤消对CPU的中断请求。如下图所示。

图6 并行接口连接外设示意图
3 本课题研究方法
3.1 设计思路
新建一个DLL工程,定义基类,封装为基类。8255芯片的功能由基类派生而来。 copyright think58
[资料来源:http://THINK58.com]

具体函数在代码部分有介绍。
利用VC画出数据总线、8255、编码器的引脚图,并将各引脚的坐标存入变量,然后在根据原理图将需要连接的引脚连接起来。
演示时,通过输入的命令来确定激活的引脚,然后判断是否有线连接到其他引脚。如果有的话,以这两个引脚的坐标画直线。直线长度从0一直变到两点的距离。
为了方便芯片的输入和指令的输入,将8255芯片、总线和编码器的各引脚坐标存入文本文档a8255_1.txt中。
[资料来源:THINK58.com]