-微机原理课程设计报告-双机通讯

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1目录一、设计的目的和意义............................................................................2二、设计环境............................................................................................2三、设计内容和要求................................................................................2四、设计的原理........................................................................................2(一).8251A的基本性能...................................................................................2(二).8251A的内部结构...................................................................................3(三).8251A的引脚功能...................................................................................5(四).8251A的编程...........................................................................................7五、设计方案............................................................................................9六、源文件代码分析..............................................................................10中断接收源程序...................................................................................................10PC机双机串行通信源程序.................................................................................14七、调试过程..........................................................................................17八、运行结果..........................................................................................17九、心得体会..........................................................................................18十、参考文献..........................................................................................192一、设计的目的和意义设计的目的:(1)了解串行通信的一般原理和8251A的工作原理。(2)掌握双机通信的原理和方法。(3)掌握8251A异步串行时的编程应用。(4)了解8253的初始化。(5)巩固和加深在微机原理课程中所学的理论知识。(6)学会查阅相关手册与资料,培养独立分析与解决问题能力。(7)为以后的毕业搭建一个微机系统应用平台。设计的意义:在信息飞速发展的时代,计算机的应用越来越广泛。而微机原理是机械工业控制设备的理论基础,学好了就能在找到一份好一点的工作。理论课程学习是让学生学习基本理论知识,对课程内容和原理有比较深刻的理解,只要从理论上理解,不用考虑实际的可行性。通过本次课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程,不仅需要在理论上能实现而且还要考虑实际的可行性,不能纸上谈兵。二、设计环境PC机两台,串行通信接口8251A两片,串行发送器MC1488和串行接收器MC1489各两片等。三、设计内容和要求设计的内容:在异步方式下,通过串行接口实现两台计算计之间通信。设计的要求:在一台PC机键入字符,从8251A的发送端发送给另一台PC机,另一台PC机的8251A的接收端接收,然后在屏幕上显示出来。四、设计的原理(一).8251A的基本性能8251A是可编程的串行通信接口芯片,基本性能:31.两种工作方式:同步方式,异步方式。同步方式下,波特率为064K,异步方式下,波特率为0~19.2K。2.同步方式下的格式每个字符可以用5、6、7或8位来表示,并且内部能自动检测同步字符,从而实现同步。除此之外,8251A也允许同步方式下增加奇/偶校验位进行校验。3.异步方式下的格式每个字符也可以用5、6、7或8位来表示,时钟频率为传输波特率的1、16或64倍,用1位作为奇/偶校验。1个启动位。并能根据编程为每个数据增加1个、1.5个或2个停止位。可以检查假启动位,自动检测和处理终止字符。4.全双工的工作方式其内部提供具有双缓冲器的发送器和接收器。5.提供出错检测具有奇偶、溢出和帧错误三种校验电路。(二).8251A的内部结构1、发送器发送器由发送缓冲器和发送控制电路两部分组成。采用异步方式,则由发送控制电路在其首尾加上起始位和停止位,然后从起始位开始,经移位寄存器从数据输出线TXD逐位串行输出。8251A内部结构图4采用同步方式,则在发送数据之前,发送器将自动送出1个或2个同步字符,然后才逐位串行输出数据。如果CPU与8251A之间采用中断方式交换信息,那么TXRDY可作为向CPU发出的中断请求信号。当发送器中的8位数据串行发送完毕时,由发送控制电路向CPU发出TXE有效信号,表示发送器中移位寄存器已空。2.接收器接收器由接收缓冲器和接收控制电路两部分组成。接收移位寄存器从RXD引腿上接收串行数据转换成并行数据后存入接收缓冲器。异步方式:在RXD线上检测低电平,将检测到的低电平作为起始位,8251A开始进行采样,完成字符装配,并进行奇偶校验和去掉停止位,变成了并行数据后,送到数据输入寄存器,同时发出RXRDY信号送CPU,表示已经收到一个可用的数据。同步方式:首先搜索同步字符。8251A监测RXD线,每当RXD线上出现一个数据位时,接收下来并送入移位寄存器移位,与同步字符寄存器的内容进行比较,如果两者不相等,则接收下一位数据,并且重复上述比较过程。当两个寄存器的内容比较相等时,8251A的SYNDET升为高电平,表示同步字符已经找到,同步已经实现。采用双同步方式,就要在测得输入移位寄存器的内容与第一个同步字符寄存器的内容相同后,再继续检测此后输入移位寄存器的内容是否与第二个同步字符寄存器的内容相同。如果相同,则认为同步已经实现。在外同步情况下,同步输入端SYNDET加一个高电位来实现同步的。实现同步之后,接收器和发送器间就开始进行数据的同步传输。这时,接收器利用时钟信号对RXD线进行采样,并把收到的数据位送到移位寄存器中。在RXRDY引脚上发出一个信号,表示收到了一个字符。3.数据总线缓冲器数据总线缓冲器是CPU与8251A之间的数据接口。包含3个8位的缓冲寄存器:两个寄存器分别用来存放CPU向8251A读取的数据或状态信息。一个寄5存器用来存放CPU向8251A写入的数据或控制。4.读/写控制电路读/写控制电路用来配合数据总线缓冲器的工作。功能如下:(1)接收写信号WR,并将来自数据总线的数据和控制字写入8251A;(2)接收读信号RD,并将数据或状态字从8251A送往数据总线;(3)接收控制/数据信号C/D,高电平时为控制字或状态字;低电平时为数据。(4)接收时钟信号CLK完成8251A的内部定时;(5)接收复位信号RESET,使8251A处于空闲状态。5.调制解调控制电路调制解调控制电路用来简化8251A和调制解调器的连接。(三).8251A的引脚功能1、8251A和CPU之间的连接信号8251A和CPU之间的连接信号可以分为四类:a)片选信号•CS:片选信号,它由CPU的地址信号通过译码后得到。b)数据信号D0-D7:8位,三态,双向数据线,与系统的数据总线相连。传输CPU对8251的编程命令字和8251A送往CPU的状态信息及数据。c)读/写控制信号6•RD:读信号,低电平时,CPU当前正在从8251A读取数据或者状态信息。•WR:写信号,低电乎时,CPU当前正在往8251A写入数据或者控制信息。•C/D:控制/数据信号,用来区分当前读/写的是数据还是控制信息或状态信息。该信号也可看作是8251A数据口/控制口的选择信号。由此可知,RD、WR、C/D这3个信号的组合,决定了8251A的具体操作,它们的关系如表7-3所示:注:数据输入端口和数据输出端口合用同一个偶地址,而状态端口和控制端口合用同一个奇地址。c)收发联络信号•TXRDY:发送器准备好信号,用来通知CPU,8251A已准备好发送一个字符。•TXE:发送器空信号,TXE为高电平时有效,用来表示此时8251A发送器中并行到串行转换器空,说明一个发送动作已完成。•RXRDY:接收器准备好信号,用来表示当前8251A已经从外部设备或调制解调器接收到一个字符,等待CPU来取走。因此,在中断方式时,RXRDY可用来作为中断请求信号;在查询方式时,RXRDY可用来作为查询信号。•SYNDET:同步检测信号,只用于同步方式。2.8251A与外部设备之间的连接信号8251A与外部设备之间的连接信号分为两类:a)收发联络信号•DTR:数据终端准备好信号,通知外部设备,CPU当前已经准备就绪。•DSR:数据设备准备好信号,表示当前外设已经准备好。•RTS:请求发送信号,表示CPU已经准备好发送。7•CTS:允许发送信号,是对RTS的响应,由外设送往8251A。实际使用时,这4个信号中通常只有CTS必须为低电平,其它3个信号可以悬空。b)数据信号•TXD:发送器数据输出信号。当CPU送往8251A的并行数据被转变为串行数据后,通过TXD送往外设。•RXD:接收器数据输入信号。用来接收外设送来的串行数据,数据进入8251A后被转变为并行方式。3.时钟、电源和地8251A除了与CPU及外设的连接信号外,还有电源端、地端和3个时钟端。•CLK:时钟输入,用来产生8251A器件的内部时序。同步方式下,大于接收数据或发送数据的波特率的30倍,异步方式下,则要大于数据波特率的4.5倍。•TXD:发送器时钟输入,用来控制发送字符的速度。同步方式下,TXC的频率等于字符传输的波特率,异步方式下,TXC的频率可以为字符传输波特率的1倍、16倍或者64倍。•RXD:接收器时钟输入,用来控制接收字符的速度,和TXC一样。在实际使用时,RXC和TXC往往连在一起,由同一个外部时钟来提供,CLK则由另一个频率较高的外部时钟来提供。•VCC:电源输入•GND:地(四).8251A的编程编程的内容包括两大方面:一是由CPU发出的控制字,即方式选择控制字和操作命令控制字;二是由8251A向CPU送出的状态字。1.方式选择控制字(模式字)8方式选择控制字的格式如图所示。2.操作命令控制字(控制字)操作命令控制字的格式如下:3、状态字状态字的格式如下:4.8251A

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功