资源描述:
《串行通信实验16550》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、(一)实验名称串行通信实验16550(二)实验内容1)串行通讯基础实验。编写程序,向串口连续发送一个数据(55H),将串口输出连接到示波器上,用示波器观察数据输出产生的波形。2)串口自发自收应用实验。编写程序,将一串数据发送至串口,再接收回来显示。(三)实验目的1)学习和掌握有关串行通信的知识2)学习和体会16550的工作原理、工作方式,利用其进行应用编程3)学习和掌握PC机串口的操作方法(四)实验日期、时间和地点2011—1—46,7节2011-1-71,节微机高级实验室(五)实验环境(说明实
2、验用的软硬件环境及调试软件)PC机一台,PIT-B实验箱一套,TDPIT、td-debug软件环境一套(六)实验步骤(只写主要操作步骤,要简明扼要,还应该画出程序流程图或实验电路的具体连接图)一:二:自发自收(一)实验结果(经调试通过的源程序的所有代码,应包含必要的说明文字)MY_03F8EQU0E480HMY_03FBEQU0E483HMY_03FDEQU0E485HDATASSEGMENTNUMDB55H;此处输入数据段代码DATASENDSSTACKSSEGMENTDW10DUP(0);此
3、处输入堆栈段代码STACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AX;初始化16550MOVDX,MY_03FB;16550控制寄存器地址送DXMOVAL,80H;置DLAB=1,设置除数寄存器OUTDX,ALCALLDALLYMOVDX,MY_03F8;除数寄存器地址送DXMOVAX,03C0H;波特率为1200bit/sOUTDX,ALCALLDALLYMOVAL,AHINCDXOUT
4、DX,ALCALLDALLYMOVDX,MY_03FB;16550控制寄存器地址送DXMOVAL,0BH;8位数据位,奇校验,1位停止位OUTDX,ALCALLDALLYCALLGOMOVAH,4CHINT21HGOPROCNEARLOP1:MOVDX,MY_03FD;通信状态寄存器地址送DXINAL,DXCALLDALLYTESTAL,20H;检测发送器是否准备就绪JZLOP1LOP2:MOVDX,MY_03F8MOVAL,NUMOUTDX,ALCALLDALLYCALLBREAKJMPLOP
5、2RETGOENDPDALLYPROCNEARPUSHCXPUSHAXMOVCX,0100HD1:MOVAX,1000HD2:DECAXJNZD2LOOPD1POPAXPOPCXRETDALLYENDPBREAKPROCNEARMOVAH,06HMOVDL,0FFHINT21HJERETURNMOVAX,4C00HINT21HRETURN:RETBREAKENDPCODESENDSENDSTART二:自发自收MY_03F8EQU0E480HMY_03FBEQU0E483HMY_03FDEQU0E
6、485HMY_03FCEQU0E48CHDATASSEGMENTSTR1DB'thisisgood'LENEQU$-STR1STR2DB20DUP(0),'$';此处输入数据段代码DATASENDSSTACKSSEGMENTDW10DUP(0);此处输入堆栈段代码STACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AXMOVAX,STACKSMOVSS,AX;初始化16550MOVDX,MY_
7、03FB;16550控制寄存器地址送DXMOVAL,80H;置DLAB=1,设置除数寄存器OUTDX,ALCALLDALLYMOVDX,MY_03F8;除数寄存器地址送DXMOVAX,03C0H;波特率为1200bit/sOUTDX,ALCALLDALLYMOVAL,AHINCDXOUTDX,ALCALLDALLYMOVDX,MY_03FB;16550控制寄存器地址送DXMOVAL,1BH;8位数据位,奇校验,1位停止位OUTDX,ALCALLDALLYMOVDX,MY_03FCMOVAL,03
8、HOUTDX,ALCALLDALLYCALLGOLEADX,STR2;显示str2MOVAH,09HINT21HMOVAH,4CHINT21HGOPROCNEARLEABX,STR1LEADI,STR2MOVCX,LENINCCXLOP1:DECCXJZDONELOP2:MOVDX,MY_03FDINAL,DXTESTAL,20H;测试发送是否就绪JZLOP2MOVDX,MY_03F8MOVAL,[BX];取出发送区域的待发送数据OUTDX,ALLOP3:MOVDX,MY_03FDINAL,DX