北理工微机原理试验三 使用8251A的串行接口应用试验_第1页
北理工微机原理试验三 使用8251A的串行接口应用试验_第2页
北理工微机原理试验三 使用8251A的串行接口应用试验_第3页
北理工微机原理试验三 使用8251A的串行接口应用试验_第4页
北理工微机原理试验三 使用8251A的串行接口应用试验_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——北理工微机原理试验三使用8251A的串行接口应用试验

本科试验报告

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

课程名称:任课教师:试验教师:学生姓名:学号/班级:学院:专业:计算机原理与应用试验试验时间:试验地点:□原理验证试验类型:■综合设计□自主创新组号:同组同伴:成绩:

1.试验目的

1)把握串行通信原理及半双工和全双工的编程方法;2)把握用8251A接口芯片实现微机间的同步和异步通信;3)把握8251A芯片与微机的接口技术和编程方法。

2.试验原理和内容

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

1)8251A内部结构

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

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

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

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

命令控制字使8251A处于规定的状态以准备收发数据,格式如图3-11所示。方式控制字和命令控制字无独立的端口地址,8251A根据写入的次序来区分。

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

3)状态寄放器

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

溢出错误:CPU没读走前一个字符,下一个字符又接收到,称为溢出错误。帧错误:在字符结尾没检测到中止位,称为帧错误。

4)PC机寄放器的端口地址

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

5)波特率和除数因子对照表

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

3.试验连接方法

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

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

2)8254/CS连接I/O译码/Y0(280H287H);3)8254/OUT0连接8251/TX/RXCLK;4)8254/GATE0连接+5V;5)8251/TXD连接8251/RXD;

6)8251/CS连接I/O译码/Y7(2B8H2BFH。

4.编程提醒

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

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

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

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

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

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

程序具体设计如下:

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

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

5.试验代码

发送端代码:

STACKSEGMENTPARASTACK

DB256DUP(0)

STACKENDSCODESEGMENT

ASSUMECS:CODE,SS:STACK

START:

MOVDX,3F8HMOVAX,60H

波特率寄放器(低)查表

MOVDX,3FBHMOVAX,80HOUTDX,AL

线路控制寄放器

10000000B,DLAB=1,数据位,中止位,校验位,波特率因子

OUTDX,ALMOVDX,3F9HMOVAX,0OUTDX,AL

波特率寄放器(高)查表

MOVDX,3FBHMOVAX,0AHOUTDX,AL

线路控制寄放器00001010B,DLAB=0

MOVDX,3FCH;MOVAX,03HOUTDX,AL

调制解调器控制寄放器

00000011B,OUT1,2均输出1,请求发送,数据已就绪

MOVDX,3F9HMOVAX,0OUTDX,AL

中断允许寄放器各种中断全部阻止

FOREVER:用死循环不断检测8251状态

TESTAL,20H00100000B,检测发送保持寄放器是否为空JNZSEND可以发了JMPFOREVER

TESTAL,01H00000001B,检测接收缓存寄放器是否有数据JNZRECEIVE可以收了TESTAL,1EH

死记

MOVDX,3FDH;从线路状态寄放器读状态INAL,DX

JNZERROR;传输线状态寄放器全部都是0

SEND:

MOVAH,1INT16H

JZFOREVER

收到了MOVAH,0INT16H

MOVDX,3F8HOUTDX,AL

CMPAL,03HJEDONEMOVDL,ALMOVAH,02HINT21H

CMPAL,0DH

JNZFOREVER

MOVDL,0AHMOVAH,02HINT21HJMPFOREVER

RECEIVE:MOVDX,3F8HINAL,DXANDAL,7FHCMPAL,03H;JZDONEMOVDL,ALMOVAH,02HINT21H

CMPAL,0DH可以发但是未接收到键盘字符

输入读入AL

扔进(对于发送端是)发送保持寄放器,发出显示发送的字符

00001101B

JNZFOREVERMOVDL,0AHMOVAH,02HINT21HJMPFOREVER

ERROR:

MOVDX,3F8HINAL,DXMOVDL,0AHMOVAH,02HINT21HJMPFOREVER

DONE:

CODEENDSENDSTAR

接收端代码:

DATASEGMENT

IO8254AEQU280HIO8251AEQU2B8HIO8251BEQU2B9H

MOVAH,4CHINT21H

DATAENDS

STACKSEGMENTPARASTACK

DB256DUP(0)

STACKENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA,SS:STACKSTART:

MOVAX,DATA

MOVDS,AXMOVDX,IO8254A+3MOVAL,00010110BOUTDX,ALMOVDX,IO8254AMOVAL,52

;给8254计数器0送初值;设置8254计数器0工作方式

OUTDX,AL

MOVDX,IO8251BMOVAX,0

MOVCX,3

reset8251:OUTDX,ALPUSHCX

MOVCX,40HLOOP$POPCXLOOPreset8251MOVAL,40HOUTDX,ALMOVCX,40HLOOP$MOVAL,5AHOUTDX,ALMOVAL,27H

OUTDX,AL

FOREVER:MOVDX,IO8251BINAL,DX

TESTAL,38HJNZERRORTESTAL,02HJNZRECEIVETESTAL,01HJNZsend

JMPFOREVER

;对8251进行初始化;向8251控制端口送40H,使其复位;从线路状态寄放器读状态;检测是否为00111000;传输线状态寄放器全部都是0;检测接受数据是否准备好了;等于0则表示数据没有准备好;数据没有准备好;没有,则跳转等待

send:

MOVAH,1;检测键盘按下INT16H

JZFOREVER;有键盘按下MOVAH,0;读键盘INT16H

MOVDX,IO8251A;将键盘的数据输出发送到缓冲器OUTDX,ALCMPAL,03HJZDONEMOVDL,ALMOVAH,02HINT21HCMPAL,0DHJNZFOREVERMOVDL,0AHMOVAH,02HINT21H

JMPFOREVER

RECEIVE:MOVDX,IO8251AINAL,DX

ANDAL,7FHCMPAL,03H;JZDONEMOVDL,ALMOVAH,02HINT21HCMPAL,0DHJNZFORE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论