资源描述:
《微机串口通信内环自检.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、等级评定:课程设计报告题目:微机串口通信环自检系(院):专业:软件工程学生:学号:起迄日期:2008年6月8日~6月19日课程设计地点:硬件综合室、多媒体技术室设计评语:(评阅教师填写)评阅人:年月日课程设计说明书1.课程设计题目:微机串口通信环自检2.课程设计容:对PC机辅串口进行环自动测试,并实现两台PC机之间的通信。3.课程设计目的:了解PC机串口的工作原理,掌握PC机串口自动测试的编程方法。课程设计说明书4.课程设计要求:(1)采用查询方式将下列测试电文送到辅串口发送器,经过部自环接受,显示在屏幕上,通信速率选用4800波特,无校验传输,一帧字符有8个数据位,
2、2个停止位,按下任意键时测试结束。测试电文如下:THEQUICKBROWNFOXJUMPSOVERLAZYDOG(2)用一条串口线将两台计算机直接相连,实现两台计算机近距离通信。在一台PC机键入字符,从8250的发送端发送给另一台PC机,另一台PC机的8250的接收端接收,然后在屏幕上显示出来。5.设计详细说明(包括硬件原理图、流程图)利用微机系统串行口设计串行通信程序的时候,应首先根据课题要求(自发自收、单工通信还是双工通信)和欲采用的编程手段(对端口直接操作还是调用BIOS通信软件),完成RS-232连接线的连接,创建正确的串行通信外部环境。8250初始化编程的步
3、骤:1)80H—>通信线控制寄存器,是寻址位为1。2)除数高8位/低8位->除数寄存器高8位/低8位,确定通信速率。3)把D7=0的命令字写入通信线控制寄存器,确定一帧数据的格式。4)设置中断允许命令字:查询方式,置中断允许命令字为0中断方式,置中断允许寄存器的相应位为15)设置MODEM控制寄存器中断方式:D3=1,允许8250送出中断请求信号。查询方式:D3=0环自检:D4=1正常通信:D4=0(1)辅串口环自检当8250设置为环自检方式时,8250无法提出中断请求,而且引脚/TRS、/CTS、/DTR、/DSR在芯片部似乎是被“切断”了。有鉴于此,当8350设置
4、为环自检方式的时候,只能采用查询方式,而且只能采用对端口直接操作的编程手段,完成数据的发送和接受。【程序流程图】(直接访问端口寄存器,如图3-19)(2)双机通信用串口电缆将两台机算机的COM2连接起来,把计算机设置成空MODEM方式,并为此编制了两个汇编语言程序:其一为数据发送程序;其二为数据接收程序。为了确保每个字符发送出去,并且被接收,发送接收双方的波特率设置一致,并且均采取查询方式进行下一步操作。接收数据程序只需执行一次,即驻留在存中,此后,只要Ⅱ号计算机有数据要发送,则Ⅰ号机随时接收并显示在屏幕上。课程设计说明书5.设计详细说明(包括硬件原理图、流程图)续2
5、【程序流程图】(如图3-20、3-21、3-22)开始程序初始显示提示信息初始化8250,设定传输率有键入?选1?选2?YNNY提示出错YN调用发送程序调用接受程序图3-20双机通信开始保护原寄存器内容显示接收信息读状态寄存器,接收有错?接收到数据?NNY输入缓冲器处读数据显示接收内容是esc?是enter?Y换行NY恢复原寄存器内容返回N图3-22接受程序开始保护原寄存器内容显示提示信息发送器为空?有键入?Y读键盘输入发送并显示是esc键?是enter?YNN图3-21发送程序恢复原寄存器内容返回课程设计说明书6.程序代码源程序:DISPMACROVAR;定义宏,完
6、成字符串的输出MOVAH,9MOVDX,OFFSETVARINT21HENDMDATASEGMENTTEXTDB'THEQUICKBROWNFOXJUMPSOVERLAZYDOG',0DH,0AHLLLEQU$-TEXT;电文长度->LLLERRORDB'COMBAD!',0DH,0AH,'$'NEQU24DUP('')MESG1DB0DH,0AHDBN,'MENU',0DH,0AHDBN,'-----------------------------',0DH,0AHDBN,'
7、
8、',0DH,0AHDBN,'
9、1.COM2INTERNALLOOP
10、',0DH,0AHD
11、BN,'
12、2.SHUANGJI
13、',0DH,0AHDBN,'
14、3.EXIT
15、',0DH,0AHDBN,'
16、
17、',0DH,0AHDBN,'-----------------------------',0DH,0AHDBN,'CHOICE(1,2,3):$',0DH,0AHMESG2DB0DH,0AHDBN,'MENU',0DH,0AHDBN,'------------------------------',0DH,0AHDBN,'
18、
19、',0DH,0AHDBN,'
20、1.SENT
21、',0DH,0AHDBN,'
22、2.RECIEVE
23、',0DH,0AHDBN,