文档详情

接口技术课程设计-双机串行通讯..doc

发布:2017-01-10约7.03千字共13页下载文档
文本预览下载声明
一、设计题目 双机通过两台试验箱串行通讯 二、设计目的 1、掌握8088/86实验串行口通信的方法。 2、了解实现串行通讯的硬环境、数据格式的协议、数据交换的协议。 3、学习串行口通讯程序编写方法。 三、设计原理及方案 1、8251A的基本性能 8251A是可编程的串行通信接口芯片,基本性能有: (1).两种工作方式:同步方式,异步方式。同步方式下,波特率为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).提供出错检测 2、8251A的内部结构 发送器由发送缓冲器和发送控制电路两部分组成。接收器由接收缓冲器和接收控制电路两部分组成。数据总线缓冲器,读/写控制电路,调制解调控制电路。 8251A内部结构图 3、8251外部引脚图 8251的外部引脚下图所示,共28个引脚,每个引脚信号的输入输出方式如图中的箭头方向所示。 8251外部引脚图 4、8251A的编程 编程的内容包括两大方面: 一是由CPU发出的控制字,即方式选择控制字和操作命令控制字; 二是由8251A向CPU送出的状态字。 (1)、方式选择控制字(模式字) 方式选择控制字的格式如图所示。 (2)、操作命令控制字(控制字) 操作命令控制字的格式如下: (3)、状态字 状态字的格式如下: 5、8251A的初始化 8251的初始化和操作流程下图所示。 8251初始化流程图 a)芯片复位以后,第一次用奇地址端口写入的值作为模式字进入模式寄存器。 b)如果模式字中规定了8251A工作在同步模式, c)由CPU用奇地址端口写入的值将作为控制字送到控制寄存器,而用偶地址端口写入的值将作为数据送到数据输出缓冲寄存器。 四、实现方法 1、程序流程图如下: 主程序 串口发送子程序 2、连线图 连线 连接孔1 连接孔2 1 KEY/LED_CS CS0 2 8251_CS CS1 3 8251_TxCLK 1MHz 4 8251_RxCLK 1MHz 5 8251_CLK 10MHz 6 甲方8251_TXD 乙方8251_RXD 7 甲方8251_RXD 乙方8251_TXD 8 甲方GND 乙方GND 3、8251A操作过程流程图 8251A操作过程流程图 4、试验程序(见附录) 五、实施结果 双机串行通信实现了数据的双项收发。在一台小键盘键入字符,在本机的LED数码显示管上显示出来,并由8251A的发送端发送给另一台的 8251A的接收端接收,然后在另一台LED数码显示器上显示出来。同样另一台也可做发送端发送字符。 六、改进意见及建议 本次课程设计是通过8251的收发功能将两个试验箱实现串行通讯,我们组顺利实现了两台机箱的同时发送和接收数据的双机通讯。而在本次试验中发送的一直都是一个字符而不能发送多位字符,我希望改进的是可以发送任意长短的字符,由用户自己定义。 七、个人所做贡献 在本次试验中我负责程序的查找、修改和调试,我们在网上查找,在本机实验程序中查找,修改,在一条一条指令的研究后,在询问了别人意见后,最后定下了附录里的这段程序。 八、设计体会 回顾起此次接口课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整一星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说8251A芯片的使用,软件的应用技巧,对汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。 十、附录 试验程序代码
显示全部
相似文档