1、 目录 摘要1 1 任务分析解读.2 2 8255A 芯片介绍.3 2.1 8255A简介及引脚功能.3 2.2 8255A芯片编程.5 2.3 8255A工作方式.6 3 DOS 功能介绍7 4 系统方框图8 5 硬件仿真.11 6 程序设计.13 7 程序调试.17 心得.19 参考文献.20 1 摘 要 本课程设计要求完成的任务是实现两台 PC机之间数据的并行传输。 为了使程序编写简单 并便于进行调试,本设计采用DOS 功能调用,由键盘输入字符串来模拟要传输的数据。因为 传输包括发送和接收两方面内容,所以程序采用模块化思想,将整个程序分为发送和接收两 个功能模块分别来进行编写, 然后通过
2、调用来实现整体的功能。 程序设计的关键部分是 8255A 的编程控制,本设计按要求采用方式 1,在传输过程中通过查询相关端口来判断是否发送或 接收完毕,从而实现数据的接收与发送。由于 A机与B 机并行传输数据,A 机与 B 机的程序 相同。 关键词关键词:并行通讯 发送 接收 8255A DOS 功能调用 2 1 任务分析解读 题目要求:由 A.B 两台微机之间并行传送数据。先 A 机发送,B 机接收,后 B 机发送,A 机接收。A.B 双方的 8255A 均采用方式 1 工作。8255A 控制口地址为 fff3。两机的 8255 与 CPU 之间都采用查询方式交换数据。查询方式是由CPU 通
3、过执行程序不断读取外设状态,来 确定是否执行输入或输出操作与外设交换信息。因此采用程序查询方式,接口电路不仅需要 数据端口,还需要状态端口。 本题属于双机并行通讯问题,应分为发送和接收两方面分别来进行研究。由于程序需要 对地址进行直接操作,所以选择汇编语言来编写较为简单方便。在写程序的过程中,由于要 用 8255A 芯片作为并行传输芯片,所以要熟练掌握 8255A 的控制方法;此外,程序多处还要 用到 DOS 功能调用,所以还要对DOS 的各种功能进行系统的学习。 两台 PC 各与一个 8255A 芯片相连,程序分为两部分,分别运行与两台 PC 机上以实现 并行传输。连接图如下: 图 1-1
4、双机通讯的原理框图 程序分为两个部分,分别在 A 机和 B机上面运行。A 机运行的程序是先发送后接收,B 机上运行的程序时先接收后发送,实现先从 A 机到 B机传输数据,后从 B 机到 A 机传输数据 的功能。8255A 的初始化并把相应的控制位置位,读取从键盘输入的数据;将读入的第一个 数据经8255的 A 口发送给接收端;检测接收端是否已接收数据,若未接收则循环检测; 若已 3 接收则按前面的方式继续发送数据。当发送端发送 ESC键时,双方一起退出运行状态。8255A 的初始化并把相应的控制位置位; 检测发送端是否有数据发送过来, 若没有数据则循环检测, 若有数据则向发送方发送已接收数据的
5、信号,然后把相关的控制位置 1,通过 8255的 A口读 入数据并在显示器上显示出来; 此时如果接收端接收到发送端的结束字符, 则也相应的退出。 这样实现了单工通信。 2 8255A 芯片介绍 2.1 8255A 简介及引脚功能 8255A 是一种通用的可编程并行 I/O 接口芯片,广泛用于几乎所有系列的微机系统中, 如8086、MCS51、Z80等。8255A具有3个带锁存或缓冲的数据端口,可与外设并行进行数据交 换。每个端口都有一个数据输入寄存器和一个数据输出寄存器,输入时端口有三态缓冲器的 功能,输出时端口有数据锁存器功能。控制 A、B 和 C3个端口的工作方式,A组控制 A 口和 C 口的上半部(PC7PC4) ,B 组控制 B口和C 口的下半部(PC3PC0)的工作方式和输入输 出。作用:指定3个并行端口(PA、PB、PC)是作输入还是作输出端口以及选择8255的工作方 式。利用按位置位复位控制字可以使