- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8253应用
8253的应用举例
图6-2为8253与ISA总线系统连接的例子。
图6-2 8253与ISA总线的连接
从图中可以看出,把8253和ISA总线相连非常简单,只要把-RD,-WR和ISA总线系统中的-IOR及-IOW相连,其他都可和ISA总线的对应端相连。
图6-3为8253与89C51连接的例子,此时只需要连接数据线、读、写线,地址线及片选线即可。
图6-3 8253与MCS-51系统的连接
例6-1 利用INTEL 8253产生各种音调信号。
利用INTEL 8253 的分频工作方式,可以在其输出端产生某一频率的信号,如得到的为方波信号,可直接通过驱动电路驱动扬声器,如得到的为窄信号,则应通过两分频而得到方波,再通过驱动电路驱动扬声器。
发声及停顿的时间可以用门控信号来进行控制。
根据规定,音阶是一个公比为 的等比数列,其中4、7是半音阶,公比为 ,因此,可得到音符的频率表如表6-4所示。
表6-4 音阶对应的频率
音阶(低) 1 2 3 4 5 6 7 频率(Hz) 130 146 164 174 196 220 246 音阶(中) 1 2 3 4 5 6 7 频率(Hz) 261 293 329 349 392 440 493 音阶(高) 1 2 3 4 5 6 7 频率(Hz) 522 586 658 698 784 880 986 ?
为发出上述各种音调,可通过改变定时器的时间常数来实现。
对于此例,如果要求发出多种声调,则可通过多次写入时间常数来实现。对于多种声调的时间常数,可以通过查表程序的方法获得,以便程序编得简练。
例 6-2 利用 8253测量一正脉冲的宽度。
此例的硬件连接如图6-4所示。
图6-4 利用 8253测量一正脉冲的宽度
将输入的正脉冲作为门控信号,计数输入端为标准时钟。8253置于方式0,计数初始值为0000H。用P1.0作为输入正脉冲高低电平的测量端。
测量过程如下:先检测P1.0是高电平还是低电平,如果是低电平,则送出计数初值,此时由于门控信号为低电平,计数器不工作,当脉冲源为高电平时,计数器开始计数,并在其恢复低电平后再停止计数。因此在送出计数初值后查询P1.0,如为高电平,表示已开始计数。继续查询,若为低电平,表示计数已结束。此时在计数器中为一稳定的计数值,可用读计数器的方法将其读出。由于是减法计数,因而读出的为计数值的补码,应将其转为原码,然后按标准时钟频率求出其正脉冲宽度。例6-2的程序流程图如图6-5所示。
图6-5 利用 8253测量正脉冲宽度的程序流程
例6-3 信号周期的测量。
将一个信号经D触发器两分频之后,其周期相当于D触发器输出的方波信号的高电平持续时间或低电平持续时间。此时,我们可以用例6-2的方法,测出其高电平持续时间,即为此信号的周期。
但是,这种用查询方式的测量占用了 CPU,使其在测量周期的过程中不能执行其他程序。图6-6是采用中断方法的硬件连接图。
图6-6 采用中断的方法测量信号的周期
将输入信号经两分频后作为8253的门控信号。计数输入端为标准时钟。用P1.0来控制两个D触发器,触发器D2的-Q端为中断申请信号。8253仍设为方式0。
当CPU要求测量周期时,先通过P1.0输出低电平。触发器D1、D2的Q端均为低电平,CPU向8253送出计数初值0000H。但此时计数器不计数。然后,将P1.0置为高电平。当输入信号由低电平变为高电平时,触发器D1的Q端变为高电平,计数器开始计数。当输入信号再次由低电平变为高电平时,触发器D1的Q端由高电平变为低电平。使计数器停止计数。此时,触发器 D2的-Q端由高电平变为低电平,向 CPU申请中断。CPU响应中断时,应及时将P1.0置为低电平,防止新的输入信号进行计数。这时,从 8253计数器中读出的数据经处理后即为输入信号的周期。
图6-7 为此例的程序流程图。
图6-7 采用中断的方法测量信号周期的程序流程
l
原创力文档


文档评论(0)