- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
??? 定时/计数器都有定时或对外部事件计数的功能。通常,定时/计数器归纳起来一般有3种类型:
??? 硬件计数器 可在简单软件控制下计数,特点是成本低,使用方便,但是专用性强,使用不广泛。
??? 软件定时/计数器 特点是几乎没有硬件费用,但他占用CPU的运行时间,降低了CPU的工作效率。
??? 可编程定时/计数器 特点是工作灵活,而且不占用CPU的运行时问,缺点是成本较高。其中可编程定时/计数器8253是一种使用较为普遍的可编程定时/计数器。
??? 可编程定时/计数器8253通过软件设定,可以产生各种时间延迟信号,他的使用非常广泛,通常被用于定时控制、延时、计数等场合,如定时刷新RAM、系统时钟的计时、扬声器的发音长短的控制。在使用的时候,需要进行严密的计算和精确的测试,以满足不同的要求。
??? l 可编程定时/计数器8253的工作原理
??? 可编程定时/计数器8253是NMOS工艺制成的大规模集成电路,通过简单编程可实现不同的功能,图1为可编程定时/计数器8253的基本原理图。
????
??? 从图1可以看出,芯片内有3个独立的计数器,分别为计数器0,计数器1,计数器2,每一个计数器都是16位的,可以分别对他们设定工作方式(通过控制字设定)。
??? 图2为封装后的8253引脚图。???? 可编程定时/计数器8253可以应用在两种情况下:定时、计数。当用作定时器时,可以循环计数,信号来源一般为系统本身;当用作计数器时,信号来源一般为系统文件。在扬声器驱动系统中,可编程定时/计数器8253是作定时器来使用的。
??? 图2中对应引脚的含义如下:
??? CLK0,CLK1,CLK2:对应计数器的时钟输入。
??? GATE0,GATE1,GATE2:对应计数器输出信号。
??? OUT0,OUT1,OUT2:对应计数器输出信号。
??? RD:读信号。低电平有效,读出计数器的计数值送入缓冲器。
??? WR:写信号。低电平有效,接收由缓冲器送来的数据。
??? CS:片选信号。低电平有效。只有在CS信号低电平时8253才能产生读写操作,否则不会读写。
??? A1~A0:对3个计数器和1个控制寄存器端口进行寻址。
??? D7~D0:方式控制字。可编程定时/计数器能正确工作与否,与方式控制字密切相关。方式控制字格式如下:???? 方式控制字对应位的含义如表1所示。
???
??? ???? VCC:+5 V电源。
??? GND:接地引脚。
??? 2 可编程定时/计数器8253在扬声器中的应用
??? 扬声器驱动系统的硬件组成如图3所示。利用8253驱动扬声器发声是由系统插件上8255的外围电路来发出驱动信号的。如图3中的SPK DATA和TIM GATESPK就是接在8255的输出端口上。其中TIM GATESPK控制8253定时器来驱动扬声器,SPK DATA来控制扬声器的门电路。直接由门电路驱动发出的声音比较难听,通过滤波器滤掉杂波之后会更动听一些,所以最好如图3所示加一个滤波器。
????
????
??? (1)首先以流程图的方式说明使用扬声器发声的过程,如图4所示。? ??? (2)可编程定时/计数器8253在扬声器中应用的编程。一般情况下,8255的输出端口地址为61H,分配给8253的控制口地址为46H,3个计数器端口地址分别为40H,42H,44H,让计数器2工作在模式3下,可使8253作为定时器驱动扬声器发声。
??? 则编写程序如下:?
????
????
???
???? ???? 从程序中可以看到利用可编程定时/计数器8253可以发出各种频率的声音,只要在程序中稍微更改一下输入时钟频率或计数初值即可实现。
文档评论(0)