




已阅读5页,还剩62页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录摘要IIIAbstractV第1章 串行通信的基本原理介绍11.1 串行通信11.2 数据通信的传输方式21.2.1单工21.2.2半双工21.2.3全双工31.2.4多工方式31.3串行数据通信两种形式31.3.1异步通信31.3.2同步通信51.4调制解调器6第2章 总体设计方案72.1 设计基本要求72.2设计方案比较72.3设计实现8第3章 单元模块设计113.1 引言113.2 键盘113.2.1键盘类型113.2.2独立式非编码键盘接口113.2.3 防抖动处理123.3 8255A设计123.3.1 8255A外部引脚123.3.2 8255A编程命令153.3.3 8255A的工作方式153.3.4 8255A键扫描163.3.5 8255A作键盘接口183.4 8251A设计183.4.1 8251A的内部寄存器及初始化编程183.4.2 8251A与CPU的接口信号253.4.3 8251A与外部装置之间的接口信号273.4.4 8251A同步通信273.4.5 8251A的初始化283.5 8086CPU模块303.5.1 8086CPU的输入与输出303.5.2 I/O端口地址分配313.5.3 I/O端口的编址方式313.5.4 总线和接口及其标准323.5.5总线数据传输33第4章 软件设计354.1软件设计原理354.2 设计总体程序35第5章 结论45致谢47参考文献49 Windows环境下串行数据通信的研究摘要本文简要地介绍了8251A与8086串行通信的有关技术,在此基础上详细说明了在Windows环境下利用汇编语言进行串行通信的编程方法。 本次设计是利用8255A设计的一个键盘/数码显示接口电路对键盘进行编码扫描,8086CPU通过外接的8251A可编程串行控制器,从8251A的控制口写入其工作方式或读入当前状态,通过数据口发送或接收串行口数据,从而实现两个8086CPU之间传送数据的功能。通讯双方的RXD、TXD信号本应经过电平转换后再行交叉连接,本设计实验中为减少连线可将电平转换电路略去,而将双方的RXD、TXD直接交叉连接,实验中将本机的TXD接到RXD,这样按下的键就会在数码管上显示。关键词:8251A,8255A,8086CPU,键盘Windows environment seriadatacommunicationsresearchAbstractThis article briefly introduces the 8251 A and 8086 related to the serial communication technology, on the basis of a detailed description of the windows environment using assembly language programming serial communication methods. The 8255 A design is to use a keyboard design / digital display interface circuit encoded on the keyboard scanning, 8086 CPU through an external serial 8251 A programmable controllers, from the 8251 As control of its work into the mouth or read the current status Through the data I send or receive serial data, thus realizing the two 8086 CPU transmission of data between functions. The two sides of the communications RXD, TXD signal should have a level after the conversion to cross-connect, the design of experiments to reduce the level connections can be omitted conversion circuit, and the two sides will RXD, TXD direct cross-connect, the experiment will The plane received the TXD RXD, press the button that will be displayed on the digital control.Keyward:8251A,8255A,8086CPU, Keyboard - 53 -第1章 串行通信的基本原理介绍1.1 串行通信 串行通信是在单根导线上将二进制数一位一位地顺序传输的过程。微型计算机在作远距离数据通信时,往往要求I/O设备以串行方式来工作,即要求具备串行通信接口。在实际应用中,通信设备一般都配带这种接口。此外,有些计算机外设,如盒式磁带机,串行硬盘,CRT显示器中端等,也要求采用串行接口。4串行通信的特点是:1)速度较慢 如果并行通信一次可以传输一个8位数据,则对于相同的数据在相同的数据传输速率下,串行通信只有并行通信的1/8速度。 2)引线少 如果不考虑地线,单向串行通信用一根线就可以实现数据传输,当串行通信为双向通信时,则两根线就满足了。常用符号TxD表示数据的发送线,RxD表示数据的接收线,所以当两台计算机通过串行线相连时,TxD线和RxD线要交叉相连,硬件连接非常简单,如图1.1所示。 3)距离长 由于串行通信硬件占有端口很少,所以分布电容对通信速度的影响很小,再加上有效的驱动电路作保障,从而使得通信距离大大高于并行数据传输。计算机TxD串行接口RxD 外设RxDTxD串行接口图1.1 串行通信1.2 数据通信的传输方式1.2.1单工数据仅按一个固定方向传送。因而这种传输方式的用途有限,常用于串行口的打印数据传输与简单系统间的数据采集。图1.2 单工1.2.2半双工数据可实现双向传送,但不能同时进行,实际的应用采用某种协议实现收/发开关转换。图1.3 半双工1.2.3全双工 允许双方同时进行数据双向传送,但一般全双工传输方式的线路和设备较复杂。全双工的串行通信只需要一根输出线和一根输入线。数据的输出又称发送数据(TXD),数据的输入又称接收数据(RXD)。串行通信中主要有两个技术问题,一个是数据传送、另一个是数据转换。数据传送主要解决传送中的标准、格式及工作方式等问题。数据转换是指数据的串并行转换。具体说,在发送端,要把并行数据转换为串行数据;而在接收端,却要把接收到的串行数据转换为并行数据。 图1.4 全双工1.2.4多工方式以上三种传输方式都是用同一线路传输一种频率信号,为了充分地利用线路资源,可通过使用多路复用器或多路集线器,采用频分、时分或码分复用技术,即可实现在同一线路上资源共享功能,我们称之为多工传输方式。1.3串行数据通信两种形式 在串行通信中,通信双方收发数据序列必须在时间上取得一致,这样才能保证接收数据的正确性。按照通信双方发送和接收数据序列在时间上取得一致的方法不同,串行通信可分为异步串行通信和同步串行通信两大类。1.3.1异步通信(Asynchronous Communication)在异步通信中,数据通常是以字符为单位组成字符帧传送的。字符帧由发送端一帧一帧地发送,每一帧数据是低位在前,高位在后,通过传输线被接收端一帧一帧地接收。发送端和接收端可以由各自独立的时钟来控制数据的发送和接收,接收器和发送器有各自的时钟,异步通信用一帧来表示一个字符,这两个时钟彼此独立,互不同步。在异步通信中,接收端是依靠字符帧格式来判断发送端是何时开始发送何时结束发送的。字符帧格式是异步通信的一个重要指标。1)字符帧(Character Frame)字符帧也叫数据帧,由起始位、数据位、奇偶校验位和停止位等四部分组成,传输字符的格式要按规定写。例如:在异步传输方式,每个字符传送时,前面必须加一个起始位,后面必须加停止位来结束,停止位可以为1位,1.5位,2位。奇偶校验位可以加也可以不加。同步传输时,在传输字符前面是一个或2个同步字符,最后不要停止位。如图1.5所示。图1.5 异步通信的字符帧格式(1) 起始位:位于字符帧开头,只占一位,为逻辑0低电平,用于向接收设备表示发送端开始发送一帧信息。(2) 数据位:紧跟起始位之后,用户根据情况可取5位、6位、7位或8位,低位在前高位在后。(3) 奇偶校验位:位于数据位之后,仅占一位,用来表征串行通信中采用奇校验还是偶校验,由用户决定。(4) 停止位:位于字符帧最后,为逻辑1高电平。通常可取1位、1.5位或2位,用于向接收端表示一帧字符信息已经发送完,也为发送下一帧作准备。在串行通信中,两相邻字符帧之间可以没有空闲位,也可以有若干空闲位,这由用户来决定。图1.6(b)表示有3个空闲位的字符帧格式。2) 波特率(baud rate)异步通信的另一个重要指标为波特率。波特率为每秒钟传送二进制数码的位数,也叫比特数,单位为bit/s,即位/秒。波特率用于表征数据传输的速度,波特率越高,数据传输速度越快。但波特率和字符的实际传输速率不同,字符的实际传输速率是每秒内所传字符帧的帧数,和字符帧格式有关。比特率串行通信中数据速度的测量单位。 波特率描述每秒内发生二进制信号的事件数,它与用来表示一个二进制数据位是持续时间有关。即: 波特率=1/二进制位的持续时间. 比特率可以大于或等于波特率。若每秒传输10位数据,则其速率为10波特,若每位数据用10个脉冲来调制,则比特率则为100b/s。 发送时钟与波特率的关系: 时钟频率=波特率因子n波特率 波特率因子是传输一位二进制数时所用的时时钟周期数。通常,异步通信的波特率为509600bit/s。异步通信的优点是不需要传送同步时钟,字符帧长度不受限制,故设备简单。缺点是字符帧中因包含起始位和停止位而降低了有效数据的传输速率。 1.3.2同步通信(Synchronous Communication)同步通信是一种连续串行传送数据的通信方式,一次通信只传输一帧信息。同步通信格式中,发送器和接收器由同一个时钟源控制,为了克服在异步通信中,每传输一帧字符都必须加上起始位和停止位,占用了传输时间,在要求传送数据量较大的场合,速度就慢得多。同步传输方式去掉了这些起始位和停止位,只在传输数据块时先送出一个同步头(字符)标志即可。这里的信息帧和异步通信的字符帧不同,通常有若干个数据字符。图1.6(a)为单同步字符帧结构,图1.6(b)为双同步字符帧结构,但它们均由同步字符、数据字符和校验字符CRC三部分组成。在同步通信中,同步字符可以采用统一的标准格式,也可以由用户约定。图1.6 同步通信的字符帧格式同步通信的数据传输速率较高,通常可达56000bit/s或更高,其缺点是要求发送时钟和接收时钟必须保持严格同步。同步传输方式比异步传输方式速度快,这是它的优势。但同步传输方式也有其缺点,即它必须要用一个时钟来协调收发器的工作,所以它的设备也较复杂。1.4调制解调器3 在串行通信中,由于线路分布电容的影响,一个方波传输一段距离以后,逐渐被“平滑”,最后难以分辨上升沿和下降沿,同时非常容易受干扰。而正弦波在长距离传输后,仍然是正弦波,只是幅度变小而已,通过放大器可以恢复。因此,数据在长距离传输时需要调制解调器。调制解调器(Modem)是利用模拟通信线路进行长距离数据通信中的重要设备。长距离通信时,通常需要利用电话线路,Modem的作用就是先将数字信号转换为适合电话线路上传输的模拟信号,经过电话线路传输后,再将模拟信号还原成数字信号。Modem把从终端接收到的二进制电信号转换成可在公用电话系统上发送的音频信号(成为调制)。同时它也把从远方Modem发出的通过电话系统的音频信号转化为二进制电信号转换成可在公用电话系统上发送的音频信号(成为调制)。同时它也把从远方Modem发出的通过电话系统的音频信号转化为二进制电信号发往终端(成为解调)。依传输速率分,Modem可分为低速,中速和高速3类。低速Modem一般用于传输速率在2000波特以下的异步通信;传输波特率高于9600波特的同步通信,则要采用中速甚至高速的Modem。通常使用RS-232标准串行接口,来实现计算机与Modem之间通信。 图1.7调制与解调应用实例 第2章 总体设计方案2.1 设计基本要求 在甲乙两片8251A接口芯片实现两个8086CPU之间的串行通信,甲发送,乙接收,要求把甲上的数据传送到乙上去。1. 通信过程。(1)由任意一个芯片通过串行口发出开始命令,对方接收到该命令后,返回应答命令,随后双方进入数据交换过程。(2)在数据交换过程中,甲乙双方向对方发送数据。2. 通信参数。作为一个简化设计,字符格式为1个起始位、8位数据、1个奇偶校验位、1个停止位,波特率因子为64。 3. 设计分析。 根据设计要求对实际的电路进行分析可得到下面的示例图2.1,即利用两片8251A接口芯片实现两个8086CPU之间的串行通信。常用符号TxD表示数据的发送线,RxD表示数据的接收线,所以当两台计算机通过串行线相连时,TxD线和RxD线要交叉相连。5图2.1 双机通信示例2.2设计方案比较串行通信分为异步通信(ASYNC)和同步通信(SYNC),以及同步数据链路通信(SDLC)、高级数据链路通信(HDLC)等,根据上述的介绍它们的主要区别表现在不同的信息格式上:异步通信是“起止”(Start stop mode),同步方式通信,即在以起始位开始、停止位结束的一个字符内按约定的频率进行同步接收。各字符之间允许有间隙,而且两个字符之间的间隔是不固定的。例如终端设备的输出速度不均匀时,就要求相邻字符间的时间间隔不同,这时就要用到异步通信方式。而在同步通信方式中,不仅同一字符中的相邻两位间的时间间隔要相等,而且字符间的间隔也要求都相等,这是同步与异步通信方式的主要差别。在本次设计中采取的是串行传输。串行传送是在一根传输线上一位一位的传送,这根线既做数据线又做联络线,也就是说要在一根传输线上既传送数据信息,又传送联络控制信息,这就是串行方式传送的第一个特点。那么,如何来识别在一根线串行传送的信息流中,哪一部分是联络信号,哪一部分是数据信号。为解决这个问题,就引出了串行通信的数据格式的约定。因此,串行传送的第二个特点是它的数据格式有固定的要求(即固定的数据格式),分异步和同步数据格式,与此相应,就有异步通信和同步通信两种方式。异步通信方式是按字符传送的,而同步通信是按数据块传送的。第三个特点是串行通信中对信号的逻辑定义与TTL不兼容,因此,需要进行逻辑关系和逻辑电平转换。第四个特点是串行传送信息的速率需要控制,要求双方约定通信传输的波特率。基于串行传输的这些特点及其与并行传输的区别,我们在本次设计中没有采取并行传输而采取的是串行传输的方式来实现。2.3设计实现发送方8251A芯片的方式控制字11001111B,操作命令控制字00110001B,数据口地址为0880H,控制口地址为0882H。接收方8251A芯片的方式控制字11001111B,操作命令控制字00010110B,数据口地址为0884H,控制口地址为0886H。实现的框图如下图2.2所示:开 始设置串口通讯方式及波特率收到数据?否八段管显示 检测键盘输入?有读入键值 转换成键码 串口发送键码无 串口接收数据送显示缓冲是 主程序 发送子程序 清出错标志 发送为空?是 发送数据否 返回 串口发送子程序 接收子程序 是否已收到数据?否 读入数据是 返回串口接收子程序图2.2 串行通信框图 第3章 单元模块设计3.1 引言当今社会是数字化的社会,是数字集成电路(微处理器、存贮器以及标准逻辑电路等)广泛应用的社会。信息高速公路、多媒体电脑、移动电话系统、数字电视,各种自动化设备以及我们日常的一些小制作都要用到数字逻辑电路。与此同时,数字集成电路本身也在不断地进行更新换代。它由早期的电子管、晶体管、小规模集成电路(几十至几百门)、中规模集成电路(MSIC,几百至几千门)、大规模集成电路(LSIC,几千至几万门)发展到超大规模集成电路(VLSIC,几万以上)以及许多具有特定功能的专用集成电路。为了缩小电路板的尺寸并降低成本,设计人员总是挑选集成度尽可能高的器件。从而要求按每一个功能模块化,一个系统就是由许多不同功能的模块按照系统的指标组合在一起的,每个模块之间可以是相互独立的。当组合在一起就可以达到要求。3.2 键盘键盘: 是微型计算机系统中最基本的人机对话输入设备。 键盘按键:有机械式、电容式、导电橡胶式、薄膜式等多种,但不管何种形式,其作用都是一个使电路接通与断开的开关。 常用的按键,都存在两种状态:断开和闭合。当某一键被按下,则为闭合状态;键释放,则为断开状态。键盘电路的功能就是将键的闭合和断开状态用“0”和“1”来表示,然后通过数据总线送到CPU内部进行键的识别。3.2.1键盘类型 编码键盘 自动提供被按键编码信息,同时产生选通脉冲。具有处理抖动和串键保护电路。 非编码键盘 由一组开关组成,提供行列键盘矩阵。程序解决防抖和串键问题。3.2.2独立式非编码键盘接口 独立式按键是各按键相互独立地接通一条输入数据线,这是最简单的键盘结构。当任何一个键按下时,与之相联的输入数据线即被置“0”(低电平),而平时该线为“1”(高电平)。要判别是否有键按下,用单片机的位处理指令十分方便。这种键盘结构的优点是电路简单;缺点是当键数较多时,要占用较多的I/0线。3.2.3 防抖动处理在实际按键操作中,由于按键动作是一个机械动作,键在闭合或断开的过程会发生抖动,键抖动时间的长短与开关的机械特性有关,一般为5ms10ms左右,然后达到稳定状态。在键盘接口,为了保证CPU对键的闭合作一次且仅作一次处理,必须去除抖动,使CPU在键的稳定闭合或断开状态时读取键值。图3.1 按键抖动在键盘接口中,使用更普遍的是采用软件延时的方法来完成消抖。其基本思想是:在检测到按键按下或释放时,记录按键的状态,延时10ms20ms,再次检测按键的状态,若与前一次的状态相同,说明按键的状态已稳定,可进行处理;否则,表示键的状态不稳定,可能是误动作,不应被处理。由于CPU的程序执行比按键的机械动作快得多,使得一次按键动作期间,CPU检测到有按键并执行了相应的键处理程序以后,按下的键可能还没有被释放,因此,在CPU再一次测试键盘状态时,该键又被认为是按下状态,从而出现按一次键而CPU进行二次或多次键处理的情况。这是一个明显的误操作。解决方法有多种,最简便的解决方法是CPU在测试到有键接下时,一直等到键释放才作相应的键处理。3.3 8255A设计 8255A是一个具有两个8位(A口和B口)和两个4位(C口高/低4位)并行I/O端口的接口芯片,它为Inter系列CPU与外部设备之间提供TTL电平兼容的接口,如打印机,A/D、D/A转换器,键盘,步进电机以及需要同时两位以上信息传送的一切形式的并行接口。并且台的PC口还具有按位置位/复位功能,为按位控制提供了强有力的支持。8255A能适应CPU与I/O接口之间的多种数据传送方式的。如无条件传送、应答方式(查询)传送和中断方式传送,与此相应,8255A设置了0方式、1方式以及2方式(双向传送)。3.3.1 8255A外部引脚它作为接口电路的8255A具有面向CPU和面向外设两个方向的连接能力。因此,他的引脚分成两部分。与系统总线的连接信号面向数据总线的有:D0D7:双向数据线,用于CPU向8255A发送命令、数据和8255A向CPU回送状态、数据。面向地址总线的有:CS:选片信号,低电平有效,由系统的高位地址线经I/O端口地址译码电路产生。CS为低电平时,才能对8255A进行读写操作。当CS为高电平时,切断CPU与芯片的联系。A1,A0:芯片内部端口地址信号,与系统地址总线低位相连,用来寻址8255A内部寄存器两位地址,可形成片内4个端口地址。面向控制总线的有:RD:读信号,低电平有效。CPU通过执行IN指令使RD有效,即发读信号将数据或状态信号从8255A读至CPU。WR:写信号,低电平有效。CPU通过执行OUT指令使WR有效,即发写信号,将命令代码或数据写入8255A。RESET:复位信号,高电平有效。它清除控制寄存器并将8255A的A、B、C三个端口均置分为输入方式;输出寄存器和状态寄存器被复位,并且屏蔽中断请求;24条面向外设的信号线呈现高阻悬浮状态。这种态势,一直维持到用方式命令才能改变,使其进入用户所需的工作方式。 图3.2 8255A原理图与外部设备的连接信号PA0PA7:端口A的输入/输出线。PB0PB7:端口B的输入/输出线。PC0PC7:端口C的输入/输出线。这24根信号线均可用来连接I/O设备和传送信息。其中,A口和B口只作输入/输出的数据口用,尽管有时也利用它们从I/O设备读取一些状态信号,如打印机的“忙”(Busy)状态信号、A/D转换器的“转换结束”(EOC)状态信号,但对A口和B口来说,都是作8255A的数据口读入,而不是作8255A的状态口读入的。A口和B口作数据口输入/输出时,是8位一起行动的,即使是只用到其中某1位,也要同时输入/输出8位。C口的作用与8255A的工作方式有关,它除了作数据口以外,还有其他用途,故C口的使用比较特殊,单独介绍如下:作数据口。C口作数据口时和A口、B口不一样,它是把8位分成高4位和低4位两部分,高4位PC4PC7与A口一起组成A组,低4位PC0PC3与B口组成B组。因此,C口作数据口输入输出时,是4位一起行动,即使只使用其中的1位,也要4位一起输入或输出。作状态口。8255A在1,2方式下,有固定的状态字,是从C口读入的。此时,C口就是8255的状态口。而A口和B口不能作8255A本身的状态口用。作专用(固定)联络(握手)信号线。8255A的1,2方式是一种应答方式,在传送过程中需要进行应答的联络信号。因此,在1,2方式下,C口的大部分引脚分配作了固定的联络线。虽然,A口和B口的引脚有时也作联络信号用,但它们不是固定的。作按位控制用。C口的8个引脚可以单独从1个引脚输出高/低电平。此时,C口是作按位控制用,而不是作数据输出用。C口的这些特殊应用,扩展了8255A的功能。3.3.2 8255A编程命令方式命令是对8255A的3个端口的工作方式及功能进行指定,即进行初始化,初始工作要在使用8255A之前做。也就是说,凡是用到8255A,就一定要初始化。1 方式命令作用:指定8255A的工作方式及其方式下3个并行端口(PA、PB、PC)的功能,是作输入还是作输出。格式:8位,其中最高位是特征位,一定要写1,其余各位的定义如下,应根据用户的设计要求填写1或0。从方式命令的格式可知,A组有3种方式(0方式、1方式、2方式),而B组只有2种工作方式(0方式、1方式)。端口PC分成2部分,上半部分属A组,下半部分属B组。所有3个并行端口,置1指定为输入,置0指定为输出。利用工作方式命令的不同代码组合,可以分别选择A组和B组的工作方式和各端口是输入还是输出。2 按位置位/复位命令字作用:指定PC口的某一位(某一个引脚)输出高电平或低电平。格式:8位,其中最高位是特征位,一定要写0,其余各位的定义如下,应根据用户的设计要求填写1或0。利用按位置位/复位命令可以使PC口的8根线中的任意1根置成高电平输出或低电平输出。按位置位/复位命令产生的输出信号,可作为控制开关的通/断,继电器的吸合/释放,电机的启/停等操作的选通信号。利用C口的按位控制特性还可以产生正、负脉冲或方波输出,对外设进行控制。3.3.3 8255A的工作方式在使用8255A时,除了对3个并行端口分配作输入或输出之外,还要考虑输入输出的方式。同样是输入(或输出),若方式不同,8255A的引脚(主要是C口的引脚)的信号功能定义不一样,工作时序也不一样,在接口设计时,硬件连接和软件编程也不一样,所以要研究和分析8255A的工作方式。8255A的工作方式与端口有关,PA口有3种方式(0方式、1方式、2方式),PB口和PC口只有2种方式(0方式、1方式)。.D7 D6 D5 D4 D3 D2 D1 D0 C口低位选择方式0 B口输入输出选择B口工作方式选择C口高位输入输出选择A口输入输出选择A口工作方式选择D7=1为工作方式控制字标志图3.3 8255A的工作方式3.3.4 8255A键扫描 当8255A处于工作状态时,首先调用了8255A的初始化程序,使其工作。不断从PA口送“0”,再判断按键的情况。具体步骤如下:1、 判断是否键全松开,如果没有继续等待。2、 当有键按下时,调用延迟程序,消除抖动。3、 再判断是否有键按下,进行相应的处理,逐行扫描确定按键。4、 对照查表,取得按键值(A、B、C、D),同时将按键值通过八段数码显示管,显示按键值。其框图如图3.4所示:8255A初始化PA全送0键全松开?NY有键按下?NNNNY延时20ms有键按下?NY逐行扫描确定按键对照键查表取得键值返回图3.4 8255A键扫描框图3.3.5 8255A作键盘接口 矩阵键盘采用常见的扫描法,其识别闭合键的原理是:首先使得第0行为低电平,其余行为高电平,然后查询列线的电平状态,如果有某一列线变为低电平,则表示第0行和此列线相交位置上的按键被按下;如果此时所有的列线都为高电平,则就说明第0行上没有按键按下。接着,再将第1行输出为低电平而其他行输出为高电平,并检查列线中是否有电平产生。按照此法逐行向下扫描,直到最后一行。在扫描过程中,当发现某一行有按键闭合时,也就是说列线中有一位为0时,程序才退出扫描,并将按键的输入值进行处理,从而确定闭合键所在的位置。图3.5电路结构中,PA口,PB口和PC口的上半部分需要设置为输出,而PC口的下半部分需要设置为输入,所以端口的工作方式可设置为方式0。 3.4 8251A设计3.4.1 8251A的内部寄存器及初始化编程 1.方向选择字8251A方式选择字的格式如图3.6所示。在控制字中有4种组合,当=00时,8251A选择为同步方式工作;否则,8251A选择为异步方式工作。在异步方式下,输入的时钟和波特率之间的系数可由的其他3种组合规定。是用来确定字符长度的。可以用来确定是否需要奇偶校验,是奇校验还是偶校验。的定义分为两种情况:在同步工作时,设置选用的是内同步还是外同步以及同步的个数;在异步工作时,设置停止位的长度。2.操作命令控制字 操作命令字可以使8251A处于预先规定(初始化设置)的工作状态,操作命令控制字的格式如图3.7所示。 操作命令字中,每位的定义说明如下:(1) TxEN:允许发送/屏蔽发送的控制端。TxEN=1时,发送器才能通过TxD引脚向外部串行发送数据。(2) DTR: DTR位置1,表示CPU已经准备好接收数据,此时,8251A的引脚向Modem输出低电平有效信号。(3) RxE:允许接收/屏蔽接收的控制端。RxE=1时,接收器才能通过RxD引脚接收外部串行数据。(4) SBRK:该位发送断缺字符, SBRK=1时,迫使TxD引脚处于低电平,发送“0”信号。在正常通信过程中, SBRK应保持为0。(5) ER: ER=1时,则清除奇偶出错标志(PE),溢出错误标志(OE)和帧校验出错标志(FE)。(6) RTS:该位是请求发送信号。RTS=1,迫使引脚输出低电平,表示CPU已经作好了发送数据的准备。(7) IR:该位为内部复位信号, IR=1,迫使8251A回到方式选择控制字状态。通常用户有两种方法复位8251A:一种是硬件复位,即通过引脚RESET=1使得8251A进入复位状态;另一种是软件复位,即通过IR位置1,使得8251A进入方式选择字状态,重新选择其工作方式。(8) EH:该位只对同步方式有效。EH=1时,表示开始搜索同步字符。所以,对同步方式来讲,一旦允许接收(RxE=1),必须同时使得EH=1和ER=1,清除全部错误标志后,才能开始搜索同步字符。PC4PC5PC6PC7PC38255APC0PB7PB1PB0PA7PA6PA0PA0+5V0123第0行第1行第2行第3行111ab c d e f gdp第0列第1列第2列第3列456789ABCDEF1K*4111第0位第1位第7位图3.5 键盘/数码管显示接口电路 00:同步方式01:异步方式(X1)10:异步方式(X16)11:异步方式(X64)00:字符长度为5位01:字符长度为6位10:字符长度为7位11:字符长度为8位0:带奇偶校验1:不带奇偶校验0:奇校验1:偶校验异步同步00:无效01:1位停止位 ;:10:1位半停止位11:2位停止位00:2个同步字符,内同步01:2个同步字符,外同步10:1个同步字符,内同步11:1个同步字符,外同步图3.6 8251A方式控制字格式 1:允许发送0:屏蔽发送1:启动搜索0:同步字符1:返回至方 式控制字1:使DTR端 为低电平 1:请求发送使=01:允许接收0:屏蔽接收 1:使全部错误 标志复位1:使得端口TxD=00:正常工作 图3.7 8251A操作命令控制字格式 3.状态控制字 在8251A工作过程中,CPU随时可以用IN指令读取当前8251A的状态控制字,了解8251A的工作情况。状态控制字的格式如图3.8所示。(1) TxRDY:该位是发送准备好标志表示当前发送缓冲器已空。即一旦发送缓冲器已空,该位就置1,它只表示一种8251A当前的工作状态。TxRDY引脚要为高电平必须满足其他两个条件:一是要对8251A发操作命令,使其允许发送, TxEN=1;二是8251A要从Modem输入一低电平使引脚为低电平有效。在数据发送过程中,TxRDY状态和TxRDY引脚信号总是相同的。(2) RxRDY,TxEMPY,SYNDET/BRKDET:3个位状态的定义与其相应的引脚定义相同,可以供CPU随时查询。(3) DSR:该状态位为1时,表示外设或Modem已经作好发送数据的准备,同时发出低电平使8251A的DSR引脚为低电平有效信号。(4) PE:为奇偶错标志位。PE为高电平表示当前发生了奇偶错误,但不影响8251A正常工作。(5) 还没有来得及读取上一个字符时,上一个字符将被丢失,次时置位OE(OE=1),但不影响8251A正常工作。(6) FE:该位为帧校验出错标志。当在字符的结尾没有检测到规定的停止位时,该标志置位(FE=1),FE只对异步工作方式有效,不影响正常工作。(7) PE,OE,FE这3个标志可由操作命令字的ER位为1来全部复位。 DSR SYNDET/ FE OE PE TxEMPY RxRDY TxRDY BRKDET1:发送准备好1:接收准备好1:发送器空奇偶出错标志溢出出错标志帧校验出错标志SYNDETBRKDET1:已达到同步 0:未达到同步1:接收到断缺字符0:工作正常数据装置准备好 图3.8 8251A状态控制字图3.9 8251A原理图TxRDYTxEMPTYTxC 内 部 总 线发送 并-串缓冲器 转换发送控制电路接收 串-并缓冲器 转换接收控制电路 数据总线 缓冲器 读/写控制 逻辑电路 调制/解调 控制电路TxDRxDRxRDYSYNDET- - -RESETCLKC/ 图3.10 8251A内部框图3.4.2 8251A与CPU的接口信号 (1)双向的数据信号线D0-D7:8位,三态,双向数据线,与系统的数据总线相连。传输CPU对8251A的编程命令字和8251A送往CPU的状态信息及数据。(2)片选信号,它由CPU的地址信号通过译码后得到。(3)读/写控制信号 :读信号,为低电平时且有效时CPU从8251A读取数据或状态信息。 :写信号,为低电片时且有效时CPU向8251A写入数据或控制字。 C/:控制/数据信号,分时复用。为低电平时写入方式字,控制字或同步字符;为高电平时写入数据。 RESET:复位信号,为高时强迫8251A进入空闲状态,等待接收模式字。 CLK:时钟输入,内部定时用,大小高于通信速率。 (4)与发送有关的联络信号 TxRDY: 发送器准备好,输出,表明8251的状态。 TxEMPT: 发送缓冲器空,输出,表明8251的状态。 TxC,RxC: 接收发送的时钟,一般用同一脉冲源。在异步方式下,此频率为波特率的若干倍(波特率因子);在同步方式下此频率与波特率相同。 (5)与接收有关的控制信号 RxRDY: 接收器准备好,输出,表明8251的状态。 SYNDET/BRKDET: 同步检测/断路检测,双向。 RxC:接收器时钟信号。 8251A与CPU的接口信号电路如图3.11所示。 80868251A 外设计数器/定时器TxDRxDTxCRxCCLK- 译码 M/IOABC/TxRDYTxERxRDYSYNDETRESET 图3.11 8251A与CPU的接口信号电路 3.4.3 8251A与外部装置之间的接口信号1 (1)数据信号 TxD:发送数据输出端,CPU送来的数据经并串转换后通过TxD输出的外设。 RxD: 接收数据输入端,接收外设送来的串行数据,数据进入8251A后转换为并行数据。 (2)发送数据时的联络信号 RTS (Request to send):请求发送信号、输出、低电平有效。这是8251A向调制解调器或外设发送的控制信息,初始化时由CPU向8251A斜控制命令字来设置。该信号有效时,表示CPU请求通过8251A向调制解调器发送数据。 CTS (Clear to send): 发送允许信号、输入、低电平有效。是调制解调器或外设送给8251A的信号,是对RTS的响应信号。只有当CTS为有效低电平时,8251A才执行发送操作。 RTS和CTS是8251A与通信对方的一对联络信号。 (3)接收数据时的联络信号 DTR (Data Terminal Ready):数据终端准备好信号,低电平有效,输出。初始化时由CPU写控制命令字来实现。该信号有效时,表示为接收数据做好了准备,CPU可以通过8251A从调制解调器接收数据。 DSR (Data Set Ready): 数据装置准备好信号,低电平有效。这是由调制解调器或外设向8251A送入的输入信号,是DTR#的回答信号,CPU可以通过读取状态寄存器的方法来查询DSR是否有效。 DTR和DSR是8251A与通信对方的另一对联络信号。 3.4.4 8251A同步通信1、时钟在串行同步通信中,需要使发送的数据同时带有同步信息,因此,在硬件电路的设计中需要保证数据流中每一个连续不断的数据位均由一个基本时钟控制,并定时在某个特定的间隔上,所以对时钟要求甚严,即使两个工作站的通讯模板上8251A的晶振频率标称值相同,但实际上每个晶振的频率有所差别,8251A时钟频率的误差将导致同步时钟相位的移动,离开要求的位置。为了保证进入同步后相位一直被锁定。另外8251A的CLK这个输入信号用作产生器件内部的定时,它的频率必须比RXC与TXC高30倍。2、发送8251A被初始化完后,在CPU向8251A写一个字符启动发送前,TXD输出端一直处于高平状态,作为8251A启动发送的第一个字符应是SYNC(同步字符)符号。一旦启动了发送,TXD输出端上的数据一定以TXC的频率连续不停地发送。在CPU不能及时向传送缓冲器写数之时,SYNC符号将自动插入到TXD数据流中,以保持TXD上有数据连续不断的发送。3、接收同步接收有外同步和内同步两种方式(初始化时,在方式字中设定,本例设为内同步)。(1)内同步方式下:命令字的ENTER HUNT位置上的数据在RXC的上升没被采样RXC 缓冲器与同步字符比较,直到相同为止(若8251A被设置为双SYNC方式,则要与第二同步字符比较)。8251A结束HUNT搜索同步字符状态进入同步状态,处于字符同步中,然后把SYNDET引脚置为高电平。表明接收方已与发送方同步上。(2)外同步方式:外同步方式是发送方接收主SYNDET脚施加一高电平的方法,迫使脱离HUNT方式,实现发送方与接收方的同步。3.4.5 8251A的初始化 (1)芯片复位以后,第一次用奇地址端口写入的值作为模式字进入模式寄存器。(2)如果模式字中规定了8251A工作在同步模式。(3)由CPU用奇地址端口写入的值将作为控制字送到控制寄存器,而用偶地址端口写入的值将作为数据送到数据输出缓冲寄存器。其框图如图3.12所示:复位输出模式字同步方式输出命令字复位传送数据传送完输出第一个同步字符双同步输出第二个同步字符是是否是否是否图3.12 8251A的初始化3.5 8086CPU模块当8086CPU与存储器和外设构成一个计算机的硬件系统时,根据所连的存储器和外设的规模,8086可以有两种不同的组态(模式):最小组态和最大组态。不同的组态下,CPU的引脚功能是不同的。微处理器的数据总线的负载能力是有限的。如果有众多的部件挂在数据总线上,往往需要在数据总线上接一个双向总线数据缓冲/驱动器来传输数据,使数据经放大后再传输给需要该数据的部件。微机系统在信息传输的过程中,往往需要利用数据锁存器对“短暂 ”信号进行锁存,以达到时间上的扩展,保证让接收方有足够的时间接收和处理。图3.13 8086原理图3.5.1 8086CPU的输入与输出常用输入装置有: 键盘、扫描仪等。常用输出装置有: CRT、打印机等。 磁盘、磁带既可做输入也可做输出。微处理器与外设的连接都是通过输入输出接口电路进行的。由于外设的功能多种多样,原理不同,工作速度不同,因此接口电路也是多种多样。接口电路分为并行接口和串行接口。如:8255A、A/D及D/A等接口已在前面有一些基本的介绍。CPU对外设的寻址有两种: (1)存储器和端口统一编址寻址方式 把一个外设端口当作存储器的一个单元来看待,每个外设端口占有存储器的一个地址。从外设输入一个数据,看作存储器一次读操作;向外设输出一个数据,看作存储器一次写操作。这种方式优点:内存和外设的地址由一个译码器解决
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 难点详解公务员考试《常识》专项测评试卷(附答案详解)
- 宁波百隆纺织有限公司校园招聘模拟试题附带答案详解及答案1套
- 来宾市法院2025年招聘聘用制书记员考前自测高频考点模拟试题0
- 新学期新起点秋季开学第一课-主题班会
- 正规氯气采购合同范本
- 广东地区施工合同范本
- 妇保院防疫知识培训会课件
- 租赁仓储服务合同范本
- 妇产科盆腔炎性疾病课件
- 2025年公安院校招警考试题库(附答案)
- 电力工程竣工验收报告
- 黑龙江小学生诗词大赛备考试题库400题(一二年级适用)
- 《HSK标准教程1》第4课课件
- 双J管健康宣教
- 如何提高美术课堂教学的有效性
- 茂县生活垃圾资源化综合利用项目环评报告
- 水电站新ppt课件 第一章 水轮机的类型构造及工作原理
- 护理查对制度课件
- 市政工程占道施工方案
- GB/T 39965-2021节能量前评估计算方法
- GB/T 20671.1-2006非金属垫片材料分类体系及试验方法第1部分:非金属垫片材料分类体系
评论
0/150
提交评论