收藏 分享(赏)

串行口通信功能综合检测.doc

上传人:dreamzhangning 文档编号:2207472 上传时间:2018-09-05 格式:DOC 页数:7 大小:88.50KB
下载 相关 举报
串行口通信功能综合检测.doc_第1页
第1页 / 共7页
串行口通信功能综合检测.doc_第2页
第2页 / 共7页
串行口通信功能综合检测.doc_第3页
第3页 / 共7页
串行口通信功能综合检测.doc_第4页
第4页 / 共7页
串行口通信功能综合检测.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、微机串口通信功能综合检测一、设计内容设计 PC 机主串口、辅串口通用的自动测试程序。二、设计目的学习串口的参数设置和编程。三、设计要求编程实现 8250 的初始化、监控口的工作状态并实现以下功能:1) 通过人机会话由测试者选择测试内容:主串口内环测试、主串口外环测试、辅串口内环测试及辅串口外环测试。为了简化程序,人机会话分两次进行。第一次屏显: TEST COM 1 TEST COM 2 TEST END第二次屏显:INTERNAL LOOP EXTERNAL LOOP2) 用查询方式编程,对端口直接操作,将测试电文“THE QUICK BROWN FOR JUMPS OVER LAZY DO

2、G”发 10 遍给选中的串口,在经过内环或者外环短路线接收,显示在屏幕上。如果串口有故障应屏幕“COM BAD!”。四、设计思路1. 编写程序本设计的电路与前一个设计没有太大区别,只是在前一个设计的基础上将单个串口的内环自测扩展为多种单机串口的检测方法。测试的内容包括两个串口内环自测,串口间的外环检测以及和终端通信的检测。其中 8250 初始化参数的设置不同对程序产生较大影响。为使程序通用,在编程时,首先进入人机会话界面,根据用户的选择决定进行何种测试。按照用户的选择,对串口初始化。对串口初始化后,字符被送入串口,计数器开始计数。根据计数器计数值判断一帧数据是否发送完毕,若是,则在屏幕上显示,

3、否则继续发送数据。2. 硬件端口连接在硬件接线方面,对不同的测试方法,串口测试环的接线方法也不一样。具体接线方法可参照图。3. 程序参考流图YNYYYNNN开始人机会话测试结束返回 DOS被测串口初始化字符被测串口,0SI一帧数据接收完毕接收数据屏显电文计数10 行接收完毕SI-1SISI=0?屏显 COM BAD!微机串口通信参考流程图4可编程并行接口芯片 8255A4.1可编程接口的概念8255A 是常用的可编程接口芯片,可编程接口芯片即指电路的工作状态可由计算机指令编程控制的芯片。目前所用的接口芯片大部分是多通道、多功能的。 多通道即指一个接口芯片一面与 CPU 连接,另一面可接几个外设

4、。多功能即指一个接口芯片能实现多种接口功能。接口芯片中的各硬件单元不是固定接死而是可以通过编程来控制。编程控制是指通过计算机指令选择通用接口中的不同通道和不同功能。8255A 是一个通用的可编程的并行接口芯片,它有三个并行 I/O 口,又可通过编程设置多种工作方式,价格低廉,使用方便,可以直接与 Intel 系列的芯片连接使用,在中小系统中有着广泛的应用。4.2 8255A的内部结构4.2.1并行输入/输出端口8255A 的内部结构如图 1 所示。8255A 芯片包括 3 个 8 位端口:A 口、B口和 C 口,它们均可作为 CPU 与外设通信时的缓冲器或锁存器,用作缓冲器时是输入接口,用作锁

5、存器时是输出接口。4.2.2 A组和 B组控制8255A 的 3 个端口都没有自己独立的控制部件,内部将端口分为两组, A组由 A 口和 C 口的高 4 位组成,B 组由 B 口和 C 口的低 4 位组成。4.2.3读/写控制电路8255A 的读/写控制电路接收来自 CPU 的控制命令,并根据命令向片内各功能部件发出操作命令。例如 为低电平时表示 8255A 芯片被选中,该片选CS信号由 CPU 的地址线通过译码产生。 和 控制 8255A 和 CPU 之间的数RDW据或信息的传输方向。端口选择控制由 A1 和 A0 的组合状态提供,这两个控制信号提供 4 个端口地址,即 A、B、C 三个端口

6、和一个控制端口地址。4.2.4数据总线缓冲器这是一个双向三态的 8 位数据缓冲器,它是 8255A 与微机系统数据总线的接口。输入输的数据、CPU 输出的控制字以及 CPU 输入的状态信息都是通过这个缓冲器传送的。4.3 8255A的管脚8255A 是一个标准的 40 管脚芯片(见附录) ,可分为 3 个部分:与外设连接的 I/O 线,与 CPU 连接的系统总线以及电源线。图 1 8255A 内部结构图4.3.1与外设连接的管脚8255A 共有 3 个 8 位数据端口,与外设连接的管脚共有 24 位。其中 A 口为 PA0 至 PA7,B 口为 PB0 至 PB7,C 口为 PC0 至 PC7

7、,特别地,C 口可有若干根复用线用于联络信号或状态信号,其具体定义与端口的工作方式有关。4.3.2与 CPU连接的管脚与 CPU 连接的管脚包括:D0 至 D7:8 位,双向,三态数据线,用来与系统数据总线相连;RESET:复位信号,高电平有效,输入,用来清除 8255A 的内部寄存器,并置 A 口,B 口,C 口均为输入方式;:片选,输入,用来决定芯片是否被选中;S:读信号,输入,控制 8255A 将数据或状态信息送给 CPU;RD:写信号,输入,控制 CPU 将数据或控制信息送到 8255A;WA1A0 状态组合与端口操作关系如表 1 所示:4.3.3电源线与地线8255A 的电源引脚为

8、Vcc 和 GND,Vcc 一般取+5V,与其他常用芯片相同。表 1 A1A0 组合与端口操作关系A1 A0 RDWCS功 能0 0 0 1 0 读端口 A 数据0 1 0 1 0 读端口 B 数据1 0 0 1 0 读端口 C 数据0 0 1 0 0 写数据到端口 A0 1 1 0 0 写数据到端口 B1 0 1 0 0 写数据到端口 C1 1 1 0 0 写命令到控制寄存器X X X X 1 数据总线呈高阻状态1 1 0 1 0 非法条件X X 1 1 0 数据总线呈高阻状态4.4 8255A的工作方式及编程4.4.1 8255A的工作方式8255A 有 3 中工作方式:1方式 0基本输入

9、/输出方式2方式 1选通输入/输出方式3方式 2双向传输方式方式 0 主要工作在无条件的输入/输出方式下,A 口、B 口和 C 口均可工作在此方式下被设置成输入/输出口,但不能既做输入口又做输出口 C 口的输出位可由用户直接独立设置为 0 或 1。方式 1 主要工作在异步或条件传输方式下,需要先检查状态然后才能传输数据,仅有 A 口和 B 口可工作在方式 1,由于条件传输需要联络线,所以 C 口的某些位分别作为 A 口和 B 口提供 3 根联络线,以便于 8255A 和 CPU 之间传送信息和中断请求信号。方式 2 的双向传输方式是指在同一端口内分时进行输入/输出操作。只有A 口可以工作在此方

10、式下,需要由 C 口提供 PC3 至 PC7 共 5 个控制信号进行联络。这种联络信号是由 8255A 内部规定的,而不由使用者指定。此方式应用于并行外部设备既可以作为输入设备,又可以作为输出设备,并且输入输出动作不会同时进行的场合。4.4.2 8255A的编程8255A 的编程就是用户在使用 8255A 之前,用软件来定义端口的工作方式,选择所需要的功能,工作方式是由方式控制字来决定的。(1) 方式控制字8255A 分为 A 口、B 口和 C 口即 A、B 两组,其控制字格式如图 2 所示:D7 D6 D5 D4 D3 D2 D1 D01A 组控制 B 组控制图 2 方式控制字D7=1 为控

11、制字的标志,A 组由 D6、D5、D4 和 D3 组成,B 组由D2、D1、D0 组成,各口工作方式的选择如表 2 所示:表 2 工作方式选择D6D5 00 01 1X D2 0 1A 口 方式 0 方式 1 方式 2 B 口 方式 0 方式 1对应的各口 I/O 选择如表 3 所示:表 3 各口输入/输出选择D4 A 口 D1 B 口 D3 C 口上半部 D0 C 口下半部0 输出 0 输出 0 输出 0 输出1 输入 1 输入 1 输入 1 输入(2)C 口清 0/置 1 控制字清 0 称为复位操作,置 1 称为置位操作,其格式如图 3 所示:D7 D6 D5 D4 D3 D2 D1 D0

12、0 X X XPC0 至 PC7 的编码图 3 C 口置位复位控制字D7=0 为该控制字的标志,D6、D5 和 D4 没有定义,可为任意态,通常取0,D3、D2 和 D1 共组成 8 种编码对应 C 口的 PC0 至 PC7,D0=0 将 D3D2D1编码所对应的 C 口某位清 0,D0=1 则是进行对应的置 1 操作。例如要对 C 口的 PC2 为进行置 1 操作,则D7D6D5D4=0,D3D2D1=010,D0=1,控制字为 00000101B,相应的置 1 程序段如下:MOV DX,控制口地址MOV AL,00000101BOUT DX,AL特别注意:该控制字是通过写入 8255A 的

13、控制寄存器来达到对 C 口的指定位进行置位/复位操作的,对 A 口和 B 口均不适用。4.4.3 8255A的初始化初始化就是在完成硬件连接之后,使用 8255A 接口芯片时,我们要对它进行编程,即将相关的方式控制字和 C 口置位/复位控制字送入 8255A,以设定接口芯片的工作方式和选择芯片的接口功能。这是 8255A 进入工作状态前,必须要做的工作。需要特别注意的是:两种不同类型的控制字都是写入同一个端口,或者说在“out“指令中,使用的是同一个端口地址。初始化完成后:当数据端口作为输入接口时,执行输入 IN 指令从输入设备得到外设数据;当数据端口作为输出接口时,执行输出 OUT 指令将把 CPU 的数据送给输出设备。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报