实验三 串行通信

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本科实验报告

实验名称: 串行通信

课程名称: 计算机原理与应用实验时间: 2014/5/27 任课教师: 马永锋实验地点: 10-102

实验教师: 苏京霞

实验类型: ■原理验证□综合设计□自主创新

学生姓名: 姚晨

学号/班级: 1120110334/05111103 组号:

学院: 信息与电子学院同组搭档:

专业: 信息工程成绩:

一、实验目的

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

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

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

4、掌握对串行接口芯片的初始化编程;学会串行半双工与全双工的编程技巧。

二、实验内容及步骤

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

端口地址为3F8H,并画出三线连接,七线连接通信接口的连线图,接口为标准RS—232(25芯)插座。

2、按图1连接好电路,其中8254计数器用于产生8251的发送与接收时钟,TXD与RXD

连在九针接口处。

串行通讯电路

3、连线:

CLK0/8254 接1M时钟

CLK/8251 接1M时钟(系统已经连接,不用学生连接)

GATE0/8254 接+5V

OUT0 /8254 接TX/RXCLK/8251

CS/8254 接Y0/IO地址

CS/8251 接Y7/IO地址

RXD/8251 接TXD/九针接口

TXD/8251 接RXD/九针接口

4、8254计数器的计数初值=时钟频率/(波特率X波特率因子),这里的时钟频率接1MHz,波特率若选1200,波特因子若选16,则计数器初值为52。

5、设串行通信的波特率为1200、偶校验、数据位为7位、1位停止位,利用查询方式实现单工通信。要求发送方将任一文件传送到收方,收方收到后将源程序写入磁盘。分别编写收方与发方的通信程序。

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

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

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

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

三、编程提示

1、可以首先采用查询方式,实现单工PC机系统与实验系统的双机通信,之后再实现双工方

式通信;

2、再尝试实现利用中断方式,实现单工PC机系统与实验系统的双机通信,之后再实现双工

方式通信;

3、要求能实现字符与文件的传输;

4、程序流程图如图所示:

四、实

1

:

;

T

R

A

N

S LATE FILES

stack segment para

stack'stack'

db 256 dup(0)

stack ends

data s egment

name0 db 64h

db 64h dup(?)

buff d w 64h dup(?)

data ends

code segment para public 'code'

start p roc far

assume cs: code,ds:data,es:data

push ds

mov ax,0

push ax

mov ax,data

mov ds,ax

mov dx,3fbh ;3fb ctrl register

mov al,80h ;

out dx,al ;给线路控制寄存器DLAB位置1

mov dx,3f8h

mov al,60h ;写除数因子低位

out dx,al

inc dx ;写除数因子高位

mov al,00

out dx,al ;写除数因子寄存器,1200baud

mov dx,3fbh

mov al,00011011b ;0寻址识别位,0禁止间断,**,11偶校验,1位停止位,8位数据out dx,al

inc dx ;设置调制解调器控制寄存器MCR

mov al,00001111b ;正常工作状态,引脚低电平

out dx,al

mov dx,3fdh ;线路状态寄存器

in al,dx

test al,20h ;判断就是否显示好,发出数据

jz fa

tr:

mov ah,01h

int 21h

mov dx,3f8h

out dx,al

push bx

int 10h

pop bx

push cx

mov cx,0fh

gg:

nop

nop

nop

loop gg ;循环延迟

pop cx

jmp tr

start e ndp

code ends

end start

2、接收端程序:

;TRANSLATE FILES

stack segment para stack'stack'

db 256 dup(0)

stack ends

data s egment

name0 db 64h

db 64h dup(?)

相关文档
最新文档