- 1、本文档共44页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]92 可编程串行接口8250
9.2 可编程串行接口8250 本节介绍以下内容: 串行通信的基本概念 可编程串行通信接口芯片8250 8250应用举例 串行通信的基本概念 通信既包括计算机与外部设备之间,也包括计算机和计算机之间的信息交换。 由于串行通信所用的传输线少,并且可以借助现存的电话网进行信息传送,因此,特别适合于远距离传送。 对于那些与计算机相距不远的人机交互设备和串行存储的外部设备(磁盘等),采用串行方式交换数据也很普遍。 串行通信的特点 [1]串行传送是在一根传输线上一位一位地传送,这根线既作数据线又作联络线,也就是说要在一根传输线上既传送数据信息,又传送联络控制信息。 [2] 数据格式固定,分异步和同步数据格式。与此相应,就有异步通信和同步通信两种方式。 [3]信号的逻辑定义与TTL不兼容,因此,需要进行逻辑关系和逻辑电平转换。 [4]串行传送信息的速率需要控制,要求双方约定通信传输的波特率。 数据传送的方向 单工(Simplex) 半双工(Half Duplex) 全双工(Full Duplex) 数据传送方向图解 异步串行数据发送格式 8250 内部寄存器编址 线路控制寄存器LCR的控制字格式 传输线状态寄存器LSR状态的格式 Modem控制寄存器MCR控制字的格式 Modem状态寄存器MSR状态字的格式 中断允许寄存器IER控制字格式 (6)波特率发生器 8250使用1.8432MHz的时钟源,通过分频器产生内部基准脉冲,作为数据接收器和发送器的同步脉冲,以控制接收移位寄存器和发送移位寄存器的移位操作。 接收和发送串行数据时所使用的时钟频率是数据传送波特率的16倍。通过改变时钟频率(即改变分频系数)就可得到不同的波特率。分频系数与波特率之间的关系如下: 分频系数=1843200/(波特率*16) 分频系数与波特率的对应关系下表所示。 波特率与分频系数对应表 9.2.2 8250初始化及应用编程 8250串口芯片的初始化编程就是设置波特率、确定串行通信的数据帧格式、中断的设置等。 8250 的初始化流程 【例2】编写设置波特率为9600的初始化程序。 根据前面公式计算或查表得知,波特率为9600时,分频值为000CH。在写入分频值前,还必须设置线控寄存器的特征位为1,初始化程序为: MOV AL ;设置波特率时,要求特 征位 DLAB为1 MOV DX,3FBH ;线控寄存器端口地址 OUT DX,AL ;写入特征位 MOV AL,0CH ;波特率分频值低字节 MOV DX,3F8H ;分频值低位寄存器端口 地址 OUT DX,AL ;写入分频值低位 MOV AL,00H ;波特率分频值高字节 INC DX ;分频 值高位寄存器端口地址 OUT DX,AL ;写入分频值高位 8250应用举例 【例9.14】微机系统中有以INS8250为核心的异步串行通信接口。请编写程序,将微机作为发送和接收机,从键盘输入内容,接收后再在CRT上显示出来。设数传速率为1200波特;通信格式为7位字符、1个停止位、奇校验;数据发送和接收均采用查询方式。 首先要对串口芯片进行初始化,按照题目要求,初始化控制字应该,波特率为1200波特时,分频值为0060H。初始化程序如下: MOV DX,3FBH ;线控寄存器端口地址 MOV AL,80H ;线控寄存器最高位(特征位)置为1 OUT DX,AL ;准备设置波特率 MOV DX,3F8H ;波特率分频值寄存器低位端口地址 MOV AL,60H ;设波特率为1200,低位分频值为60H OUT DX,AL MOV DX,3F9H ;波特率分频值寄存器高位端口地址 MOV AL,00H ;高位分频值为00H OUT DX,AL MOV DX,3FBH ;线控寄存器端口地址 MOV AL,0AH ;控制字。奇校验,1位停止位,7位数据位 OUT DX,AL MOV DX,3FCH ;MODEM控制寄存器端口地址 MOV AL,13H ;自测试状态,关中断,发 DTR和RTS OUT DX,AL MOV DX,3F9H ;中断允许寄存器端口地址 MOV AL,0 ;中断允许寄存器为0,禁止所有中断 OUT DX,AL 对串口初始化完成以后,就可收发数据了,题目要求查询方式,在接收数据之前需要对线状态寄存器的值进行判读,如果有错误,需要进行错误处理;如果发送缓冲器中的数据尚未发送出去,需要继续查询等待;
文档评论(0)