微机接口实验报告记录16550串口控制器应用实验.docx
- 文档编号:26299766
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:13
- 大小:251.20KB
微机接口实验报告记录16550串口控制器应用实验.docx
《微机接口实验报告记录16550串口控制器应用实验.docx》由会员分享,可在线阅读,更多相关《微机接口实验报告记录16550串口控制器应用实验.docx(13页珍藏版)》请在冰豆网上搜索。
微机接口实验报告记录16550串口控制器应用实验
微机接口实验报告记录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串口应用实验参考接线图
【汇编源程序】
I0Y0EQU0DC00H
MY16550_0EQUI0Y0+00H*4
MY16550_1EQUI0Y0+01H*4
MY16550_3EQUI0Y0+03H*4
STACK1SEGMENTSTACK
DW256DUP(?
)
STACK1ENDS
CODESEGMENT
ASSUMECS:
CODE
START:
MOVDX,MY16550_3
MOVAL,80H
OUTDX,AL
MOVDX,MY16550_0
MOVAL,0CH
OUTDX,AL
MOVDX,MY16550_1
MOVAL,00H
OUTDX,AL
MOVDX,MY16550_3
MOVAL,1BH
OUTDX,AL
MOVDX,MY16550_1
MOVAL,00H
OUTDX,AL
SEND:
MOVDX,MY16550_0
MOVAL,53H
OUTDX,AL
CALLDALLY
MOVAH,1
INT16H
JZSEND
QUIT:
MOVAX,4C00H
INT21H
DALLYPROCNEAR
PUSHCX
PUSHAX
MOVCX,0100H
D1:
MOVAX,1000H
D2:
DECAX
JNZD2
LOOPD1
POPAX
POPCX
RET
DALLYENDP
CODEENDS
ENDSTART
【实验结果】
截图:
53H奇校验波形图53H偶校验波形图
57H奇校验波形图57H偶校验波形图
取一帧:
53H奇校验波形图(一帧)53H偶校验波形图(一帧)
57H奇校验波形图(一帧)57H偶校验波形图(一帧)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 接口 实验 报告 记录 16550 串口 控制器 应用