深圳大学8251串行接口应用实验.docx

上传人:b****6 文档编号:4287204 上传时间:2022-11-28 格式:DOCX 页数:18 大小:367.87KB
下载 相关 举报
深圳大学8251串行接口应用实验.docx_第1页
第1页 / 共18页
深圳大学8251串行接口应用实验.docx_第2页
第2页 / 共18页
深圳大学8251串行接口应用实验.docx_第3页
第3页 / 共18页
深圳大学8251串行接口应用实验.docx_第4页
第4页 / 共18页
深圳大学8251串行接口应用实验.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

深圳大学8251串行接口应用实验.docx

《深圳大学8251串行接口应用实验.docx》由会员分享,可在线阅读,更多相关《深圳大学8251串行接口应用实验.docx(18页珍藏版)》请在冰豆网上搜索。

深圳大学8251串行接口应用实验.docx

深圳大学8251串行接口应用实验

得分

教师签名

批改日期

 

深圳大学实验报告

课程名称:

微型计算机技术及应用

实验名称:

8251串行接口应用实验

学院:

信息工程学院

专业:

班级:

组号:

指导教师:

报告人:

学号:

实验地点

实验时间:

2010年12月23日星期五

实验报告提交时间:

2011.01.07

一、实验目的

1.掌握8251的工作方式及应用。

2.了解有关串口通讯的知识。

二、实验设备:

PC机两台,TD-PITE实验装置或TD-PITC实验装置两套。

三、实验内容:

1.数据信号的串行传输实验,循环向串口发送一个数,使用示波器测量TXD引脚上的波形,以了解串行传输的数据格式。

2.自收自发实验,将3000H起始的10个单元中的初始数据发送到串口,然后自接收并保存到4000H起始的内存单元中。

3.双机通讯实验,本实验需要两台实验装置,其中一台作为接收机,一台作为发送机,发送机将3000H~3009H内存单元中共10个数发送到接收机,接收机将接收到的数据直接在屏幕上输出显示。

四、实验原理:

1.8251的基本性能

8251是可编程的串行通信接口,可以管理信号变化范围很大的串行数据通信。

有下列基本性能:

(1)通过编程,可以工作在同步方式,也可以工作在异步方式。

(2)同步方式下,波特率为0~64K,异步方式下,波特率为0~19.2K。

(3)在同步方式时,可以用5~8位来代表字符,内部或外部同步,可自动插入同步字符。

(4)在异步方式时,也使用5~8位来代表字符,自动为每个数据增加1个启动位,并能够根据编程为每个数据增加1个、1.5个或2个停止位。

(5)具有奇偶、溢出和帧错误检测能力。

(6)全双工,双缓冲器发送和接收器。

注意,8251尽管通过了RS-232规定的基本控制信号,但并没有提供规定的全部信号。

2.8251的内部结构及外部引脚

8251的内部结构图如图4.36所示,可以看出,8251有7个主要部分,即数据总线缓冲器、读/写控制逻辑电路、调制/解调控制电路、发送缓冲器、发送控制电路、接收缓冲器和接收控制电路,图中还标识出了每个部分对外的引脚。

8251的外部引脚如图4.37所示,共28个引脚,每个引脚信号的输入输出方式如图中的箭头方向所示。

图4.368251内部结构图

图4.378251外部引脚图

3.8251在异步方式下的TXD信号上的数据传输格式

图4.38示意了8251工作在异步方式下的TXD信号上的数据传输格式。

数据位与停止位的位数可以由编程指定。

图4.388251工作在异步方式下TXD信号的数据传输格式

4.8251的编程

对8251的编程就是对8251的寄存器的操作,下面分别给出8251的几个寄存器的格式。

(1)方式控制字

方式控制字用来指定通信方式及其方式下的数据格式,具体各位的定义如图4.39所示。

(2)命令控制字

命令控制字用于指定8251进行某种操作(如发送、接收、内部复位和检测同步字符等)或处于某种工作状态,以便接收或发送数据。

图4.40所示的是8251命令控制字各位的定义。

图4.408251命令控制字格式

(3)状态字

CPU通过状态字来了解8251当前的工作状态,以决定下一步的操作,8251的状态字如图4.41所示。

图4.418251状态字格式

(4)系统初始化

8251的初始化和操作流程如图4.42所示。

图4.428251初始化流程图

5.8251实验单元电路图

图4.438251实验单元电路图

五、实验步骤

2.自收自发实验

通过自收自发实验,可以验证硬件及软件设计,常用于自测试。

具体实验步骤如下:

(1)参考实验接线图如图4.45所示,按图连接实验线路。

(2)编写实验程序,编译、链接无误后装入系统。

(3)使用E命令更改4000H起始的10个单元中的数据。

(4)运行实验程序,待程序运行停止。

(5)查看3000H起始的10个单元中的数据,与初始化的数据进行比较,验证程序功能。

实验参考例程(A82512.ASM)

M8251_DATAEQU0600H;端口定义

M8251_CONEQU0602H

M8254_2EQU06C4H

M8254_CONEQU06C6H

SSTACKSEGMENTSTACK

DW64DUP(?

SSTACKENDS

CODESEGMENT

ASSUMECS:

CODE

START:

MOVAX,0000H

MOVDS,AX

;初始化8254,得到收发时钟

MOVAL,0B6H

MOVDX,M8254_CON

OUTDX,AL

MOVAL,0CH

MOVDX,M8254_2

OUTDX,AL

MOVAL,00H

OUTDX,AL

;复位8251

CALLINIT

CALLDALLY

;8251方式字

MOVAL,7EH

MOVDX,M8251_CON

OUTDX,AL

CALLDALLY

;8251控制字图4.45自收自发实验接线图

MOVAL,34H

OUTDX,AL

CALLDALLY

MOVDI,3000H

MOVSI,4000H

MOVCX,000AH

A1:

MOVAL,[SI]

PUSHAX

MOVAL,37H

MOVDX,M8251_CON

OUTDX,AL

POPAX

MOVDX,M8251_DATA

OUTDX,AL;发送数据

MOVDX,M8251_CON

A2:

INAL,DX;判断发送缓冲是否为空

ANDAL,01H

JZA2

CALLDALLY

A3:

INAL,DX;判断是否接收到数据

ANDAL,02H

JZA3

MOVDX,M8251_DATA

INAL,DX;读取接收到的数据

MOV[DI],AL

INCDI

INCSI

LOOPA1

MOVAX,4C00H

INT21H;程序终止

INIT:

MOVAL,00H;复位8251子程序

MOVDX,M8251_CON

OUTDX,AL

CALLDALLY

OUTDX,AL

CALLDALLY

OUTDX,AL

CALLDALLY

MOVAL,40H

OUTDX,AL

RET

DALLY:

PUSHCX

MOVCX,3000H

A5:

PUSHAX

POPAX

LOOPA5

POPCX

RET

CODEENDS

ENDSTART

 

3.双机通讯实验

使用两台实验装置,一台为发送机,一台为接收机,进行两机间的串行通讯。

实验步骤如下:

图4.46双机通讯实验接线图

(1)按图4.46连接实验线路。

(2)为两台机器分别编写实验程序,编译、链接后装入系统。

(3)为发送机初始化发送数据。

在发送机3000H~3009H内存单元写入ASCII值:

30,31,32,33,34,35,36,37,38,39共10个数。

(4)首先运行接收机上的程序,等待接收数据,然后运行发送机上的程序,将数据发送到串口。

(5)观察接收机端屏幕上的显示是否与发送机端初始的数据相同,验证程序功能。

屏幕将会显示字符:

0123456789

实验参考例程(接收机)(A82513.ASM)

M8251_DATAEQU0600H

M8251_CONEQU0602H

M8254_2EQU06C4H

M8254_CONEQU06C6H

SSTACKSEGMENTSTACK

DW64DUP(?

SSTACKENDS

CODESEGMENT

ASSUMECS:

CODE

START:

MOVAL,0B6H;初始化8254

MOVDX,M8254_CON

OUTDX,AL

MOVAL,0CH

MOVDX,M8254_2

OUTDX,AL

MOVAL,00H

OUTDX,AL

CLI

CALLINIT;复位8251

CALLDALLY

MOVAL,7EH

MOVDX,M8251_CON

OUTDX,AL

CALLDALLY

MOVAL,34H

OUTDX,AL

CALLDALLY

MOVAX,0152H;输出显示字符'R'

INT10H

MOVDI,3000H

MOVCX,000AH

A1:

INAL,DX

ANDAL,02H

JZA1

MOVDX,M8251_DATA

INAL,DX

ANDAL,7FH

MOV[DI],AL

INCDI

LOOPA1

MOVAL,00H

MOVSI,300AH

MOV[SI],AL

MOVAH,06H

MOVBX,3000H

INT10H;输出显示接收到的数据

STI

A2:

JMPA2

INIT:

MOVAL,00H;复位8251子程序

MOVDX,M8251_CON

OUTDX,AL

CALLDALLY

OUTDX,AL

CALLDALLY

OUTDX,AL

CALLDALLY

MOVAL,40H

OUTDX,AL

RET

DALLY:

PUSHCX

MOVCX,3000H

A3:

PUSHAX

POPAX

LOOPA3

POPCX

RET

CODEENDS

ENDSTART

实验参考程序(发送机)(A82514.ASM)

M8251_DATAEQU0600H

M8251_CONEQU0602H

M8254_2EQU06C4H

M8254_CONEQU06C6H

SSTACKSEGMENTSTACK

DW64DUP(?

SSTACKENDS

CODESEGMENT

ASSUMECS:

CODE

START:

MOVAL,0B6H;初始化8254,得到收发时钟

MOVDX,M8254_CON

OUTDX,AL

MOVAL,0CH

MOVDX,M8254_2

OUTDX,AL

MOVAL,00H

OUTDX,AL

CALLINIT;复位8251

CALLDALLY

MOVAL,7EH

MOVDX,M8251_CON

OUTDX,AL;8251方式字

CALLDALLY

MOVAL,34H

OUTDX,AL;8251控制字

CALLDALLY

MOVDI,3000H

MOVCX,000AH

A1:

MOVAL,[DI]

CALLSEND

CALLDALLY

INCDI

LOOPA1

A2:

JMPA2

INIT:

MOVAL,00H;复位8251子程序

MOVDX,M8251_CON

OUTDX,AL

CALLDALLY

OUTDX,AL

CALLDALLY

OUTDX,AL

CALLDALLY

MOVAL,40H

OUTDX,AL

RET

DALLY:

PUSHCX

MOVCX,3000H

A4:

PUSHAX

POPAX

LOOPA4

POPCX

RET

SEND:

;数据发送子程序

PUSHDX

PUSHAX

MOVAL,31H

MOVDX,M8251_CON

OUTDX,AL

MOVDX,M8251_DATA

PopAX

OUTDX,AL

MOVDX,M8251_CON

A3:

INAL,DX

ANDAL,01H

JZA3

POPDX

RET

CODEENDS

ENDSTART

 

六、实验数据截图:

七、实验总结:

通过这次实验,我初步掌握了8251这个芯片的用法和用途。

第一步成功顺利完成,第二个任务开始找不到联机,最后找没人的两台机操作,貌似不太顺利。

这个实验多动手操作,坚持就是胜利!

指导教师批阅意见:

 

成绩评定:

预习

(20分)

操作及记录

(40分)

数据处理及思考题(40分)

报告整体

印象

总分

数据处理

(25分)

结果与讨论

(5分)

思考题

(10分)

注:

1、报告内的项目或内容设置,可根据实际情况加以调整和补充;

2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内;

3、教师可根据实验报告整体情况酌情扣分(10分)。

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

当前位置:首页 > 初中教育 > 理化生

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

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