实验七,双机串行通信.docVIP

  • 53
  • 0
  • 约4.49千字
  • 约 8页
  • 2017-03-09 发布于重庆
  • 举报
实验七,双机串行通信

实验七、双机串行通信 实验目的 1、熟悉微机接口实验装置的结构及使用方法 2、掌握通信接口芯片8251和8250的功能和使用方法 3、学会串行通信程序的编制方法 二、实验仪器 PC实验箱及连接线 两台计算机 9针接头串行电缆 芯片介绍(见实验七) 实验内容 实验原理图和接线同图4.12和4.13,不同的是要将串行电缆从实验箱上的RS-232接口连接到另外一台计算机上的串口,两台机子通过8250和8251进行字串信息的相互传输。 两台机子分别设置为发送和接收状态,发送端从键盘输入一段字符信息送8250或8251,接收端则从8251或8250接收一段字符。发送和接收结束后回到主选菜单,可进行再次通信。在发送和接收过程中,有一个出错处理过程,采用接收方回传和发送方确认来保证发送和接收正确。 预习要求 1、熟悉8250和8251的工作原理 2、熟悉实验原理 3、编制实验要求的汇编语言源程序 五、程序流程图和程序清单 主程序 开始 初始化 主菜单 是1 发送子程序 N 是2 接收子程序 N 是3 出错信息显示 N 结束 发送子程序: 输入要发送信息(字符串) 发送信息长度 接受一个字符 是发送信息长度 发送出错标志 Y 置SI 信息段首址 发送[SI] 接收一个字符 是刚才发送字符 发送出错标志 Y 发送字符数 信息长度 INC SI Y 返回主程序 3、接收子程序: 接收一个字符并送CX 发送刚才接收字符 接受一个字符 是出错标志 N 送字符到缓冲区[DI] 发送刚才接收字符 已接收字符数 CX 显示缓冲区字符串 返回主程序 N 接收一字符 是出错标志 接收一字符 N INC DI 程序清单: ;SY51-2.ASM TIMCTL EQU 293H TIMER0 EQU 290H CLK EQU 3000 BPS EQU 9600 FACTOR EQU 16 DATA51 EQU 280H CTRL51 EQU 281H DATA50 EQU 2F8H DRL50 EQU 2F8H DRH50 EQU 2F9H IER50 EQU 2F0H IIR50 EQU 2FAH LCR50 EQU 2FBH MCR50 EQU 2FCH LSR50 EQU 2FDH MSR50 EQU 2FEH DIVL EQU 0CH DIVH EQU 00H DATA SEGMENT MESS1 DB PRESS 1 TO SEND MESSAGE!,0AH,0DH DB PRESS 2 TO RECEIVE MESSAGE!,0AH,0DH DB PRESS 3 TO QUIT!,0AH,0DH,0AH,0DH,$ ERROR DB *****PLEASE SELECT AGAIN!*****,0AH,0DH,$ MES1 DB Sending message......,0AH,0DH,0AH,0DH,$ MES2 DB Receiving message......,0AH,0DH,0AH,0DH,$ MESS2 DB 50 DB MES DB 50 DUP MESS3 DB 50 DUP BUF1 DB BUF2 DB DATA ENDS STACK SEGMENT PARA STACK DB 128 DUP STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX CALL SETTIM CALL INIT51 CALL INIT50 AG: LEA DX,MESS1 MOV AH,09H INT 21H AG1: MOV DL,0FFH ;显示提示信息, MOV AH,06H ;进行菜单选择 INT 21H JZ AG1 CMP AL,1 JZ SD CMP AL,2 JZ RC CMP AL,3 JZ EXIT LEA DX,ERROR MOV AH,09H INT 21H JMP AG SD: CALL SEND JMP AG RC: CALL RECE JMP AG EXIT: MOV AX,4C00H INT 21H SEND PROC ;发送子程序 MOV AH,09H LEA DX,MES1 INT 21H ;显示提示信息 MOV AH,0AH LEA DX,MESS2 INT 21H ;从键盘输入字串信息 MOV CL,MESS2[1] LOP1: MOV AL,CL MOV BUF1,AL CALL SED ;发送一个字符(字

文档评论(0)

1亿VIP精品文档

相关文档