微机原理、汇编语言与接口技术ch08 可编程接口芯片.ppt

微机原理、汇编语言与接口技术ch08 可编程接口芯片.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
接收端初始化程序和接收控制程序 RECV: MOV DX,202H MOV AL,7FH ;初始化8251A,异步方式,8位数据 OUT DX,AL ;1位停止位,偶校验,波特率系数64 MOV AL,14H ; 清除错误标志,允许接收。 OUT DX,AL MOV DI,接收数据块首地址 ;设置地址指针 MOV CX,接收数据块字节数 ;设置计数器初值 COMT: MOV DX,202H IN AL,DX ROR AL,1 ;查询RXRDY有效否? ROR AL,1 JNC COMT ;无效则等待 ROR AL,1 ROR AL,1 ;有效时,进一步查询是否有奇偶校验错 JC ERR ;有错时,转出错处理 MOV 200H IN AL,DX ;无错时,输入一个字节到接收数据块 MOV [DI],AL INC DI ;修改地址指针 LOOP COMT ;未传输完,则继续下一个 HLT ERR: …… ;错误处理 3、 中断通信方式的编程方法 查询状态方式进行通信,使CPU的效率很低。通常情况下主程序要对通信的数据进行处理。因此要利用中断方式解决数据的通信问题。 关键 解决主程序与中断服务程序的数据传递 中断通信方式的循环队列 接收缓冲 寄存器 中断服务程序 主程序 读队列送UART (保持寄存器空中断) 读UART送队列 (接收数据准备好中断) 发送处理: 向队列 输出字符 接收处理: 从队列 输入字符 接收队列 尾指针 头指针 头指针 尾指针 发送队列 UART 发送保持 寄存器 接收队列 尾指针 头指针 接收队列 尾指针 头指针 11H 22H 接收队列初始状态 中断服务程序从UART收到数据后 33H 接收队列 尾指针 头指针 11H 22H 主程序读出输入的数据去处理后 33H 头指针 尾指针 发送队列 发送队列初始状态 头指针 尾指针 发送队列 主程序发送数据到队列 41H 42H 43H 头指针 尾指针 发送队列 中断服务程序向UART发送数据后 41H 42H 43H 8.4 可编程定时/计数接口芯片8254 定时器和计数器 定时控制在微机系统中具有极为重要的作用,计数是许多过程控制领域常用的功能 它们都是由数字电路中的计数电路构成 定时器由数字电路中的计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间隔 计数电路如果记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲的个数(进而获知外设的某种状态),常又称为计数器 定时功能的实现方法 软件延时 利用微处理器执行一个延时程序段实现 不用硬件,但占用CPU时间、定时精度不高,随系统时钟频率改变 不可编程的硬件定时 采用分频器、单稳电路或简易定时电路控制定时时间 定时电路简单、定时时间可以在一定范围改变 可编程的硬件定时 软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路 具有多种工作方式、能够输出多种控制信号 8253/8254定时计数器简介 3个独立的16位计数器通道 每个计数器有6种工作方式 按二进制或十进制(BCD码)计数 8254是8253的改进型 8.3.2 8251A的引脚信号 C/D* RD* WR* CS* 功能 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 0 CPU从8251A输入数据 CPU向8251A输出数据 CPU读取8251A的状态 CPU往8251A写初始化控制命令 C/D*: 控制数据信号。该信号一般连至地址线A0,用于选择控制端口/数据端口。数据输入输出寄存器合用一个端口(为0,偶地址),控制寄存器与状态寄存器合用一个端口(为1,奇地址)。 1.与CPU之间的连接信号 8.3.2 8251A的引脚信号 TxRDY:发送器准备好,输出,高有效。通知CPU,8251已准备好发送,CPU可以为其提供需要发送的字符。CPU可以查询该信号,或把该信号作为中断请求信号。 RxRDY:接收器准备好,输出,高有效。通知CPU,8251已从外部设备收到一个字符,等待CPU读取。CPU可以查询该信号,或把该信号作为中断请求信号。 TxE:发送器空。通知CPU发送缓冲器空。此时,在状态寄存器的TxE位

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档