程序控制输入输出PPT推荐.ppt
- 文档编号:15040610
- 上传时间:2022-10-27
- 格式:PPT
- 页数:30
- 大小:1,011.50KB
程序控制输入输出PPT推荐.ppt
《程序控制输入输出PPT推荐.ppt》由会员分享,可在线阅读,更多相关《程序控制输入输出PPT推荐.ppt(30页珍藏版)》请在冰豆网上搜索。
异步通信时波特率范围为11019200bit/s,使用时,根据不同速率要求,在接收控制器和发送控制器中分频,以得到合适的接收或发送时钟频率。
微型机原理与程序设计微型机原理与程序设计
(2)8251A的引脚8251A是一种有28个管脚的双列直插式大规模集成电路芯片,根据其内部结构,其管脚分别介绍如下。
其管脚封装图如图2-4-30所示。
8251A的数据总线是8位的,分别为D0-D7,它们是三态双向的,CPU通过数据总线并行传送命令,交换数据及检测状态。
图2-4-308251A管脚封装图微型机原理与程序设计微型机原理与程序设计1)控制信号管脚)控制信号管脚CLK:
时钟输入端口,产生8251A的内部时序。
:
片选信号。
控制/数据端。
RESET:
复位信号。
读、写控制信号。
2)发送器部分管脚)发送器部分管脚TxD:
数据发送引脚。
TxRDY:
发送器准备好信号。
TxEMPTY:
发送器空信号。
由外部输入的发送器时钟。
微型机原理与程序设计微型机原理与程序设计3)接收器部分管脚)接收器部分管脚RxD:
数据接收引脚。
取走数据。
RxRDY:
接收器准备好信号。
SYNDET/BRKDET:
此管脚具有双功能。
由外部输入的接收数据时钟。
4)调制解调接口管脚)调制解调接口管脚:
数据终端准备好信号。
数据装置准备好信号。
请求发送信号。
允许发送信号。
微型机原理与程序设计微型机原理与程序设计3.8251A与与CPU连接连接8251A也是一个与CPU连接的相当简单的器件。
为读或写8251A,片选输入必须为逻辑0。
一般通过地址译码器提供片选信号。
为了可以通过地址选择命令端口或数据端口,将与地址线A1连接。
图2-4-31给出了与8086与8251A的连接,接口使用了8086I/O低位I/O体。
因此8251A的所有端口都为偶地址。
微型机原理与程序设计微型机原理与程序设计4.8251A的编程的编程8251A是一个可编程的多功能串行通信接口芯片,在实际使用前必须对它初始化,用来确定其工作方式、传输速率、字符格式以及停止位长度等。
8251A有三种控制字,为方式选择控制字、操作命令控制字和状态控制字。
微型机原理与程序设计微型机原理与程序设计例如,某异步通信中,其数据格式采用8位数据位,1位起始位,2位停止位奇校验,波特率系数是16,其工作方式字为11011110BDEH。
又如,同步通信中,若帧数据格式为字符长度8位,双同步字符,内同步方式,奇校验,则工作方式字为00011100B=1CH微型机原理与程序设计微型机原理与程序设计
(2)操作命令控制字)操作命令控制字操作命令控制字可使825lA处于预先规定的工作状态,操作命令控制字说明:
(1)TxEN:
允许发送/屏蔽发送的控制端。
(2)DTR:
DTR位置1,表示CPU已经准备好接收数据。
(3)RxE:
允许接收/屏蔽接收的控制端。
(4)SBRK:
该位发送断缺字符,正常通信过程中,SBRK应保持为0。
(5)ER:
ER=1清除奇偶出错、溢出出错和帧校验出错标志。
(6)RTS:
该位是请求发送信号。
(7)IR:
该位为内部复位信号,迫使8251回到方式选择控制字状态。
(8)EH:
该位只对同步方式有效。
EH=1时,表示开始搜索同步字符。
微型机原理与程序设计微型机原理与程序设计例如,若要使8251A内部复位,并且允许接收,又允许发送,则程序段为:
微型机原理与程序设计微型机原理与程序设计(3)状态控制字)状态控制字在8251A工作过程中,CPU随时可以用IN指令读取当前8251A的状态控制字。
(1)TxRDY:
该位是发送准备好标志,表示当前发送缓冲器已空。
(2)RxRDY、TxEMPTY、SYNDET/BRKDET:
定义与其相应的引脚定义相同。
(3)DSR:
该状态位为1时,表示外设或调制解调器作好发送数据的准备。
(4)PE:
该位为奇偶错标志位。
(5)OE:
该位为溢出错标志位。
(6)FE:
该位为帧校验错标志位。
(7)PE、OE、FE这三个标志可由操作命令字的ER位为1来全部复位。
微型机原理与程序设计微型机原理与程序设计图2-4-348251A状态控制字格式
(2)RxRDY、TxEMPTY、SYNDET/BRKDET:
这三个位状态的定义与其相应的引脚定义相同,可以供CPU随时查询。
该状态位为1时,表示外设或调制解调器已经作好发送数据的准备。
微型机原理与程序设计微型机原理与程序设计若要检查出错信息,则用下列程序段:
例如,若要查询8251A接收器是否准备好,则用下列程序段:
微型机原理与程序设计微型机原理与程序设计图2-4-458251A初始化编程框图(4)初始化编程)初始化编程微型机原理与程序设计微型机原理与程序设计2)异步方式的编程)异步方式的编程设在某8086系统中有一片8251A,其占用的端口地址分别为1A0H和1A2H,并要求其工作方式选择为:
异步通信,字符用7位二进制数表示,奇校验,2位停止位,波特率因子为64。
对其工作状态的要求是:
使发送允许TxEN有效,使接收允许RxE有效,使数据终端准备好信号有效,复位出错标志,将请求发送信号置于有效电平。
分析:
其方式选择控制字应该为DBH,操作命令控制字应该为37H。
MOVDX,1A2HMOVAL,0DBH;
设置工作方式OUTDX,ALMOVAL,37H;
设置操作控制字OUTDX,AL微型机原理与程序设计微型机原理与程序设计3)同步方式的编程)同步方式的编程设某8251A芯片端口地址分别为1A0H和1A2H。
要求其工作方式:
同步方式、内同步、两个同步字符、奇校验、每个字符8位。
并设第一个同步字符为EFH,第二个同步字符为7EH。
要求其工作状态是:
复位出错标志,启动发送器和接收器,当前CPU已经准备好且请求发送。
其方式选择控制字应该为1CH,操作命令控制字应该为0B7H。
MOVDX,1A2HMOVAL,40HOUTDX,AL;
复位8251AMOVAL,1CHOUTDX,AL;
写入方式选择控制字,规定其工作方式MOVAL,0EFHOUTDX,AL;
写入第一个同步字符MOVAL,7EHOUTDX,AL;
写入第二个同步字符MOVAL,0B7HOUTDX,AL;
写入操作命令控制字,设置其工作状态微型机原理与程序设计微型机原理与程序设计58251A应用举例应用举例1)接收数据)接收数据8251A工作于异步方式,7个数据位,2个停止位,奇校验,波特率因子为64。
其数据端口地址为A0H,控制端口地址为A2H。
通过查询8251A状态寄存器中的RxRDY位,可以确定8251A是否已经从外设接收到了一个字符。
若已接收到,即RxRDY有效,CPU就可执行输入指令,从8251A的数据端口(C/D=0)取回一字节数据放在内存缓冲区。
程序中还要检测状态寄存器的第3、4、5位,看是否出现了奇偶错、溢出错或帧错误。
若发现错误,应停止输入,并转错误处理程序。
微型机原理与程序设计微型机原理与程序设计MOVAL,0DBHOUT0A2H,AL;
写入异步方式选择字MOVAL,37HOUT0A2H,AL;
写入命令控制字MOVBX,BUFPTR;
设缓冲区首地址存放在DS段BUFPTR变量名下MOVDI,0;
变址寄存器清0MOVCX,0064H;
设置计数值100WAIT:
INAL,0A2H;
输入状态字送ALTESTAL,02H;
测试状态字第2位,即RxRDY微型机原理与程序设计微型机原理与程序设计JZWAIT;
若8251A未收到字符,则重新取状态字INAL,0A0H;
若RxRDY有效,则从数据口输入数据MOVBX+DI,AL;
将接收到的字符送到缓冲区INCDI;
缓冲区指针下移一个单位INAL,0A2H;
再读入状态字TESTAL,38H;
测试有无三种错误JNZERROR;
若有错误,转错误处理程序ERRORLOOPWAIT;
如已输入100个字符,则继续进行数据处理微型机原理与程序设计微型机原理与程序设计2)发送数据)发送数据8251A设置为异步传送方式,波特率因子为64,采用偶校验,1位停止位,7位数据位。
8251A与外设有握手信号,采用查询方式发送数据。
CODESEGMENTASSUMSCS:
CODE,DS:
DATA,SS:
STACKMOVAX,DATAMOVDS,AXSTART:
MOVDX,04A2H;
控制口地址MOVAL,7BH;
工作方式控制字OUTDX,ALMOVAL,37H;
操作命令控制字微型机原理与程序设计微型机原理与程序设计OUTDX,ALWAIT:
INAL,DXANDAL,01H;
检查TxRDY=1?
JZWAITMOVDX,04A0HMOVAL,36H;
输出的数据OUTDX,ALCODEENDSENDSTART3)双机通讯)双机通讯实现8251A在两台微机之间的双机串行通信的电路图2-4-46所示。
微型机原理与程序设计微型机原理与程序设计图2-4-46微机间串行通信接口连接在甲、乙两台微机之间进行串行通信。
甲机发送,乙机接收。
要求把甲机上开发的应用程序(其长度为2DH)传送到乙机中去。
采用起止式异步方式,字符长度为8位,2位停止位,波特率因子为64,无校验,波特率为4800。
CPU与8251A之间用查询方式交换数据。
端口地址分配是:
309H为命令/状态口,308H为数据口。
3)双机通讯)双机通讯实现8251A在两台微机之间的双机串行通信的电路图2-4-46所示。
微型机原理与程序设计微型机原理与程序设计由于是近距离传输,可以不设Modem而直接互连,同时是采用查询I/O方式,故收/发程序中只需检查收/发准备好的状态是否置位,若置他即可收发1个字节。
甲、乙两台微机之间的硬件连接只需TxD、RxD和SG三根线连接就能通信。
软件编程:
接收和发送程序分开编写,每个程序段中包括8251A初始化、状态查询和输入/输出几部分。
发送程序(略去STACK和DATA段):
CSEGSEGMENTASSUMECS:
CSEGTRAPROCFARSTART:
MOVDX,309H;
控制口MOVAL,00H;
空操作OUTDX,AL微型机原理与程序设计微型机原理与程序设计MOVAL,40H;
内部复位OUTDX,ALNOPMOV
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序控制 输入输出
![提示](https://static.bdocx.com/images/bang_tan.gif)