PC机双机串行通信_第1页
PC机双机串行通信_第2页
PC机双机串行通信_第3页
PC机双机串行通信_第4页
PC机双机串行通信_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、完成日期:2012年1月2日t=r.号:级:信息科学与技术学院微机原理与接口技术课程设计报告200908220309级(01)班题目名称:PC机与PC机间进行串行通信学生姓名:吴森业:计算机科学与技术完成日期:2012年1月2日指导教师:裘祖旗张更新精选文库-3 -.-3.-3.-3.-3.-4.-5.-6.-7.-7.-8-10-10-10-11目录一. 设计任务与技术要求:.二. 课程设计总结报告正文.1. PC机间串行通信测试1.1设计思路 .1.2程序框图 .1.3程序清单 .2. PC机间进行字符动画控制2.1设计思路 .2.2程序框图 .2.3从机程序清单 .3.程序分析 .4.调

2、试步骤 .5.开发心得 .三. 参考文献.精选文库-4 -.设计任务与技术要求:A.A.PCPC与PCPC机能进行串行通信;B.B.一台PCPC机能对另一台PCPC机进行字符动画控制 扩展功能:制定一定的通信协议本串行通信程序利用汇编语言通过 BIOSBIOS中断调用和DOSDOS功能调用实现PCPC机双机 串行通信。其中,上位机和下位机串行口均为辅串口COM2COM2 (口地址为2FXH2FXH),对外用9 9针连接器与令一台PCPC机连接;BIOSBIOS通过“INTINT 14H14H” 4 4个中断服务子程序,分别完 成串口初始化编程、发送一帧数据、接受一帧数据以及测试通信线状态。本程

3、序分为 PCPC机串口自动测试程序(目的是测试串口好坏)和PCPC机全双工双机通信程序两个部 分。二.课程设计总结报告正文1. PC机间串行通信测试对PCPC机主串口进行外环自动测试,要求:(1)调用BIOSBIOS通信软件,采用查询方式编程,将下列测试电文1010行由主串口发出, 经外环连接线再由主串口接受送屏幕显示。测试电文如下:THETHE QUICKQUICK BROWNBROWN FOXFOX JUMPSJUMPS OVEROVER LAZYLAZY DOGDOG(2) 通信速率为12001200波特,一帧字符有8 8个数据位,1 1个停止位,无校验。1.11.1设计思路由于调用BI

4、OSBIOS通信软件发送和接受数据,因此主串口 RS-232CRS-232C连接器必须按图1 1 ( (a a) 连线。精选文库-5 -2 23 344 45 54-6 6202047 7(a)有联络线自发自收图1串行通信RS-232C连接器连线方式测试电文译为:狡猾的褐色狐狸越过懒狗的背。它是国际电报通信常用的测试电文, 电文包含了 2626个字母,又称狐狸电文。在一条报路上长时间的循环发送这条电文,接 收方统计在一定时间内的差错率,即可知道报路的通信质量。1.21.2程序框图程序框图如图2 2所示。精选文库-6 -图2 PC机间串行通信测试程序框图1.31.3程序清单DATA TEXT L

5、LL ERRORDATASEGMENTDBEQU $ - TDBENDSTHE QUICK BROWN FOX JUMPS OVER LAZY DOGEXTCOM2 BAD! ,0DH,0AH,$i,0DH,0AHCODESEGMENTASSUMECS: CODE, DS: DA TABEG:MOVAX, DATAMOVDS, AXCALL18250;辅串口初始化MOVCH,10;电文行数送CH精选文库-7 -如果辅串口是好的,程序执行后自动屏显1010行测试电文,否则将屏显“COM2COM2 BADBAD !”。2.PC机间进行字符动画控制利用汇编语言进行编程,实现两台计算机间数据的异步串行

6、发送和接受,要求:(1 1)上位机接收键盘输入的a a、b b两个参数,将参数的值通过计算机的串行口传输到 下位机,同时接受下位机的计算结果;下位机接受到 a a、b b值后,计算y y = = ax+bax+b,同时将 结果传输到上位机。(2 2)上位机在线修改a a b b的值,下位机能随之相应。(3 3)界面能够清晰的反映操作步骤和操作结果。AGAIN:MOVMOVCL,LLLBX, OFFSET TEXT;电文长度送CLSEND:MOVAL, BX;取数据MOVAH, 1;BIOS调用MOVDX, 1INT14H;发送一个数据TESTAH, 80H;发送成功否?JNZDIS PERR;

7、否,转出错处理RECEIVE:MOVAH, 2;BIOS调用MOVDX, 1INT14H;接受一个数据TESTAH, 80H;接受成功否?JNZDIS PERR;否,转出错处理DIS P:MOVAH, 2MOVDL, ALINT21H;接受字符送屏幕显示INCBXDECCL;电文长度计数JNZSENDDECCH;行计数JNZAGAINJMPEXITDIS PERR:MOVAH, 9MOVDX, OFFSET ERRORINT21H;显示出错信息EXIT:MOVAH, 4CHINT21H;返回DOSI8250P ROCMOVAX, 0083H;波特率1200,无校MOVDX, 1;使用辅串口IN

8、T14HRETI8250END PCODEENDSENDBEG,8位精选文库-8 -(1 1) 序。(2 2)(3 3)程序框图如图3 3所示。关中斷埔串LILI初始牝祝$94$94开放辅串口中斷 S S愀IHIH世中斯向S S 幵申斷通信联紹imHimH型中断服毎程序 廉护现场辅申口肃显接收字符-巴平”汁A联络尿功?-发送器空闲中断给束甜令今ZLBISMA恢复现场IRFTIRFT2.12.1设计思路 数据发送采用查询方式,数据接受采用中断方式,对端口直接操作编写通信程 上位机传输a a b b两个参数时,回车后方为有效参数。EscEsc为通信结束字符,当双方都键入 EscEsc的时候结束通信

9、,各自返回 DOSDOS。通 信结束时,双方不可能同时按下 EscEsc键,必然是有先有后,反送方必须保证通信字符能 够完整的传送到对方,这些都必须在程序中考虑进去。(4 4)通信速率24002400波特,一帧字符有8 8个数据位,1 1个停止位,无校验。2.22.2程序框图T恢良型中斷向虽 返冋rxrx净图3 PC机间进行字符动画控制从机程序框图取健入字能 -2.X F F h h今辅审n n対力專讥:精选文库-9 -2.32.3从机程序清单DIS PACROMOV MOVINT ENDMVARAH, 9DX, OFFSET VAR21HDATASEGMENTOLDOBDD?MESG1DBP

10、lease wait a minute, 0DH, 0AH, $MESG2DBCommunication line bad! ,0DH, 0AH, $MESG3DBOk!, ODH, 0AH, $TTTDD1000000DATAENDSCODESEGMENTBUFDB?ASSUMES: CODE, DS: DA TABEGMOVAX, DATAMOVDS, AXCLICALLI8250;8250初始化CALLI8259;开放辅串口中断CALLRW0B;置换0BH型中断向量STIMOVSI, 10AGA:DIS PMESG1;显示等待信息MOVDX, 2FEH;读MODEM状态寄存器INAL,

11、DXANDAL, 00110000BCMPAL,30H;DSR、CTS引脚为逻辑0?JEOK;联络成功,转OKCALLDELAY;延时1sDECSIJNZAGADIS PMESG2;显示通信线路坏JMPRETURNOK:DIS PMESG3;显示OKSCANT:MOVDX, 2FDH;读通信线状态寄存器INAL, DXTESTAL, 20H;发送保持寄存器空闲否?JZSCANT;否,转 SCANTMOVAH, 1INT16H;有键入否?JZSCANT;否,转 SCANTMOVAH, 0INT16H;取键入字符x的ASCII送ALSUBAL, 60H;将x变换为十六进制数MULCL;计算a*xA

12、DDAL, CH;计算 y=ax+bADCAX, 3030H;将y变换为ASCII码MOVDX, 2F8HOUTDX, AL;发送y的低字节MOVAL, AHOUTDX, AL;发送y的高字节CMPAL, 1BH;是Esc否?JNZSCANT;否,转 SCANTWWW:MOVDX, 2FDH精选文库-10 -INAL, DX;读通信状态寄存器TESTAL, 40H;发送移位寄存器是否为空?JZWWW;否,转WWWLAST:CMPCS: BUF, 1BH;受到对方Esc否?JNZLAST;否,转LASTRETURN:CALLRESETMOVAH, 4CHINT21HRECEIVEP ROCP U

13、SHAX;保护现场P USHDX;保护现场MOVDX, 2F8HINAL, DX;接受数据MOVCX: BUF, AL;送BUF单元保存NEXT:MOVAH, 0EHINT10H;屏幕显示CMPAL, 0DH;是否回车?JNEEXIT;否,转EXITMOVCH, CL;是,参数a、b顺次MOVCL, AL;存入CL、CHMOVAL, 0AHINT10H;补送换行EXIT:MOVAH, 20H;中断结束命令OUT20H, AL;送8259命令寄存器POPDX;恢复现场POPAX;恢复现场IRET;中断返回RECEIVEEND PI8250P ROCMOVAX, 00A3HMOVDX, 1INT1

14、4HMOVDX, 2F9HMOVAL, 01HOUTDX, AL;允许接收中断MOVDX, 2FCHMOVAL, 00001011BOUTDX, AL;令RTS、DTR端为逻辑RETI8250END PI8259P ROC;开放辅串口中断INAL, 21HANDAL, 11110111BOUT21H, ALRETI8259END PRW0BP ROCMOVAX, 350HBH;置换0BH型中断向量INT21HMOVWORD PTR 0LD0B, BXMOVWORD PTR 0LD0B+2, ESP USHDSMOVAX, CODEMOVDS, AXMOVDX, OFFSET RECEIVEMO

15、VAX, 250BHINT21HPOPDSRETRW0BEND P0精选文库-11 -RESETP ROCMOVDX, WORD PTR 0LD0BMOVDS, WORD PTR 0LD0B+2MOVAX, 250BHINT21HMOVDX, 2FCHMOVAL, 0OUTDX, ALRETRESETEND PDELAYP ROCMOVAH,86HMOVCX, WORD PTR TTT+2MOVDX, WORD PTR TTTINT15HRETDELAYEND PCODEENDS ENDBEG;恢复OBH型中断向量;令RTS、DTR端为逻辑1;延时1s3.程序分析进行通信联络要采取两项措施:其

16、一,在 82508250初始化子程序中,响 MODEMMODEM控制 寄存器写入命令字时,令 D Di位为1 1,D Do位为1 1,从而使RS-232CRS-232C的RTS端子、DTR端 子输出逻辑0 0,通知对方本端已经做好了数据发送和数据接受的准备工作;其二,对方 在程序执行后,读取MODEMMODEM状态寄存器的内容,检查 D D5、D D4位,这两位都为1 1,说 明线路畅通,可以运行通信程序。4.调试步骤程序调试要分两步进行,首先在单机上调试,按照图 1 1( a a)连线,使辅串口具有自 发自收的外部环境,在这个环境下调试“ PCPC机间串行通信测试程序”,调试成功后,再 在双机连同的环境下调试“ PCPC机间进行字符动画控制程序”。双机连通实验时,先在一 端执行程序,令一端暂不运行,以便观察屏幕的错误信息。5.开发心得通过这次课程设计,我拓宽了知识面,锻炼了能力,综合素质得到较大提高。安排课 程设计的基本目的,在于通过理论与实际的结合,人与人的沟通,尤其是观察、分析和 解决问题的实际工作能力。作为整个学习体系的有机组成部分,课程设计并不是独立的。 它的一个重要功能,在于运用学习成果,检验学习成果,把课堂上学到的系统化的理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论