定时与计数器.pptVIP

  1. 1、本文档共84页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
定时与计数器

(5) 方式4:单次负脉冲输出(软件触发) 特点:与方式0类似,特点②,③不一样 ① 计数过程由软件启动,每设置一次初值,只启动一次计数过程; ② 写入控制字后,OUT初态为高,在计数过程中一直保持为高电平,当计数器减到0时,输出为一个周期的CLK低电平,输出接着变成高电平并一直维持。 ③ 门控GATE为1,正常计数,门控为0,计数停止,再为1,重新从计数初值开始计数; ④ 计数过程中,改变初值立即有效,即重新写入初值时停止计数,当写完初值后,在CLK的下降沿处,开始以新的计数初值计数。 * 方式4:写入控制字后,OUT初态为高,在计数过程中一直保持为高电平,当计数器减到0时,输出为一个周期的CLK低电平,输出接着变成高电平并一直维持。 * GATE对输出的影响:GATE为低,计数停止,为高后,重新开始计数。 * 重装初值对输出的影响:改变初值立即有效。 * (6) 方式5:单次负脉冲输出(硬件触发) 特点:与方式1类似,只是输出电平不同 ① 计数器只能由门控脉冲GATE的上升沿启动,即计数器只能由硬件启动,不能用软件启动; ② 写入控制字后,OUT初态为高电平,GATE启动后,开始减1计数,计数到零后,OUT出现一个CLK周期的负脉冲,又变为高电平,可以再次由外部触发启动,不用再次送入一个计数初值; ③ 在计数中,若GATE出现上升沿,则计数器重新触发,即在下一个时钟周期开始计数; ④ 计数输出期间,改变计数初值不影响本次计数,只有在GATE信号后才重新开始以新的计数初值计数,即计数值是下次有效的。 * 门控触发 开始计数后输出1个CLK宽度的低电平 * 重新启动门控GATE对输出的影响:不用重装初值,上升沿启动又开始新的计数。 * 重装初值对输出的影响:不影响本次计数,在输出本次CLK脉冲后按新的计数值开始计数。计数值是下次有效的。 重装重装下次有效 * 方式4,5的功能: 方式4和方式5都是单个负脉冲发生器,其特点是单个脉冲宽度固定,且等于时钟脉冲的宽度。两者的区别是,启动方式不同,方式4由“软件”启动,方式5由“硬件”启动。 * 总结: 在6种方式中,只有方式0,在写入控制字后OUT为低,其余都是OUT为高做初态; 方式1与方式5,在写入计数值后,需GATE的上升沿才开始计数;其他方式都是在写入计数初值后立即启动。即写入计数初值作为软件启动的启动信号。 方式2与方式3是定时方式(周期信号),其他为计数方式(一次计数结束); 计数器减到0后并不是停止不动,在计数方式中,计数器都从最大计数值(FFFFH,9999H)继续减1计数,定时方式(方式2与方式3)为重装计数初值。 * 特点 0方式 1方式 2方式 3方式 4方式 5方式 基本 功能 计数结束输出正跳变信号 单稳延时器 分频器 方波发生器 单脉冲发生器 单脉冲发生器 基本输出波形 写入初值后,经过N个CLK输出为高 宽度为 N个CLK宽度的单个 负脉冲 宽度为一个CLK宽度的连续 负脉冲 占空比为1:1或近似1;1的连续 方波 宽度为一个CLK宽度的单个 负脉冲 宽度为一个CLK宽度的单个 负脉冲 * * 5种方式的基本波形 * 8.3 8253的应用 8253初始化编程的步骤 根据要求或硬件电路确定各通道和控制字寄存器的地址; 根据对各通道计数或定时的要求确定8253的控制字; 根据要求计算各通道的计数值; * 例:若要用通道0,工作在方式1,按二-十进制计数,计数值为5080。8253端口地址为F8H~FBH。 D7 D6 D5 D4 D3 D2 D1 D0 计数器 0 0 读写格式 工作方式 数制 计数器0 0 1 计数器1 1 0 计数器2 1 1 无效 分析:只初始化计数器0。 D7 D6 D5 D4 D3 D2 D1 D0 0 0 1 1 0 0 1 1 33H 控制寄存器地址: FBH 计数器0地址: F8H * 分析:只初始化计数器0。 D7 D6 D5 D4 D3 D2 D1 D0 0 0 1 1 0 0 1 1 33H 控制寄存器地址: FBH 计数器0地址: F8H MOV AL, 33H;控制字 OUT 0FBH, AL ;控制字寄存器 MOV AL, 80H ;计数初值低位 OUT 0F8H, AL ;通道0地址 MOV AL, 50H ;计数初值高位 OUT 0F8H, AL * 例:若要读取通道1的16位计数值,程序如何? 8253的每一个通道都有一个输出锁存器,通过控制字向对应的输出锁存器发命令,锁存当前的计数值,而计数器的计数不受影响,然后CPU分两次将锁存器的内容读出。当CPU读取了锁存值或对计数器重新编程后则自动解除锁存状态。 * 锁存命令控制字: D7 D6 D5 D4 D3

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档