微型计算机技术与应用1.pptVIP

  • 15
  • 0
  • 约 54页
  • 2017-08-26 发布于江苏
  • 举报
微型计算机技术与应用1.ppt

* * * 8251A芯片共有28个引脚,其中:有17个引脚是与系统相连接,有6个是与外部设备相连接,另外,还有3个时钟输入端,1个电源端,1个接地端。 7.2.2 8251A的外部信号 TXRDY为“1”的条件是: 发送缓冲器空?CTS ?TXEN=1 1. 用错位连接结合软件方法实现8位接口芯片与16位CPU总线的连接 在硬件上将地址总线的A1与8251A的A0(即C/D)引脚相连接,在软件设计时用连续的偶地址代替端口的奇/偶地址,就解决了8位接口芯片与16位数据总线的连接;即就是将8位的接口芯片与16位数据总线的低8位数据线相连接。 (见前8251A与系统的连接示意图) 7.2.3 8位接口芯片与CPU总线的连接 表7.1 CPU总线与8位接口错位连接小结 CPU 字长 数据线位数 选最低字节 错位连接 低位地址初值 相邻地址差值 8088 16 8 A0-A0 A0=0 1 8086 16 16 A0=0 A1-A0 A1A0=00 2 80386 32 32 A1A0=0 A2-A0 A2A1A0=000 4 Pentium 32 64 A2A1A0=0 A3-A0 A3A2A1A0=0000 8 软件上,用连续偶地址代替奇偶地址 * * 2. 用硬件方法实现8位外设与16位数据总线的连接 两个硬件电路: (1)检测控制电路:检测并识别奇地址端口输入/输出指令,确认是奇地址I/O指令时启动高/低字节复制器,并控制数据复制方向。 (2)高/低字节复制器:执行IN指令时,将外设来的数据复制至数据总线高8位;执行OUT指令时,将CPU的高8位数据复制至数据总线的低8位。 * 7.2.4 8251A的寄存器及其初始化流程 8251A初始化的约定: ① 复位后,第一次给奇地址端口写入的值作为模式字 ②如规定为同步模式,那么,接下来往奇地址端口写入的是同步字符。如果是双同步,则先后两次写入同步字符。 ③接下来,只要不是复位命令,CPU给奇地址写入的是控制字,给偶地址端口写入的是要发送的数据。 1. 8251A的初始化 8251A使用前必须进行初始化,以确定工作方式、传送速率、字符格式以及停止位长度等;改变8251A的工作方式时必须再次进行初始化编程; * 2. 模式寄存器的格式 8251A的编程包括两个方面的内容: 由CPU发出控制字,即模式命令字和操作命令控制字 由8251A向CPU送出的状态字 模式字是在对8251A进行初始化时,用程序命令写入且只需写一次。 用于规定8251A的工作方式 : * 3. 控制寄存器的格式 控制字是在模式字之后写入,用来控制8251A的工作,使其处于规定的状态以及准备发送或接收数据,可进行多次写入操作。控制字和模式字共用一个奇地址端口,且又无特征标志,8251A是根据写入的先后顺序来加以区分的,即先写入的是模式字,后写入的是控制字。 * 例如: 由控制字的格式可知,8251A的复位命令 是给奇地址端口写入40H。 即复位命令的程序段是: MOV AL, 40H OUT 奇地址端口, AL * 4. 状态寄存器的格式 状态寄存器用来存放8251A的状态字,用来反映8251A的状态信息,可供CPU读取查询。 【例】 假设 8251A的端口地址为:82H、80H,按以下要求对8251A进行初始化。 (1)异步工作方式,1个停止位,采用偶校验,7个数据位, 波特率因子为16。 (2)允许接收和发送数据,使错误位全部复位。 (3)查询8251A的状态字,当接收准备就绪时则从8251A输入 数据,否则等待。 7.2.5 8251A编程举例 1.异步方式举例 MOV AL, 40H OUT 82H, AL ;对8251A进行复位 MOV AL, OUT 82H, AL ;写模式字 MOV AL, OUT 82H, AL ;写控制字 WAIT: IN AL, 82H ;读取状态字 AND AL, 02H ;检查RxRDY是否为1 JZ WAIT ;RxRDY不为1,等待 IN AL , 80H ;RxRDY为1,读取数据 初始化程序段: * 7.2.5 8251A编程举例 2.同步方式举例 【例】 假设 8251A的端口地址为:42H、40H

文档评论(0)

1亿VIP精品文档

相关文档