微机原理 第7节.ppt

  1. 1、本文档共113页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
共113页 Intel 8253定时器/计数器 初始化编程步骤 8253没有复位信号,加电后工作方式不确定。 ① 写入控制字 向控制字寄存器写入一个控制字,选定计数器通道,规定该计数器的工作方式和计数方式。写入控制字还起到复位作用,使输出端OUT变为规定的初始状态,并使计数器清0。 ② 写入计数初值 向选中的计数器端口地址中写入一个计数初值,初值设置时要符合控制字中有关格式的规定。初值可以是8位数据,也可以是16位数据。若是8位数,只要用一条输出指令就可完成初值的设置。如果是16位数,则必须用两条输出指令来完成,而且规定先送低8位数据,后送高8位数据。注意,计数初值为0时,也要分成两次写入,因为在二进制计数时,它表示65536,BCD计数时,它表示10000。 由于3个计数器分别具有独立的编程地址,而控制字寄存器本身的内容又确定了所控制的寄存器的序号,因此对3个计数器通道的编程没有先后顺序的规定,可任意选择某一个计数器通道进行初始化编程,只要符合先写入控制字,后写入计数初值的规定即可。 在计数初值写入8253后,还要经过一个时钟脉冲的上升沿和下降沿,才能将计数初值装入实际的计数器,然后在门控信号GATE的控制下,对从CLK引脚输入的脉冲进行递减计数。 主要工作特点: 如果GATE为高电平,则在写入计数值后的下一个时钟脉冲时,将计数值装入执行部件,并开始计数。 1)计数器初值为偶数,计数时,每一个时钟脉冲使计数值减2。计数值减为0时,OUT输出引脚由高电平变成低电平,同时自动重新装入计数初值,继续进行计数。当计数值减为0时,OUT引脚又回到高电平,同时再一次将计数初值装入计数器,开始下一轮循环计数; 2)计数初值为奇数,第一个时钟脉冲使计数器减1,以后每来一个时钟脉冲,都使计数器减2,当计数值减为0时,输出端OUT由高电平变为低电平,同时自动重新装入计数初值继续进行计数。这时第一个时钟脉冲使计数器减3,以后每个时钟脉冲都使计数器减2,计数值减为0时,OUT端又回到高电平,并重新装入计数初值后,开始下一轮循环计数。 这两种情况下,从OUT端输出的方波频率都等于时钟脉冲的频率除以计数初值。但要注意,当写入的计数初值为偶数时,输出完全对称的方波,写入初值为奇数时,其输出波形的高电平宽度比低电平多一个时钟周期。 3) GATE能使计数过程重新开始, GATE=1允许计数, GATE=0禁止计数。若OUT为低期间,GATE变成低电平时,就迫使OUT变为高电平,并禁止计数,当GATE回到高电平时,重新从初值n开始进行计数。 4)如果希望改变输出方波的频率,CPU可在任何时候重新装入新的计数初值,在下一个计数周期就可按新的计数值计数,从而改变方波的频率。 例4:使计数器T0工作于方式4,进行8位二进制计数, 并且只装入低8位计数值。其初始化程序段为: MOV DX,307H ;命令口 MOV AL ;方式字 OUT DX,AL MOV DX,304H ;T0数据口 MOV AL,BYTEL ;低8位计数值 OUT DX,AL 方式0和方式4,GATE为高电平时,允许计数,GATE为低电平或下降沿时,禁止计数。 方式1和方式5,只有当门控信号产生从低电平到高电平的正跳变时,才允许8253从初始值开始计数。 但两者对输出电平的影响是有区别的: 方式1时,GATE信号触发8253开始计数后,就使输出端OUT变成低电平; 方式5的GATE触发信号不影响OUT端的电平。 方式2和方式3,GATE为高电平时允许计数,低电平或下降沿时禁止计数,若GATE变低后又产生从低到高的正跳变时,将会再次触发8253从初值开始计数。 6种工作方式各有特点,适用的场合也不一样。 对于方式0,在写入控制字后,输出端即变低,计数结束后,输出端由低变高,常用该输出信号作为中断源。其余5种方式写入控制字后,输出均变高。方式0可用来实现定时或对外部事件进行计数。 方式1用来产生单相负脉冲,宽度为计数初值n个时钟脉冲。 方式2用来产生序列负脉冲,每个负脉冲的宽度与CLK脉冲的周期相同。 方式3用于产生连续的方波。方式2和方式3都实现对时钟脉冲进行n分频。 方式4和方式5的波形相同,都在计数器回0后,从OUT端输出一个负脉冲,其宽度等于一个时钟周期。但方式4由软件(设置计数值)触发计数,而方式5由硬件(门控信号GATE) 触发计数。 这6种工作方式中,对于方式0

文档评论(0)

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

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

1亿VIP精品文档

相关文档