北理工微机原理实验三使用8251A的串行接口应用实验.docx

北理工微机原理实验三使用8251A的串行接口应用实验.docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

本科实验报告

实验名称:实验三 使用8251A的串行接口应用实验

课程名称:

任课教师:

计算机原理与应用实验

实验时间:

实验地点:

实验教师:

学 生 :

实验类型:

□原理验证

综合设计

□自主创新

学号/班级:

组 号:

学 院:

同组搭档:

专 业:

成 绩:

实验目的

掌握串行通信原理及半双工和全双工的编程方法;

掌握用8251A接口芯片实现微机间的同步和异步通信;

掌握8251A芯片与微机的接口技术和编程方法。

实验原理和容

8251A是一种可编程的同步/异步串行通信接口芯片,具有独立的接收器和发送器,能实现单工、半双工、双工通信。

8251A部结构

8251A通过引脚D0~D7和系统数据总线直接接口,用于和CPU传递命令、数据、状态信息。读写控制逻辑用来接收CPU的控制信号、控制数据传送方向。CPU对8251A的读写操作控制表如表3-4所示。

表3-4CPU对8251A的读写操作控制表

8251A的方式控制字和命令控制字

方式控制字确定8251A的通信方式(同步/异步)、校验方式(奇校/偶校/不校)、字符长度及波特率等,格式如图3-10所示。

命令控制字使8251A处于规定的状态以准备收发数据,格式如图3-11所示。

方式控制字和命令控制字无独立的端口地址,8251A根据写入的次序来区分。

CPU对8251A初始化时先写方式控制字,后写命令控制字。

状态寄存器

8251状态寄存器用于寄存8251A的状态信息,供CPU查询,定义如图312 所示。TXRDY位:当数据缓冲器空时置位,而TXRDY引脚只有当条件(数据缓冲器空?/CTS?TXE)成立时才置位。

溢出错误:CPU没读走前一个字符,下一个字符又接收到,称为溢出错误。

帧错误:在字符结尾没检测到停止位,称为帧错误。

PC机寄存器的端口地址

其中:线路控制寄存器第七位:DLAB=0;线路控制寄存器第七位:DLAB=1。

波特率和除数因子对照表

实验硬件连接方法:通过计算机点到点三线制串口通信线,掌握接线的方法以及RS-232标准的机械、电气规。

实验连接方法

按图连接好电路,其中8254计数器用于产生8251的发送和接收时钟,TXD和RXD连在一起。

1)8254/CLK0连接时钟/1MHz;

2)8254/CS连接I/O译码/Y0(280H---287H);

3)8254/OUT0连接8251/TX/RXCLK;

4)8254/GATE0连接+5V;

5)8251/TXD连接8251/RXD;

6)8251/CS连接I/O译码/Y7(2B8H---2BFH。

编程提示

8251的控制口地址为2B9H,数据口地址为2B8H。

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

1MHz=1000000Hz

基于8251芯片实现异步串行通信一般有两种方式,一种是查询方式,另一种是中断方式,使用哪种方式取决于进行初始化时寄存器的设置。

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

本实验采用8251A异步方式发送,利用8086汇编语言实验计算机点到点的串口通信,设

置:波特率为1200bps、数据位7位、停止位1位、偶校验方式,利用查询方式或中断方式实现双机通信,能够传输多个字符。

程序具体设计如下:

基础型实验:从键盘输入一个文件或打开已有的文件发送出去,再接收回来在屏幕上显示,实现自发自收。

提高型实验:设计发送方和接收方两个程序,要求将某汇编语言传送到接收方,接收方收到后将源程序写入指定磁盘或屏幕显示。

实验代码发送端代码:

STACKSEGMENTPARASTACKDB256DUP(0)

STACKENDS

CODESEGMENT

ASSUMECS:CODE,SS:STACKSTART:

MOVDX,3FBHMOVAX,80HOUTDX,AL

线路控制寄存器,DLAB=1,数据位,停止位,校验位,波特率因子

MOVDX,3F8HMOVAX,60H

波特率寄存器(低)查表

OUTDX,ALMOVDX,3F9HMOVAX,0OUTDX,AL

波特率寄存器(高)查表

MOVDX,3FBHMOVAX,0AHOUTDX,AL

线路控制寄存器,DLAB=0

MOVDX,3FCH;MOVAX,03HOUTDX,AL

调制解调器控制寄存器,OUT1,

文档评论(0)

hao187 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档