基于单片机的双机通信设计一、实验目的1、掌握双机通信的原理和编程方法。2、学习8251A的使用方法二、实验内容1、实验原理图:2.实验内容如图所示,TXC和RXC分别为8251A的发送时钟和接收时钟。它由片外8253A的OUT1提供。本实验要求以查询方式进行收发。要完成本实验,需2台DVCC系列实验系统。其中一台为串行发送,一台为串行接收,在1号机上装串行发送程序,在2号机上装串行接收程序,则在1号机上键入的字符显示在2号机的显示器上。由于本系统监控中未对8253A、8251A进行初始化,因此本实验开始必须对8253、8251进行初始化,然后才可以直接进入对串行口状态的查询。三、程序系统晶振是6.0MHzORG07F0HSTART:MOVSP,#60HmovA,#02HMOVR0,#79HMOV@R0,AINCR0MOVA,#10HMOV@R0,AINCR0MOVA,#01HMOV@R0,AINCR0MOVA,#03HMOV@R0,AINCR0MOVA,#00HMOV@R0,AINCR0MOVA,#08HMOV@R0,AMOVA,#7EHMOVDPTR,#1FFFHMOVX@DPTR,AMOV87H,#80HMOVSCON,#50H;串口方式1MOVTMOD,#20H;T1方式1MOVTL1,#0F3H;波特率9600的常数MOVTH1,#0F3HSETBTR1;开中断CLRET1CLRESWAIT:JBCRI,DIS_REC;是否接收到数据LCALLDISP;SJMPWAIT;DIS_REC:MOVA,SBUF;读串口接收到的数据LCALLDATAKEY;显示输入的数字(0-F)DB79H,7EHAJMPWAITDATAKEY:MOVR4,AMOVDPTR,#1FFFHMOVXA,@DPTRMOVR1,AMOVA,R4MOV@R1,ACLRAPOP83HPOP82HMOVCA,@A+DPTRINCDPTRCJNEA,01H,DATAKEY2DECR1CLRAMOVCA,@A+DPTRDATAKEY1:PUSH82HPUSH83HMOVDPTR,#1FFFHMOVX@DPTR,APOP83HPOP82HINCDPTRPUSH82HPUSH83HRETDATAKEY2:DECR1MOVA,R1SJMPDATAKEY1DISP:SETB0D4HMOVR1,#7EHMOVR2,#20HMOVR3,#00HDISP1:MOVDPTR,#DATACOMOVA,@R1MOVCA,@A+DPTRMOVDPTR,#0FF22HMOVX@DPTR,AMOVDPTR,#0FF21HMOVA,R2MOVX@DPTR,ALCALLDELAYDECR1CLRCMOVA,R2RRCAMOVR2,AJNZDISP1CLR0D4HRETDELAY:MOVR7,#03HDELAY0:MOVR6,#0FFHDELAY1:DJNZR6,DELAY1DJNZR7,DELAY0RETDATACDB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HDB88H,83H,0C6H,0A1H,86H,8EH,0BFH,0CH,89H,0DEHEND四、实验步骤1、准备2台DVCC系列实验仪,确定1号为发送,2号为接收。2、将1号RXD插孔和2号的TXD插孔相连。3、将1号TXD插孔和2号的RXD插孔相连。4、将1号GND插孔和2号的GND插孔相连(共地)。5、将8253CS插孔和Y4插孔相连,8251CS和Y5插孔相连。6、将SIO区D0—D7和BUS2区XD0—XD7相连。7、先运行2号机,在2号机提示符“P.....”状态下,输入0D00后,再按EXEC键进入等待接收状态,显示器显示“8251—2”。8、再运行1号机,在1号机处于提示符“P.....”状态下,输入0E00H后,按EXEC键,进入串行发送状态。显示器显示“8251—1”。9、在1号机的键盘上输入数字键,应在2号机显示器上显示对应数字值。10、输入数字键后再按MON键,1号机显示“8251good”。如果不输入数字键直接按MON键,则显示“Err”,如果双机通信不能正常进行,也显示“Err”。