北京理工大学微机原理实验报告三Word格式.docx

上传人:b****5 文档编号:21284578 上传时间:2023-01-29 格式:DOCX 页数:11 大小:376.81KB
下载 相关 举报
北京理工大学微机原理实验报告三Word格式.docx_第1页
第1页 / 共11页
北京理工大学微机原理实验报告三Word格式.docx_第2页
第2页 / 共11页
北京理工大学微机原理实验报告三Word格式.docx_第3页
第3页 / 共11页
北京理工大学微机原理实验报告三Word格式.docx_第4页
第4页 / 共11页
北京理工大学微机原理实验报告三Word格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

北京理工大学微机原理实验报告三Word格式.docx

《北京理工大学微机原理实验报告三Word格式.docx》由会员分享,可在线阅读,更多相关《北京理工大学微机原理实验报告三Word格式.docx(11页珍藏版)》请在冰豆网上搜索。

北京理工大学微机原理实验报告三Word格式.docx

组号:

学院:

同组搭档:

专业:

成绩:

实验三串行通信

一、实验目的

1、了解串行通信的基本原理。

2、掌握串行接口芯片8251的工作原理和编程方法。

3、掌握串行接口芯片8250的工作原理和编程方法。

4、掌握对串行接口芯片的初始化编程;

学会串行通信半双工和全双工的编程技巧。

二、实验内容与步骤

1、利用PC机系统的串行通信接口实现与实验系统的双机通信。

PC机的串行通信接口的端口地址为3F8H。

并画出三线连接。

七线连接通信接口的连线图。

接口为标准RS—232(25芯)插座。

2、按图1连接好电路,其中8254计数器用于产生8251的发生和接收时钟,TXD和RXD连在九针接口处。

3、接线:

4、8254计数器的计数初值=时钟频率/(波特率乘以波特率因子),这里的时钟频率接1MHz。

波特率若选1200,波特率因子若选16,则计数器初值为52.

5、设串行通信的波特率为1200,偶校验、数据位为7位,1位停止位。

利用查询方式实现单工通信。

要求发送方将任一文件传送到收方,收方收到后将源程序写入磁盘。

分别编写收方和发方的通信程序。

6、上述参数不变,用中断方式实现半双工通信,编写程序。

7、PC机寄存器的端口地址如下表所示

线路控制寄存器第七位DLAB=0

线路控制寄存器第七位DLAB=1

程序流程图如下图

三、实验过程

将实验板的USB接口与电脑1相连,打开HQFC软件,找到USB接口,进行编程,用于接收文件。

代码见四中的代码1。

再将实验板的PCI接口与电脑2相连,打开MASM软件,进行编程,用于发送文件。

代码见四中的代码2。

四、实验代码及注释

代码1:

DATASEGMENT

IO8254AEQU280H

IO8251AEQU2B8H

IO8251BEQU2B9H

DATAENDS

STACKSEGMENTPARASTACK

DB256DUP(0)

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

START:

MOVAX,DATA

MOVDS,AX

MOVDX,IO8254A+3

MOVAL,00010110B;

设置8254计数器0工作方式

OUTDX,AL

MOVDX,IO8254A

MOVAL,52;

给8254计数器0送初值

MOVDX,IO8251B;

对8251进行初始化

MOVAX,0

MOVCX,3

reset8251:

PUSHCX

MOVCX,40H;

向8251控制端口送40H,使其复位

LOOP$

POPCX

LOOPreset8251

MOVAL,40H

MOVCX,40H

MOVAL,5AH

MOVAL,27H

FOREVER:

从线路状态寄存器读状态

INAL,DX

TESTAL,38H;

检测是否为00111000

JNZERROR;

传输线状态寄存器全部都是0

TESTAL,02H;

检测接受数据是否准备好了

JNZRECEIVE;

等于0则表示数据没有准备好

TESTAL,01H;

数据没有准备好

JNZsend;

没有,则跳转等待

JMPFOREVER

send:

MOVAH,1;

检测键盘按下

INT16H

JZFOREVER;

有键盘按下

MOVAH,0;

读键盘

MOVDX,IO8251A;

将键盘的数据输出发送到缓冲器

CMPAL,03H

JZDONE

MOVDL,AL

MOVAH,02H

INT21H

CMPAL,0DH

JNZFOREVER

MOVDL,0AH

JMPFOREVER

RECEIVE:

接收数据

ANDAL,7FH;

最高位为停止位

CMPAL,03H;

JNZFOREVER

ERROR:

MOVDX,IO8251A

MOVDL,'

?

'

DONE:

MOVAH,4CH

CODEENDS

ENDSTART

代码2:

ASSUMECS:

CODE,SS:

MOVDX,3FBH

MOVAX,80H

MOVDX,3F8H

MOVAX,60H

MOVDX,3F9H

MOVAX,0AH

MOVDX,3FCH;

MOVAX,03H

MOVDX,3FDH;

TESTAL,1EH

JNZERROR;

TESTAL,20H;

MOVAH,1

JZFOREVER

MOVAH,0

MOVDX,3F8H

ANDAL,7FH

ENDSTAR

五、实验心得

这次实验难度较大,最后实现了两台电脑之间的文件传输。

通过这次实验,我了解了串行通信的基本原理,掌握了串行接口芯片8251的工作原理和编程方法,学会了串行通信半双工和全双工的编程技巧。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 畜牧兽医

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1