收藏 分销(赏)

微机原理与接口技术--双机通讯.doc

上传人:a199****6536 文档编号:2669083 上传时间:2024-06-04 格式:DOC 页数:9 大小:179.51KB 下载积分:6 金币
下载 相关 举报
微机原理与接口技术--双机通讯.doc_第1页
第1页 / 共9页
微机原理与接口技术--双机通讯.doc_第2页
第2页 / 共9页


点击查看更多>>
资源描述
石河子大学 信息科学与技术学院 <微机原理与接口技术>课程设计报告 2013—2014学年第二学期 题目名称: 通过串口实现双机通信 专 业: 计算机科学与技术 班 级: 计算机科学与技术2012( 4 )班 学 号: 2012620192 、2012620193 学生姓名: 魏 绍 钰 、黄 河 指导教师: 李栓明 【实验目的】 2 【实验要求】 2 【实验设备】 2 【实验内容】 3 【设计思想】 3 【程序模块介绍】 5 发送方程序模块: 5 接收方程序模块: 5 代码 6 一号机实验程序 6 二号机实验程序 7 【实验步骤】 9 【心得体会】 9 双机通讯实验 【实验目的】 1.进行全面综合,系统的训练,巩固课堂教学内容。 2.熟练掌握汇编语言常用指令及主法规则。 3.掌握汇编语言程序结构,提高调试能力。 4.软件与硬件配合使用,熟悉常用接口芯片。 【实验要求】 用串口8250,编程实现两台计算机近距离通信,一台为发送方,另一台为接收方 【实验设备】 1、TDN86/88微机教学系统两台。 2、一组排线。 【实验内容】 用排线将两台仪器相连,具体连线如下图所示。 其中一号机用作接收机,二号机用作发送机。实验目的是将二号机 中的3000~3009H十个单元中的代码传送到一号机的3000~3009H 单元中,1、2号机各自的实验程序如下: 【设计思想】 用串口电缆将两台机算机的COM2连接起来,把计算机设置成空MODEM方式,并为此编制了两个汇编语言程序:其一为数据发送程序;其二为数据接收程序。为了确保每个字符发送出去,并且被接收,发送接收双方的波特率设置一致,并且均采取查询方式进行下一步操作。接收数据程序只需执行一次,即驻留在内存中,此后,只要Ⅱ号计算机有数据要发送,则Ⅰ号机随时接收并显示在屏幕上。 本次设计中信息的传送采取查询方式,并且两台计算机是单工工作方式(一方发送,一方接收),这样简化了程序设计过程。 换行 开始 程序初始 显示提示信息 初始化8250,设定传输率 有键入? 选1? 选2? Y N N Y 提示出错 Y N 调用程序1,发送字符 返回dos状态 发送方程序 开 始 保护原寄存器内容 显示提示信息 发送器为空? 有键入? Y 读键盘输入 发送并显示 是esc键? 是enter? Y N N 子程序1,发送字符 恢复原寄存器内容 返回 【程序流程图】 N Y 开 始 程序初始化 初始化8250,设定相同的传输率 写入通信线路控制寄存器 禁止所有中断 调用接收子程序 返回dos 接收方程序 错误处理 开 始 保护原寄存器内容 显示接收信息 读状态寄存器,接收有错? 接收到数据? N N Y 输入缓冲器处读数据 显示接收内容 是esc? 是enter? Y 换 行 N Y 恢复原寄存器内容 返回 N 接收子程序 【程序模块介绍】 发送方程序模块: 主程序(main)模块:实现发送方8250对串口1的初始化,主要包括: 1、对波特率的设置(本实验中用9600bps),其实现方式是通过设置和写入分频系数。 2、对通信线路控制寄存器(LCR)的初始化,本实践中采取的是一个起始位,8个数据位,两个停止位起止时数据传送方式(设置8个数据位,为了是简化数据写入及读取的过程,内存一个单元存8个二进制位,不采用奇偶校验位也是为了简化过程)。 3、键盘输入要选择的功能,主要是用INT 21 的0B号功能监测键盘输入,有输入就读取数据,没有则等待。误操作则提示有关信息,提示重新选择。 点对点传送字符(sentchar)模块: 1、 实现发送要传输的字符,并且在已方显示器上显示,用来与对方接收的进行对比。 2、 输入回车符时,按习惯自动输入一个换行符,并且也向对方发送。 3、 当输入ESC时,将通知对方发送过程结束,通知其做好保存及退出程序准备。 此后发送方返回主程序选择界面。 通知模块(informate)和延时(delay)模块 主要是在文件发送结束以后,显示相关信息,并通知对方这一过程结束,退出系统。在必要时进行适当的软件延时。 接收方程序模块: 接收方对两个过程采用的是执行两个不同的程序来完成,没有集成到一起 接收字符模块(receive) 接收到发送方从键盘输入的字符,并显示在显示器上,并进行存盘。当接收到发送方的通知时退出该程序。 简单的错误处理: 1、 在发送方,主要是在选择功能时,考虑到用户可能会进行误操作。处理方式为显示提示信息,提醒用户重新选择。 2、 在接收方,主要是对接收到数据进行判断,看在传送过程中是否发生帧错误,溢出错误等,如果有则显示一个问号。 代码 一号机实验程序 CODE SEGMENT ASSUME CS:CODE START: MOV AL,76H OUT 43H,AL MOV AL,0CH OUT 41H,AL MOV AL,00H OUT 41H,AL CLI CALL INIT CALL DALLY MOV AL,7EH OUT 81H,AL CALL DALLY MOV AL,34H ;清除出错标志,允许接收 OUT 81H,AL CALL DALLY MOV AX,0152H ;显示'R' INT 10H MOV DI,3000H MOV CX,000AH A1: IN AL,81H AND AL,02H JZ A1 IN AL,80H AND AL,7FH MOV [DI],AL INC DI LOOP A1 MOV AL,00H MOV SI,300AH MOV [SI],AL MOV AH,06H MOV BX,3000H INT 10H STI A2: JMP A2 INIT: MOV AL,00H OUT 81H,AL CALL DALLY ;OUT 81H,AL ; CALL DALLY ; OUT 81H,AL ; CALL DALLY OUT 80H,AL CALL DALLY OUT 80H,AL CALL DALLY MOV AL,40H OUT 81H,AL RET DALLY: PUSH CX MOV CX,5000H A3: LOOP A3 POP CX RET CODE ENDS END START; 二号机实验程序 CODE SEGMENT ASSUME CS:CODE START: MOV AL,76H OUT 43H,AL MOV AL,0CH OUT 41H,AL MOV AL,00H OUT 41H,AL CALL INIT CALL DALLY MOV AL,7EH OUT 81H,AL CALL DALLY ; MOV AL,34H MOV AL,31H ;允许发送 OUT 81H,AL CALL DALLY MOV DI,3000H MOV CX,000AH A1: MOV AL,[DI] CALL SEND CALL DALLY INC DI LOOP A1 A2: JMP A2 ;键入CTRL-BREAK退出 INIT: MOV AL,00H OUT 81H,AL CALL DALLY ; OUT 81H,AL ; CALL DALLY ; OUT 81H,AL ; CALL DALLY OUT 80H,AL CALL DALLY OUT 80H,AL CALL DALLY MOV AL,40H OUT 81H,AL RET DALLY :PUSH CX MOV CX,5000H A4: LOOP A4 POP CX RET SEND: PUSH AX MOV AL,31H OUT 81H,AL POP AX OUT 80H,AL A3: IN AL,81H AND AL,01H JZ A3 RET CODE ENDS END START 【实验步骤】 (1)写出程序的流程图。 (2)按图将1、2号机连接起来。 (3)输入程序,并要求2号机用E命令在3000~3009H填入10个字符, 如:30 31 32 33 34 35 36 37 38 39 (4)先运行1号机程序,等待接收数据,然后运行2号机程序,当数据 传送完毕时,1号机显示:R0123456789,用CTRL+C返回监控。 (5)检查1号机的3000~3009H,应和2号机一致。 【心得体会】 通过此次课程设计,对汇编语言的认识,掌握都提高到一个新的水平,熟悉了8088基本指令的使用,掌握了用masm进行编译、连接并模拟运行,对课堂知识起到了很好的补充和巩固。 实验心得有以下几个方面: 1、对程序结构有了更深刻的了解,知道程序运行的基本顺序,对程序的三个部分以及它们之间的连续性理解更加透彻。 2、对汇编语言的运用和认识上:汇编语言的代码虽然简洁,但是程序结构不够清晰,语句使用比较烦,程序可读性不如高级语言。一个简单的操作可能在汇编里面要用好几条语句才能实现。汇编语言的文件操作很难,调试困难,主要是其不具有可视化,内部发生的错误并不可见,而必须通过查看内存来发现。 3、在实验过程中,曾经出现过不同的问题,经过不断的调试、跟踪和修改,部分的问题得到解决,有些问题仍然无法解释,例如在具体操作过程中,使用emu8086调试,曾经遇到程序没有错误,但是却不能实现预期的结果。 4、通过对程序的编写,知道只有亲身动手编写程序、了解程序、读懂程序才能对程序编写过程中出现的问题有所了解,才能更好的解决问题,完善程序的编写。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服