实验五串行通信.docx

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验五串行通信

实验五串行通信1、实验目的1、复习8250工作原理及其在串行通信中的应用。2、练习使用DOS及BIOS功能调用来编写I/O程序。2、实验要求1、直接对计算机自带的8250芯片编程,将其设置成1200波特率、8个数据位、1个停止位、奇校验规则、自检方式。用DOS功能调用(INT21H)接收键入字符,通过8250 以查询方式发送又自己接收并在CRT 上显示。直至键入空格2、将上程序修改成两台计算机之间以查询方式通信,即一方键入的字符在另一个CRT上显示,反之亦然,任何一方键入空格,双方都退出。3、(选作)监视键盘,若键入字母键“S”则将事先存在数据区中的一个字符串串行传送给对方显示;若键入字母“R”则将对方机器数据区中的一个字符串传送过来在CRT上显示。两个字符串都以′$′为结束符。3、实验代码任务一:DATA SEGMENTMESS1 DB RECEIVED:,$MESS2 DB DONE,0DH,0AH,$DATA ENDSSTACK SEGMENT STACKDB 100 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK;输出回车换行CRLF MACROPUSH AXPUSH DXMOV DL,0DHMOV AH,2INT 21HMOV DL,0AHMOV AH,2INT 21HPOP DXPOP AXENDMSTART:MOV AX,DATAMOV DS,AXMOV ES,AX;设置波特率为1200MOV DX,3FBH;MOV AL,80HOUT DX,AL;DLAB=1MOV DX,3F9HMOV AL,0OUT DX,ALMOV DX,3F8HMOV AL,60HOUT DX,AL;设置数据格式MOV DX,3FBHMOV ALOUT DX,AL;设置操作方式MOV DX,3FCHMOV ALOUT DX,AL;屏蔽所有中断MOV DX,3F9HMOV AL,0OUT DX,AL;查询式通信KEEP_TRY:MOV DX,3FDHIN AL,DXTEST AL,1EH;出错否JNE ERR;转出错处理TEST AL,1;接收数据就绪否JNZ RECEIVE;转接收TEST AL,20H;发送器空否JZ KEEP_TRYMOV AH,1INT 21H;接收键盘输入CMP AL,20H;空格否JE EXIT;转退出MOV CL,AL;存入CLMOV DX,3F8H;发送数据MOV AL,CLOUT DX,ALJMP SHORT KEEP_TRY;接收RECEIVE:LEA DX,MESS1;输出提示信息MOV AH,9INT 21HMOV DX,3F8HIN AL,DXMOV AH,0EH;输出接收字符INT 10HCRLFJMP KEEP_TRY;出错处理ERR:MOV DX,3F8H;读出错误字符IN AL,DXMOV AL,?;显示?MOV AH,14INT 10HJMP KEEP_TRY;退出EXIT:LEA DX,MESS2;输出结束信息MOV AH,9INT 21HMOV AH,4CH;返回DOSINT 21HCODE ENDSEND START任务二:DATA SEGMENTMESS1 DB RECEIVED:,$MESS2 DB DONE,0DH,0AH,$DATA ENDSSTACK SEGMENT STACKDB 100 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKCRLF MACROPUSH AXPUSH DXMOV DL,0DHMOV AH,2INT 21HMOV DL,0AHMOV AH,2INT 21HPOP DXPOP AXENDMSTART:MOV AX,DATAMOV DS,AXMOV ES,AX;设置波特率为1200MOV DX,3FBH;线路控制寄存器地址MOV AL,80HOUT DX,AL;DLAB=1 ;设置写除数标志MOV DX,3F9H;高位除数寄存器MOV AL,0OUT DX,ALMOV DX,3F8H;低位除数寄存器MOV AL,60HOUT DX,AL;设置数据格式MOV DX,3FBHMOV ALOUT DX,AL;设置操作方式MOV DX,3FCHMOV ALOUT DX,AL;屏蔽所有中断MOV DX,3F9HMOV AL,0OUT DX,ALKEEP_TRY:MOV DX,3FDHIN AL,DXTEST AL,1EH;出错否JNE ERR;转出错处理TEST AL,1;接收数据就绪否JNZ RECEI

文档评论(0)

189****7685 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档