微机接口实验报告-16550串口控制器应用实验.doc

上传人:b****3 文档编号:2492524 上传时间:2022-10-30 格式:DOC 页数:8 大小:418.50KB
下载 相关 举报
微机接口实验报告-16550串口控制器应用实验.doc_第1页
第1页 / 共8页
微机接口实验报告-16550串口控制器应用实验.doc_第2页
第2页 / 共8页
微机接口实验报告-16550串口控制器应用实验.doc_第3页
第3页 / 共8页
微机接口实验报告-16550串口控制器应用实验.doc_第4页
第4页 / 共8页
微机接口实验报告-16550串口控制器应用实验.doc_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

微机接口实验报告-16550串口控制器应用实验.doc

《微机接口实验报告-16550串口控制器应用实验.doc》由会员分享,可在线阅读,更多相关《微机接口实验报告-16550串口控制器应用实验.doc(8页珍藏版)》请在冰豆网上搜索。

微机接口实验报告-16550串口控制器应用实验.doc

广西大学实验报告

姓名

院专业班

年月日

实验内容16550串口控制器应用实验指导老师

【实验目的】

掌握16550的工作方式及应用。

学习PC机串口的操作方法。

【试验设备】

PC微机一台、TD-PIT+实验系统一套、示波器一台。

【实验内容】

编写程序,向串口连续发送一个数据53H(“1”的个数为偶数)或57H(“1”的个数为奇数)。

将串口输出连接到示波器上,用示波器观察数据输出产生的波形,分析串行数据格式。

【实验原理】

16550是一种连接任何类型虚拟串行接口的可编程通信接口,与Intel微处理器完全兼容的使用非常广泛的异步接收器/发送器(UART)。

它内置了16字节的FIFO缓冲,最大通讯速率可达115Kb/s,是现代基于微处理器设备包括PC机和许多调制解调器的最普遍的通信接口。

16550的引脚如图11-1所示,其内部结构如图11-2所示。

图11-116550引脚图

1.端口地址的使用

16550内部有11个寄存器,在芯片选择有效的前提下,由芯片的寄存器选择输入线A2,A0和A0来确定访问的寄存器,芯片中采用两条措施来解决端口地址少的问题(只有8个地址)。

(1)保持寄存器和接收数据寄存器共用一个地址,以“写入”访问前者、“读出”访问后者加以区分。

(2)除数寄存器的高字节与中断允许寄存器使用相同地址,高字节和接收数据寄存器、发送保持寄存器使用相同的地址,为了区分,借用线路控制寄存器的最高位DLAB位来区分。

访问除数寄存器时,令DLAB位为“1”;访问接收数据寄存器、发送保持寄存器和中断允许寄存器时,则将DLAB位置“0”。

具体说明如表11-1所示。

图11-216550的内部结构图

表11-116550内部寄存器地址及其选择方法

DLAB

A2A1A0

被访问的寄存器

0

000

接收数据寄存器(读),发送保持寄存器(写)

0

001

中断允许寄存器IER

1

000

波特率除数寄存器(低字节)

1

001

波特率除数寄存器(高字节)

X

010

中断识别寄存器IIR(只读),FIFO控制器FCR(只写)

X

011

线路控制寄存器LCR

X

100

MODEM控制寄存器MCR

X

101

线路状态寄存器LSR

X

110

MODEM状态寄存器MSR

X

111

Scratch寄存器

2.寄存器控制字说明

(1)线路控制寄存器(LCR),主要用于指定异步串行通信的数据格式。

见表11-2。

表11-2LCR格式

D6

D5

D4

D3

D2

D1

D0

DLAB

SB

SP

EPS

PEN

STB

WLS1

WLS0

除数存器访问允许

中止

设定

附加奇偶标志位选择

奇偶

校验

选择

奇偶

校验

允许

停止位选择

字符长度选择

1:

允许

0:

禁止

1:

中止

0:

正常

1:

附加1位

0:

不附加

11:

偶校验

01:

奇校验

X0:

无校验

0:

1位停止位

1:

1.5或2位停止位(根据D1D0)区分)

00:

5位01:

6位

10:

7位11:

8位

(2)线路状态寄存器(LSR),主要是向处理器提供有关数据传输的状态。

见表11-3。

表11-3LSR格式

D7

D6

D5

D4

D3

D2

D1

D0

TSRE

THRE

B1

FE

PE

OE

DR

FIFO中接收数据错误

发送移位寄存器空

发送保持寄存器空

中止识别指示

接收格式错

接收奇偶错

接收重叠错

接收缓冲区满

(3)波特率除数寄存器,用该寄存器设置串行数据的传送波特率。

除数寄存器值=基准时钟频率÷(16×波特率)

16550芯片输入的基准时钟频率为1.8432MHz,若波特率为9600b/s,则除数寄存器值为000CH,DLH中应填00H,DLL中应填0CH。

16550常用波特率参数见表11-4。

表11-4常用的波特率参数表

DLAB

A2A1A0

被访问的寄存器

0

000

接收数据寄存器(读),发送保持寄存器(写)

0

001

中断允许寄存器IER

1

000

波特率除数寄存器(低字节)

1

001

波特率除数寄存器(高字节)

X

010

中断识别寄存器IIR(只读),FIFO控制器FCR(只写)

X

011

线路控制寄存器LCR

X

100

MODEM控制寄存器MCR

X

101

线路状态寄存器LSR

X

110

MODEM状态寄存器MSR

X

111

Scratch寄存器

(4)中断允许寄存器(IER),16550共有4级中断,按优先级从高到低依次为:

接收出错中断、接收缓冲器满中断、发送保持寄存器空中断和MODEM输入状态改变中断。

这些中断的允许或屏蔽由IER来控制。

见表11-5。

表11-5IER格式

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

I0E

I3E

I1E

I2E

类型0中断

MODEM状态改变

1-允许

0-屏蔽

类型3中断

接收出错

1-允许

0-屏蔽

类型1中断

发送保持器空

1-允许

0-屏蔽

类型2中断

接收缓冲区满

1-允许

0-屏蔽

(5)中断标识寄存器(IIR),当16550处于中断处理方式,IIR指出有无待处理的中断发生及其类型,并且封锁比此类优先级低的所有类型中断。

见表11-6。

表11-6IIR格式

D7

D6

D5

D4

D3

D2

D1

D0-

FIFO指示标志

0

0

超时中断

中断类型标识

未决中断指示

00-无FIFO

01-允许FIFO,但不可用

11-允许FIFO

0-不超时

1-超时

11-接收出错

10-接收缓冲器满

01-发送保持器空

00-MODEM状态改变

0-有

1-无

(6)MODEM控制寄存器(MCR),MCR控制芯片的4个引脚的输出和芯片的环路检测。

见表11-7。

表11-7MCR格式

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

环路检测

输出2

输出1

请求发送

数据终端就绪

0-正常收发

1-内部自循环

1-OUT2置0

1-OUT1置0

1-RTS置0

1-DTR置0

(7)MODEM状态寄存器(MSR),MSR反映UART与通信设备(如MODEM)之间联络信号的当前状态以及这些信号的变化情况。

见表11-8。

表11-8MSR格式

D7

D6

D5

D4

D3

D2

D1

D0

RLSD

RI

DSR

CTS

△RLSD

TERI

△DSR

△CTS

收到“接收线载波检测”

收到“振铃指示”

收到“数传机就绪”

收到“清除发送”

RLSD位发生改变

收到“振铃指示后沿”

DSR位发生变化

CTS位发生变化

说明:

D7=1表示输入引脚RLSD=0,MODEM收到来自电话线的载波信号。

D6=1表示输入引脚RI=0,MODEM收到振铃信号。

D5=1表示输入引脚DSR=0,MODEM做好了发送准备,请16550准备接收。

D4=1表示输入引脚CTS=0,MODEM做好了接收准备,16550可以发送数据。

D3,D1,D0位为“1”是说明在上次读取MSR之后,MSR的D7,D5,D4中相应位发生了变化。

D2位为“1”是说明输入到芯片的RI已由逻辑“1”状态变成逻辑“0”状态。

(8)FIFO控制寄存器(FCR),16550增加了一个FIFO缓冲器,用于缓冲正在发出或接收的数据,这是早期的UART器件所没有的。

FCR各位意义见表11-9。

表11-9FCR格式

意义

意义

0

允许FIFO缓冲器工作

4

保留

1

清除接收FIFO缓冲器

5

不用

2

清除发送FIFO缓冲器

6

接收端中断触发器水平(LSB)

3

DMA方式

7

接收端中断触发器水平(MSB)

【实验说明及步骤】

对16550进行编程,不断向发送寄存器写数,用示波器观察TXD信号脉冲变化,仔细分析波形,理解波形原理。

串行传输的数据格式可设定如下:

传输波特率为9600baut,每个字节有一个逻辑“0”的起始位,8位数据位,1位逻辑“1”的停止位,如图11-3所示。

实验步骤如下:

(1)确认从PC机引出的两根扁平电缆已经连接在实验平台上;

(2)首先运行CHECK程序,查看I/O空间始地址;

(3)利用查出的地址编写程序,连续向发送寄存器写55H,然后编译链接;

(4)参考图11-5所示连接实验线路。

并将TXD与实验装置GND同示波器相连接;

(5)运行程序,在示波器上观察波形;

(6)可以改变发送的数据,再仔细观察波形。

图11-316550串口应用实验参考程序流程图

图11-4串行传输的数据格式

图11-516550串口应用实验参考接线图

【汇编源程序】

第8页

I0Y0 EQU 0DC00H

MY16550_0 EQU I0Y0+00H*4

MY16550_1 EQU I0Y0+01H*4

MY16550_3 EQU I0Y0+03H*4

STACK1 SEGMENT STACK

DW 256 DUP(?

STACK1 ENDS

CODE SEGMENT

ASSUME CS:

CODE

START:

MOV DX,MY16550_3

MOV AL,80H

OUT DX,AL

MOV DX,MY16550_0

MOV AL,0CH

OUT DX,AL

MOV DX,MY16550_1

MOV AL,00H

OUT DX,AL

MOV DX,MY16550_3

MOV AL,1BH

OUT DX,AL

MOV DX,MY16550_1

MOV AL,00H

OUT DX,AL

SEND:

MOV DX,MY16550_0

MOV AL,53H

OUT DX,AL

CALL DALLY

MOV AH,1

INT 16H

JZ SEND

QUIT:

MOV AX,4C00H

INT 21H

DALLY PROC NEAR

PUSH CX

PUSH AX

MOV CX,0100H

D1:

MOV AX,1000H

D2:

DEC AX

JNZ D2

LOOP D1

POP AX

POP CX

RET

DALLY ENDP

CODE ENDS

END START

【实验结果】

截图:

53H奇校验波形图53H偶校验波形图

57H奇校验波形图

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

当前位置:首页 > 小学教育 > 数学

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

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