8251习题[精].ppt

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8251习题[精]

有关串行通信理论及8251A的应用 分析题: 已知寄存器或初始化程序,让写出8251具体工作方式,及格式 初始化: 同步初始化:先写模式字,然后同步字符,然后控制字 异步初始化: 先写模式字,然后控制字 1、一块联接在8086微机上的8251A,其数据端口和控制端口地址分别为130H、132H,已知其初始化编程如下,试分析其工作状态: 2、如果8251A的工作方式寄存器内容那么发送的字符格式如何?为了使接收的波特率和发送的波特率分别为300b/s和1200b/s,试问加RxC#和TxC#上时钟信号的频率应为多少? 解: 寄存器内容 有1bit停止位 EP=1 PEN=1 说明采用偶校验 L2L1=10 B2B1=11 数据位为7位,波特率因子为64 RxC#上时钟信号的频率为300×64=19.2kHZ TxC#上时钟信号的频率为1200×64=76.8kHZ 3、一块联机的8251A芯片作双向数据传送用,异步方式,波特率系数为64,每字符收发7位,偶校验,两个停止位,允许发送接收,所有错误标志复位,试编程初始化。(已知8251A数据端口地址为01F0H,控制端口地址为01F1H) 解:异步初始化只写模式字和控制字且均写到奇地址 经过分析、可得方式选择控制字为FBH,操作命令控制字应为15H (异步所以EH=0),故初始化为: 4、与8086微机相联的一片8251A作发送数据用,异步发送,波特率系数为16,偶校验,每个字符发6位,1个停止位,要求复位出错标志,启动发送器,请求发送有效,试编程初始化8251A(已知8251A数据端口地址为1F0H,控制端口地址为1F1H)。 解:异步初始化只写模式字和控制字且均写到奇地址 方式选择控制字为76H,操作命令控制字应为31H(异步,所以EH=0,请求发送所以RTS=1,启动发送器所以TXEN=1),故初始化为: 异步方式下的初始化方法: 先写模式字,然后控制字,均写到“奇”地址(A1=1) 模式字的值很容易确定 控制字中的 EH必为0,IR一般为0,SBRK一般为0 5、选用8251A进行同步方式的通信,规定用内同步方式,同步字符为2个,用奇校验,7位数据位,端口地址为166H和167H,试对8251A进行初始化编程。 解:同步,所以要写模式字、同步字符、和控制字,2个同步字符可相同,也可不同,这里规定均为16H MOV DX,167H MOV AL,18H OUT DX,AL MOV AL,16H OUT DX,AL OUT DX,AL MOV AL,0B7H OUT DX,AL 同步方式下的初始化方法: 先写模式字,然后同步字符,然后控制字,均写到“奇”地址(A1=1) 模式字的值很容易确定 控制字中的 EH必为1,IR一般为0,SBRK一般为0 利用状态字进行编程的举例 P215 此部分实际上是一个8251A应用的一个具体实例。 已知条件如下: 一串行外设用8251A与系统相,现要从此设输入80个字符到BUFFER变量中,要求CPU和外设之间采用程序查询方式进行通信。通信模式为异步模式,波 特率因子为16,每个字符有7个数据位,2个停止位,偶校验 BUFFER DB 80 DUP(?) 利用状态字进行编程的举例 P215 解析 外设用8251A与系统相连,所以第一步对8251A进行初始化 然后进行传输数据,又因为采用程序查询方式,所以要不断检测状态字的RxRDY位,此部分流程图如下 利用状态字进行编程的举例P215 外设用8251A与系统相连,所以第一步对8251A进行初始化 MOV AL,0FAH OUT 42H,AL ;设置模式字,异步模式,波 特率因子为16,7个数据 位,2个停止位,偶校验 MOV AL,37H OUT 42H,AL ;设置控制字,并启动接收器 MOV DI, 0 ;变址寄存器初始化 MOV CX,80 ;共收取80个字符 BEGIN: IN AL,42H ;读状态字 TEST AL,02H JZ BEGIN ;测试状态字的RxRDY IN AL,40H ;读取字符 MOV DX,OFFSET BUFFER MOV [DX+DI],AL ;

文档评论(0)

dart002 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档