双机并行通讯微机原理课程设计汇本

上传人:汽*** 文档编号:554941345 上传时间:2022-10-04 格式:DOC 页数:29 大小:720.50KB
返回 下载 相关 举报
双机并行通讯微机原理课程设计汇本_第1页
第1页 / 共29页
双机并行通讯微机原理课程设计汇本_第2页
第2页 / 共29页
双机并行通讯微机原理课程设计汇本_第3页
第3页 / 共29页
双机并行通讯微机原理课程设计汇本_第4页
第4页 / 共29页
双机并行通讯微机原理课程设计汇本_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《双机并行通讯微机原理课程设计汇本》由会员分享,可在线阅读,更多相关《双机并行通讯微机原理课程设计汇本(29页珍藏版)》请在金锄头文库上搜索。

1、 摘 要本课程设计要求完成的任务是实现两台PC机之间1K数据的并行传输。为了使程序编写简单并便于进展调试,本设计采用DOS功能调用,由键盘输入字符串来模拟要传输的1K数据。因为传输包括发送和接收两方面容,所以程序采用模块化思想,将整个程序分为发送和接收两个功能模块分别来进展编写,然后通过调用来实现整体的功能。程序设计的关键局部是8255A的编程控制,本设计按要求采用方式2,在传输过程过查询相关端口来判断是否发送或接收完毕,从而实现1K数据的接收与发送。关键词:并行通讯 发送 接收 8255A DOS功能调用1 问题的描述与分析题目要求:由甲乙两台微机之间并行传送1K字节数据。先甲机发送,乙机接

2、收,后乙机发送,甲机接收。甲乙双方的8255A均采用方式2工作。8255A控制口地址为303。此题属于双机并行通讯问题,应分为发送和接收两方面分别来进展研究。由于程序需要对地址进展直接操作,所以选择汇编语言来编写较为简单方便。在写程序的过程中,由于要用8255A芯片作为并行传输芯片,所以要熟练掌握8255A的控制方法;此外,程序多处还要用到DOS功能调用,所以还要对DOS的各种功能进展系统的学习。两台PC各与一个8255A芯片相连,程序分为两局部,分别运行与两台PC机上以实现并行传输。连接图如下:图1-1 双机通讯的连接图程序分为两个局部,分别在甲机和乙机上面运行。甲机运行的程序是先发送后接收

3、,乙机上运行的程序时先接收后发送,实现先从甲机到乙机传输1KB的数据,后从乙机到甲机传输1KB的数据的功能。我们在两台微机的存中各开辟一个1KB的字符区BUF1,象征性的输入少许字符,来模拟要传输的1KB的数据。再各开辟一个1KB的字符区BUF2用来存储接收到的1KB数据。2 8255A芯片的介绍2.1 8255A简介及引脚功能8255A是一种通用的可编程并行I/O接口芯片,广泛用于几乎所有系列的微机系统中,如8086、MCS51、Z80等。8255A具有3个带锁存或缓冲的数据端口,可与外设并行进展数据交换。每个端口都有一个数据输入存放器和一个数据输出存放器,输入时端口有三态缓冲器的功能,输出

4、时端口有数据锁存器功能。控制A、B和C3个端口的工作方式,A组控制A口和C口的上半部PC7PC4,B组控制B口和C口的下半部PC3PC0的工作方式和输入输出。作用:指定3个并行端口PA、PB、PC是作输入还是作输出端口以及选择8255的工作方式。利用按位置位复位控制字可以使PC口的8根线中的任意一根置成高电平输出或低电平输出。8255A的芯片引脚图见图2-1:图2-1 8255A的芯片引脚图RESET:复位输入线,当该输入端外于高电平时,所有部存放器包括控制存放器均被去除,所有I/O口均被置成输入方式。 PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器

5、。 PB0PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。 PC0PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。 CS:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255A与CPU进展通讯。 RD:读信号线,当这个输入引脚为低电平时,允许8255A通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。 WR:写入信号,当这个输入引脚为低电平时

6、,允许CPU将数据或控制字写入8255A。 D0D7:三态双向数据总线,8255A与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。A1、A0:端口地址总线,8255A中有端口A、B、C和一个部控制字存放器,共4个端口,由A0、A1输入地址信号来寻址。(A0、A1的组合与端口关系,见表2-1)表2-1 A0、A1的组合与端口关系A1A0端 口00A口地址01B口地址10C口地址11控制口2.2 8255A的编程所谓8255A编程,就是用户在使用8255A前,可用软件来定义端口的工作方式,选择所需要的功能。8255A是将所有

7、端口分为两组来控制的,因此方式控制字也分为了两局部:A组控制D6D3和B组控制D2D0。其具体格式见表2-2。表2-2 8255A的方式控制字D7D6D5D4D3D2D1D01A口方式A口方向PC上口方向B口方式B口方向PC下口方向方式控制字00:方式001:方式11X:方式20:输出1:输入0:输出1:输入0:方式01:方式10:输出1:输入0:输出1:输入此外,方式控制字未规定C口的工作方式,只规定了C口数据的传输方向,这就说明C口要么作为联络线用,要么就只工作在方式0。 此外,8255A还有一个特殊的功能,即对C口直接进展置“1”或清“0”操作,这种方法使C口的控制变得更加简单、方便。其

8、具体格式见表2-4。表2-4 8255A的C口控制字D7D6D5D4D3D2D1D00无效引脚选择置位、复位选择C口控制字000:PC0001:PC1010:PC2111:PC70:复位1:置位2.3 8255A的工作方式8255A有三种工作方式:l 方式0根本输入/输出方式l 方式1选通输入/输出方式l 方式2双向传输方式方式0根本特点:方式0是一种根本输入或输出方式,该方式适合于通信双方不需要联络信号应答信号的简 单输入/输出场合,CPU可以随时用输入/输出指令对指定端口进展读写操作。方式1根本特点:方式1为选通输入/输出方式,即可借助于选通应答式联络信号的I/O方式。PC3PC0、PC6

9、、PC7作为控制口。A口工作于方式1输出,所用的联络信号 线为PC7、PC6和PC3,而B口工作于方式1输出时,使用PC2PC0作其联络信号线。方式2根本特点:方式2是一种双向选通输入输出方式,它把A口作为双向输入输出口,把C口的5根线PC3PC7作为专用应答线,所以,8255A只有A口才有2方式。由于此题要求工作在方式2,所以这里只重点介绍方式2的工作原理。方式2的双向传输方式是指在同一端口分时进展输入/输出的操作,可用来在两台处理机之间实现双向并行通信。它需要5个控制信号进展“联络,这5个控制信号由C口提供。由于方式2的A口既能发送,也能接收数据,所以A口的引脚在“空闲状态下是三态的。A口

10、在某一时刻下,输入或输出是由相应“联络线确定的。工作时可用软件查询方式,也可用中断方式。A口工作在方式2时,C口的“联络线既要提供A口的输入“联络线和,又要提供A口的输出“联络线和,具体联络信号定义见图2-2,同时还要有一个处理A口中断的中断申请线,具体端口分配见表2-5。图2-2 方式2下的A口联络线 PC2-PC0 PC3 PC7 PC6 PC4 PC5 I/O& INTRA& OBFAINTE1& ACKAINTE2 STBA IBFA当8255A的A口工作在方式2时,输入和输出共用同一个中断请求信号线。所以,当使用中断方式传输数据时,可以通过C口置“1/清“0控制字来设置中断屏蔽触发器

11、INTE1和INTE2,实现对中断源的控制,制止/允许输入时中断或输出时中断。表2-5 8255A的方式控制字D7D6D5D4D3D2D1D0A组B组或I/O口l A口的中断请求信号。当其有效时,8255A的A口向CUP申请中断。l A口的选通信号外设发出,低电平有效。当其有效时,外设把数据输入A口的输入缓冲器。l A口的输入缓冲器“满信号。当其有效时,表示A口的输入缓冲器已经暂存一个有效数据。l 外设应答信号。由外设发出,低电平时有效。当其有效时,表示外设已经接收数据。l A口的输出缓冲器“满信号。当其有效时表示A口的输出缓冲器已经暂存一个有效数据。3 DOS常用功能的介绍DOS是美国Mic

12、rosoft公司为IBM PC研制的磁盘操作系统。DOS不仅为用户提供了许多使用命令,而且还有用户可以直接调用的上百个常用子程序。对这些子程序的调用,称为系统功能调用。这些子程序的功能主要是进展磁盘读/写、控制管理、存管理、根本输入/输出管理等。在使用时,用户不需要了解各种I/O接口硬件的详细情况就能直接完成对I/O接口的控制和管理。其调用过程为:l DOS功能调用号送AH存放器。l 如果需要,按要求给定输入参数(有的不需要输入参数)。l 写入中断指令“INT 21H。调用完毕,按功能使用其输出参数。DOS系统启动时,DOS层功能模块从系统盘被装入存。调用这些功能模块称为DOS功能调用。DOS

13、功能调用可以完成文件管理、存储管理、作业管理和设备管理等。表3-1列出了一些常用的DOS功能调用。表3-1 常用DOS功能调用AH功能调用参数返回参数01键盘输入并回显AL=输入字符02显示输出DL=输出字符06直接控制台I/ODL=FF(输入)DL=字符(输出)AL=输入字符07键盘输入(无回显)AL=输入字符08键盘输入(无回显)检测Ctrl-BreakAL=输入字符09显示字符串DS:DX=串地址$完毕字符串0A键盘输入到缓冲区DS:DX=缓冲区首地址(DS:DX)=缓冲区最大字符数DS:DX+1)=实际输入的字符数0C去除输入缓冲区并请求指定的输入功能AL=输入功能号(1,6,7,8,A)4C带返回码完毕AL=返回码

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号