- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]3第三章定时、计数技术
第三章 定时/计数技术 本章内容 基本概念 可编程定时器/计数器8253/8254 应用举例 实时钟电路MC146818及其应用 3.1 基本概念 什么是定时/计数 定时 确定时间间隔 计数 即统计个数 定时与计数的关系 计时的本质是计数;计数是计时的基础 频率-声音-音乐 基本概念 微机系统中的定时 分为外部定时和内部定时 内部定时是计算机本身运行的时间基准或时序关系,计算机的每个操作都是按照严格的时间节拍执行的,是固定的。如:DRAM的刷新 外部定时是外部设备实现某种功能时,本身所需要的一种时序关系,是多样的。如:打印机接口标准接口所需要的定时。 定时的方法 两种:软件定时和硬件定时 软件定时 原理 执行指令需要若干指令周期?延时程序 优点 不需要硬件或硬件很简单 只需要编制相应的延时程序 缺点 增加CPU的时间开销,浪费其资源,无通用性。 定时的方法(续) 硬件定时 专用多谐振器件或单稳器件 缺点:改变定时要改变器件 可编程通用定时器/计数器芯片 目前通用(高档微机:多功能芯片实现) 优点: 使用灵活,改变定时时间或工作方式只要改变编程参数 初始化后,不再占用CPU时间 种类很多:Z480-CTC,MC6840-PTM,Intel8253/8254等等 8253/8254定时器/计数器 定时/计数技术的作用 为CPU和外部设备提供 定时控制 对外部事件计数 例子 分时系统的程序切换 输出周期性定时信号 定时发出中断请求或控制信号 动态存储器的刷新定时…… 8253与8254 引脚和操作方式完全一样 8254的改进: 计数频率快:5MHz?10MHz 新的有效控制字:读回命令 8253概述 参数特性 3个独立的16位计数器通道(channel) 6种工作方式 二进制计数或二-十进制计数 通用性 其读写操作对系统时钟没有特殊要求 方波频率发生器、分频器,实时时钟,事件计数器、单脉冲方式器 8253引脚及功能逻辑图 8253内部逻辑框图 8253的内部结构:数据总线缓冲器 三态、双向8位寄存器 与系统的数据总线相连 基本功能:通过它,CPU实现: 向芯片写入工作方式的命令字 向某一计数器写入计数初值 从某一计数器读取当前计数值 8253的内部结构:读/写逻辑 内部控制电路 CS=0时 A1、A0信号选择芯片内部寄存器 读信号RD和写信号WR完成对选定寄存器的读写操作 CS=1时 数据总线缓冲器与系统数据总线脱开(现行的计数工作不受影响) 8253的内部结构:控制字寄存器 初始化时,由CPU写入控制字,决定计数器的工作方式。 只能写入,不能读出 8253的内部结构:计数器 3个独立的计数器,每个结构完全相同 每个计数器对外有3个引脚 GATEi(门控信号输入)、CLKi(计数脉冲输入)、OUTi(信号输出) 工作程序:每来一个脉冲则计数器减1,计数器减到0时,OUT端产生输出信号,表示定时或计数已到。 8253寄存器读/写操作及端口地址 8253的端口地址 CS等于0时,A1、A0等于: 00:0#计数器 01:1#计数器 10:2#计数器 11:控制字寄存器 8253的工作方式 3个计数器均有6种工作方式 主要区别 输出波形不同 启动计数器的触发方式不同 计数过程中门控信号GATE对计数操作的影响不同 有的工作方式具备“初值自动重装”功能 减到规定数值后,计数器初值重装 方式0:减一计数到零发中断请求 写入控制字,OUT端输出为低电平。写入计数初值,OUT保持低电平,计数器开始对CLK脉冲进行减1计数,到0时,OUT端输出变为高电平(用此信号向CPU发中断请求) 不具备“初值自动重装” 计数过程中,改变初值后,重新计数 GATE为计数控制信号,GATE =1时允许计数 =0时停止计数 见图 方式0:减一计数到零发中断请求-图 方式1:可编程单脉冲输出 外部门控脉冲(硬件)启动计数 写入控制字后,OUT输出高电平。写入计数初值后,OUT保持高电平。 计数器由GATE的上升沿启动,GATE启动之后,OUT变为低电平。计数器对CLK计数至0时,OUT输出高电平,这样产生一个负脉冲,其宽度=计数初值*CLK脉冲周期。 方式1:可编程单脉冲输出 NOTE: 方式1没有“初值自动重装”功能。GATE再次0--1跃变,完成初值重装。 计数过程中,GATE出现正脉冲,计数器将从初值开始重新计数。 计数过程中,程序员可装入新的计数初值,此新值在GATE出现跃变才生效。 见图(n=4) 方式1:可编程单脉冲输出-图 方式2:周期性时间间隔计时器(分频器) “初值自动重装” 写入控制字后,OUT输出高电平,写入计数初值后,如果GATE为高电平,计数器开始减1计数。 当减到1时,OUT输出低电平,维持一个C
文档评论(0)