欢迎来到天天文库
浏览记录
ID:44436879
大小:759.00 KB
页数:32页
时间:2019-10-22
《08-2串行通信接口8250》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第二部分PC微机异步通信适配器的分析和使用一、PC中的UART1.INS82502.PC16450/PC16550带16字节的发送缓冲器和14字节的接收缓冲器FIFO我的电脑中串口配置3.端口基地址,硬件中断请求号,中断向量:COM1:3F8H,4,0CCOM2:2F8H,3,0B当加入其他的串口卡后,其地址一般为COM3:3E8,4,0CCOM4:2E8,3,0B由于冲突,一般应该将中断请求修改为其他保留的号。4.多串口卡:2,4,8,16,32如MOXA卡提供标准的编程开发包。端口地址:每个一口,但中断一个(多
2、个)二、UART的简单应用1.连线:RS232C接口标准,3线或7线连接方式2.编程:1)自己编写初始化及接收发送程序2)调用BIOS编程:INT14H3)调用DOS编程:INT21H,调用号03和044)DOS下按照文件编程,文件名就是COM1:或COM2:5)WINDOWS下VB编程,用MSCOMM控件编程6)WINDOWS下VC编程,用类、控件,或者按文件编程。7)用开发包编程:有很多,可以从网上下载。三、UART的管脚与结构1.管脚管脚信号说明数据总线缓冲器:D0~D7:双向数据线选择与控制逻辑:CS0、C
3、S1、CS2-:输入片选信号A0、A1、A2:8250内部寄存器选择信号MR:主复位输入信号,高电平有效ADS-:地址选通信号=AENDISTR、DISTR-:数据输入选通信号DOSTR、DOSTR-:数据输出选通信号DDIS:驱动器禁止信号,在CPU从8250读取数据时为低电平,其他时间为高电平禁止外部收发器对系统总线的驱动CSOUT:片选输出信号XTAL1、XTAL2:外部时钟端中断控制逻辑:INTR:中断请求输出信号MODEM控制逻辑:CTS-:清除发送信号RTS-:请求发送信号DTR-:数据终端准备好信号D
4、SR-:数据装置准备好信号RLSD-:接收线路信号检测信号RI-:振铃指示信号OUT1-:由用户编程指定的输出端OUT2-:与OUT1一样,可以由用户编程指定(PC用)发送移位寄存器SOUT:串行输出信号接收移位寄存器SIN:串行输入信号RCLK:接收时钟信号波特率发生器BAUDOUT:波特率输出2.内部结构数据接收寄存器数据发送寄存器接收移位寄存器发送移位寄存器线路控制寄存器线路状态寄存器除数寄存器高位除数寄存器低位波特率发生器MODE控制寄存器MODE状态寄存器中断允许寄存器中断识别寄存器控制逻辑控制逻辑数据总
5、线缓冲器读写控制逻辑内部数据总线D0~D7CS0CS1CS2A2A1A0ADSDISTRDISTRDOSTRDOSTRDDISMROOOSOUTSINXTAL2XTAL1BAUDOUTRTSCTSDTRDSRRLSDRIOUT1OUT2INTRPTRCLK发送器控制逻辑接收器控制逻辑3.连接PC/XT异步通信适配器电路四、寄存器与BPS1.地址分配及其复用3根地址信号线:A2A1A08个地址,7个可用,10个可编程物理端口,复用。2.10个寄存器及其每位的作用。。。。。。。。。。。。。2.波特率除数波特率除数(BR
6、D)是16位数,它与UART的数据传输速率(波特率)有关。当使用UART的内部时钟频率为1.8432MHz时,则波特率除数BRD与波特率Baud之间的关系如下式所示:BRD=时钟频率/(16×Baud)。例如,若要计算波特率为1200b/s的波特率除数,则有:BDR=1843200/(16×1200)=0060H。端口地址初始化顺序1、通信线路控制器(011BPC机地址3FBH)D0D1D2D3D4D5D6D700:5位01:6位10:7位11:8位字符长停止位0:1个停止位1:1.5个停止位(字符长5位)2个停止
7、位(字符长6~8位)0:无校验位1:有校验位校验类型0:奇校验,1:偶校验固定奇偶位,既当D4,D3=11时(偶校验),D5=0当D4,D3=01时(奇校验),D5=10表示正常收发D7=0寻址TBR、RBRIERD7=1寻址DLL、DHL选择异步通信格式D0D1D2D3D4D5D6D72、通信状态寄存器LSR(1013FDH)DROEPEFEBITHRETSRE01:接收数据就绪1:溢出错1:奇偶较验错1:幀错误1:正在传输中止符1:发送缓冲器空发送移位寄存器空3、分频次数锁存器DLH和DLL(3F9H,3F8H
8、)1.8432MHZ基准时钟,进行1~65535次分频后由BAUDOUT引脚输出的频率为16×b/s的时钟。8250初始化时,必须将16位的分频次数分两次写入高低两个8位分频次数锁存器DLH和DLL分频次数=1843200HZ/16×波特率(基准时钟)D0D1D2D3D4D5D6D7DTRRTSOUT1OUT2LOOP0004、调制解调控制寄存器MCR(10
此文档下载收益归作者所有