资源描述:
《8251a串行接口应用实验(二)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验名:8251A的串行接口应用实验(二)一、实验目的:1、掌握双机通信的原理和编程方法2、进一步学习8251A的使用方法二、实验内容如下图所示,TXC和RXC分别为8251A的发送时钟和接收时钟。它由片外8253A的TCOUT1提供。8251A的片选地址为050~05FH(系统中已连好)。本实验要求以查询方式进行收发。要完成本实验,需2台DVCC-8086JHN实验系统。其中一台为串行发送、一台为串行接收,在1号机上装串行发送程序,在2号机上装串行接收程序,则在1号机上键入的字符显示在2号机的显示器上。由于本系统监控中已对8253A、82
2、51A进行初始化,因此本实验可以直接进入对串行口状态的查询。三、实验原理图四、实验步骤1、准备2台DVCC-8086JHN,确定1号为发送,2号为接收。2、将1号RXD插孔和2号的TXD插孔相连。3、将1号TXD插孔和2号的RXD插孔相连。4、将1号GND插孔和2号的GND插孔相连(共地)。5、先运行2号机,显示器显示"8251-2",进入等待接收状态。6、再运行1号机,显示器显示"8251-1",进入串行发送状态。。7、在1号机的键盘上输入数字键,在2号机显示器上显示对应数字值。8、输入数字键后再按EXEC键,1号机显示"8251good
3、"。如果不输入数字键直接按EXEC键,则显示"Err",如果双机通信不能正常进行,也显示"Err1"。五、实验源程序CODESEGMENTASSUMECS:CODESTART:JMPSERIALCONTPORTEQU00DFHDATAPORTEQU00DEHSECOPORTEQU0051HSEDAPORTEQU0050HDATA0EQU0500HDATA1EQU0508HDATA2EQU0510HDATA3EQU0518HDATA4EQU0520HSERIAL:CALLFORMATMOVSI,DATA2CALLLEDDISP;DISP825
4、1-1MOVBYTEPTRDS:[0601H],0HMOVWORDPTRDS:[0602H],0HKEY0:MOVDX,CONTPORTINAL,DXTESTAL,07HJZKEY0MOVCX,0FFFHDELAY1:LOOPDELAY1MOVDX,CONTPORTMOVAL,40HOUTDX,ALMOVDX,DATAPORTINAL,DXMOVDI,AXANDAL,0F0HJZKEY1;DATAKEYMOVAX,DICMPAL,10HJNZKEY0CMPWORDPTRDS:[0602H],0000HJZSERERR1MOVSI,DATA3
5、CALLLEDDISPJMPSERENDSERERR1:MOVSI,DATA1CALLLEDDISPJMPSERENDKEY1:CALLCONVERSWATTXD:MOVDX,SECOPORTINAL,DXTESTAL,01HJZWATTXDMOVAL,BYTEPTRDS:[0601H]MOVDX,SEDAPORTOUTDX,ALWATRXD:MOVDX,SECOPORTINAL,DXTESTAL,02HJZWATRXDMOVDX,SEDAPORTINAL,DXCMPBYTEPTRDS:[0601H],ALJZKEY2MOVSI,DATA0
6、CALLLEDDISPSEREND:JMPSERENDKEY2:ADDBYTEPTRDS:[0602H],01HJMPKEY0CONVERS:MOVBH,0HMOVAX,DIANDAL,0FHMOVBL,ALMOVAL,CS:[BX+DATA4]MOVBYTEPTRDS:[0601H],ALRETLEDDISP:MOVAL,90HMOVDX,CONTPORTOUTDX,ALMOVBYTEPTRDS:[0600H],00LED1:CMPBYTEPTRDS:[0600H],07HJALED2MOVBL,DS:[0600H]MOVBH,0HMOV
7、AL,CS:[BX+SI]MOVDX,DATAPORTOUTDX,ALADDBYTEPTRDS:[0600H],01HJNZLED1LED2:RETFORMAT:MOVBX,0MOVWORDPTRDS:[BX+0500H],5050HADDBX,2MOVWORDPTRDS:[BX+0500H],0079HADDBX,2MOVWORDPTRDS:[BX+0500H],0000HADDBX,2MOVWORDPTRDS:[BX+0500H],0000HADDBX,2MOVWORDPTRDS:[BX+0500H],5006HADDBX,2MOVWO
8、RDPTRDS:[BX+0500H],7950HADDBX,2MOVWORDPTRDS:[BX+0500H],0000HADDBX,2MOVWORDPTRDS:[BX+0500H