微机接口实验报告.docx
【试验目的】把握16550的工作方式及应用。学习PC机串口的操作方法。【试验设施】PC微机一台、TD-PIT+试验系统一套、示波器一台。【试验内容】编写程序,向串口连续发送一个数据53H ( 1的个数为偶数)或57H (:1的个数为奇数)。将 串口输出连接到示波器上,用示波器观看数据输出产生的波形,分析串行数据格式。【试验原理】16550是一种连接任何类型虚拟串行接口的可编程通信接口,与Intel微处理器完全兼容的使用特 别广泛的异步接收器/发送器(UART )0它内置了 16字节的FIFO缓冲,最大通讯速率可达115Kb/s , 是现代基于微处理器设施包括PC机和很多调制解调器的最普遍的通信接口。16550的引脚如图 所示,其内部结构如图11-2所示。01234567DDDDDDDDRCLKRXDTXDCSOCS1CS2-cBAUDOUTcXINXOUTWRcWRGND1234567891011121314151617181920165504039383736353433323130292827262524vccRIDCDDSR二CTSMR3OUT1DTR RTS OUT2 INTR0RXRDYA0AlA2ADS- TXRDY23 DDIS2221RD口- RD图11-1 16550弓|脚图1 .端口地址的使用16550内部有11个寄存器,在芯片选择有效的前提下,由芯片的寄存器选择输入线A2 , A0和 A0来确定访问的寄存器,芯片中采纳两条措施来解决端口地址少的问题(只有8个地址XQ)保持寄存器和接收数据寄存器共用一个地址,以写入访问前者、读出访问后者加以区分。(2)除数寄存器的高字节与中断允许寄存器使用相同地址,高字节和接收数据寄存器、发送保持寄存 器使用相同的地址,为了区分,借用线路掌握寄存器的最高位DLAB位来区分。访问除数寄存器时,令 DLAB位为1 ;访问接收数据寄存器、发送保持寄存器和中断允许寄存器时,则将DLAB位置 详细说明如表H-1所示。DDIS RD RD WRWR MR XINXOUT-*接收冲寄存器RBRI线路控制寄存器LCRD7:0线路状态寄存器LSR发送保持寄存器THRDLAB除数锁存器(高位)DLH除数锁存器(低位)DLL心 M-j4MODEM®制寄存器MCR MODEM状态 寄存器MSRa中断允许寄存器IERCSOCS1CS2A2AlAOADSv接收移位寄存器一接收同步控制发送同步控制发送移位寄存器波特率发生器MODEM控制逻辑RXDRCLK TXD*BOUDOUI3DTRd*-RTSOUTlD OUT2CTSDSR tRIiDCD中断识别寄存器HR中断控制逻辑INTR图11-2 16550的内部结构图表11-1 16550内部寄存器地址及其选择方法DLABA2A1A0被访问的寄存器0000接收数据寄存器(读),发送保持寄存器(与)0001中断允许寄存器IER1000波特率除数寄存器(低字书)1001波特率除数寄存器(图字节)X010中断识别寄存器IIR (只读),FIFO掌握器FCR (只写)X011线路掌握寄存器LCRX100MODEM掌握寄存器MCRX101线路状态寄存器LSRX110MODEM状态寄存器MSRX111Scratch寄存器2.寄存器掌握字说明(1)线路掌握寄存器(LCR ),主要用于指定异步串行通信的数据格式。见表11-2。表112 LCR格式(2)线路状态寄存器(LSR ),主要是向处理器供应有关数据传输的状态。见表11-3。D6D5D4D3D2D1D0DLABSBSPEPSPENSTBWLS1WLS0除数存器 访问允许中止设定附加奇偶标 志位选择奇偶 校验 选择奇偶 校验 允许停止位选择字符长度选择1:允许0 :禁止1 :中止0 :正常1:附加1位0 :不附加11 :偶校验01 :奇校验X0 :无校验0 : 1位停止位 1:1.5或2位停止位 (依据D1D0)区分)00 : 5 位 01 : 6 位10 : 7 位 n : 8 位表U-3 LSR格式D7D6D5D4D3D2D1D0TSRETHREB1FEPEOEDRFIFO中接收发送移位发送保持中止识接收格接收奇接收重接收缓数据错误寄存器空寄存器空别指示式错偶错叠错冲区满(3)波特率除数寄存器,用该寄存器设置串行数据的传送波特率。除数寄存器值二基准时钟频率- ( 16x波特率)16550芯片输入的基准时钟频率为1.8432MHz若波特率为9600b/s则除数寄存器值为000CH , DLH中应填00H , DLL中应填0CHo 16550常用波特率参数见表11-4。表常用的波特率参数表DLABA2A1A0被访问的寄存器0000接收数据寄存器(读),发送保持寄存器(与)0001中断允许寄存器正R1000波特率除数寄存器(低字节)1001波特率除数寄存器(身字号)X010中断识别寄存器IIR (只读),FIFO掌握器FCR (只写)X011线路掌握寄存器LCRX100MODEM掌握寄存器MCRX101线路状态寄存器LSRX110MODEM状志寄存器MSRX111Scratch寄存器(4)中断允许寄存器(IER ), 16550共有4级中断,按优先级从高到低依次为:接收出错中断、接 收缓冲器满中断、发送保持寄存器空中断和MODEM输入状态转变中断。这些中断的允许或屏蔽由IER 来掌握。见表11-5。表115 IER格式D7D6D5D4D3D2D1D00000在在LE类型0中断 MODEM状态转变 1-允许0-屏敝类型3中断 接收出错 1-允许 0 -屏蔽类型1中断发送保持器空1-允许0-屏敝类型2中断 接收缓冲区满 1-允许 0-屏敝(5)中断标识寄存器(HR ),当16550处于中断处理方式JIR指出有无待处理的中断发生及其类 型,并且封锁比此类优先级低的全部类型中断。见表11-6。表n-6 iir格式(6) MODEM掌握寄存器(MCR ) ,MCR掌握芯片的4个引脚的输出和芯片的环路检测。见表11-7。D7D6D5D4D3D2D1D0-FIFO指示标志00超时中断中断类型标识未决中断指示00 -无 FIFO01 -允许FIFO,但不行用11 -允许 FIFO0 -不超时 1-超时11 -接收出错10 -接收缓冲器满01 -发送保持器空00 - MODEM状态转变0-有1-无表U-7 MCR格式D7D6D5D4D3D2D1D0000环路检测输出2输出1恳求发送数据终端就绪0-正常收发1 -内部自循环1 - OUT2B01 - OUT1M01 - RTS置01 - DTR置0MODEM状态寄存器(MSR ), MSR反映UART与通信设施(如MODEM )之间联络信号的当前状态以及这些信号的变化状况。见表11-8。表MSR格式说明:D7D6D5D4D3D2D1D0RLSDRIDSRCTSRLSDTERIDSRCTS收到接收线收到振收到数传收到清RLSD 位收到振铃DSR位发CTS位发载波检测铃指示机就绪除发送发生转变指示后沿生变化生变化D7二1表示输入引脚RLSD = 0 , MODEM收到来自电话线的载波信号。D6 = l表示输入引脚RI=0 , MODEM收到振铃信号。D5 = 1表示输入引脚DSR = 0 , MODEM做好了发送预备,请16550预备接收。D4 = 1表示输入引脚CTS = 0 , MODEM做好了接收预备,16550可以发送数据。D3QLD0位为 T 是说明在上次读取MSR之后,MSR的D7,D5,D4中相应位发生了变化。D2位为是说明输入到芯片的RI已由规律状态变成规律状态。FIFO掌握寄存器(FCR ), 16550增加了一个FIFO缓冲器,用于缓冲正在发出或接收的数据,这是 早期的UART器件所没有的。FCR各位意义见表11 - 90表FCR格式位意义位意义0允许FIFO缓冲器工作4保留1清除接收FIFO缓冲器5不用2清除发送FIFO缓冲器6接收端中断触发器水平(LSB )3DMA方式7接收端中断触发器水平MSB )【试验说明及步骤】对16550进行编程,不断向发送寄存器写数,用示波器观看TXD信号脉冲变化,认真分析波形, 理解波形原理。串行传输的数据格式可设定如下:传输波特率为9600baut,每个字节有一个规律 的起始位,8位数据位,1位规律1的停止位,如图11-3所示。试验步骤如下:Q)确认从PC机引出的两根扁平电缆已经连接在试验平台上;(2)首先运行CHECK程序,查看I/O空间始地址;(3)采用查出的地址编写程序,连续向发送寄存器写55H ,然后编译链接;(4)参考图11-5所示连接试验线路。并将TXD与试验装置GND同示波器相连接;(5)运行程序,在示波器上观看波形;(6)可以转变发送的数据,再认真观看波形。图U-3 16550串口应用试验参考程序流程图高位字节逻辑08位字符奇偶逻辑1起始位停止位图11-4串行传输的数据格式【汇编源程序】VR RD CSCLK INVR RD CSCLK INr16550串口应用试验参考接线图糕 理照-0-0TXD550甑16单76 5 43210 2 10DDDDDDDD AAA图 11-5示波黠I0Y0 EQUI0Y0 EQU0DC00HMY16550_0 MY16550_l MY16550.3 STACK1EQU EQU EQU SEGMENTI0Y0+00HMI0Y0+01HM I0Y0+03HMSTACKDW256 DUP(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODESTART:MOV DXzMY16550_3MOV AL,80HOUT DXZALMOV DXzMY16550_0MOV AL, OCHOUT DXZALMOV DXZMY1655O_1MOV ALQOHOUT DXZALMOV DXZMY1655O 3MOV AL,1BHOUT DX,ALMOV DXzMY16550_lMOV ALQOHOUT DX,ALSEND:MOV DX,MY16550_0MOV AL,53HOUT DX,ALCALL DALLYMOV AH,1INT16HJZSENDQUIT:MOV AX,4C00HINT 21HDALLY PROC NEARPUSH CXPUSH AXMOV CXZO1OOHDI:DI:MOV AXJ000HD2:DEC AXJNZ D2LOOP DIPOP AXPOP CXRETDALLY ENDPCODE ENDSEND START【试验结果】 截图:53H奇校验波形图53H偶校验波形图57H奇校验波形图57H偶校验波形图取一帧:O,O 101 0 110100 1053H奇校验波形图(一帧)53H偶校验波形图(一帧)ioIi o: nJ ooH oii : o i o 1_rL_n_rL_r -TLrLT-L-57H奇校验波形图(一帧)57H偶校验波形图(一帧)