8253工作方式以及应用举例.pdfVIP

  1. 1、本文档共6页,可阅读全部内容。
  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文档。上传文档
查看更多

第27课8253工作方式以及应用举例

8253的六种工作方式,8253的实际应用举例。本课主题:

教学目的:掌握8253六种工作方式的特点以及使用方法,通过实际应用举例强

化8253的使用方法。

教学重点:8253的硬件连接和软件初始化方法。

教学难点:8253的在系统中的应用。

授课内容:

8253的每个通道都有6种不同的工作方式,下面分别进行介绍。

1.方式0--计数结束中断方式(InterruptonTerminalCount)

2.方式1--可编程单稳态输出方式(ProgrammableOne-short)

3.方式2--比率发生器(RateGenerator)

4.方式3--方波发生器(SquareWaveGenerator)

5.方式4--软件触发选通(SoftwareTriggeredStrobe)

6.方式5--硬件触发选通(HardwareTriggeredStrobe)

由上面的讨论可知,6种工作方式各有特点,因而适用的场合也不一样。现将

各种方式的主要特点概括如下:

对于方式0,在写入控制字后,输出端即变低,计数结束后,输出端由低变

高,常用该输出信号作为中断源。其余5种方式写入控制字后,输出均变高。方式

0可用来实现定时或对外部事件进行计数。

方式1用来产生单脉冲。

方式2用来产生序列负脉冲,每个负脉冲的宽度与CLK脉冲的周期相同。

方式3用于产生连续的方波。方式2和方式3都实现对时钟脉冲进行n分频。

方式4和方式5的波形相同,都在计数器回0后,从OUT端输出一个负脉冲,

其宽度等于一个时钟周期。但方式4由软件(设置计数值)触发计数,而方式5由硬

件(门控信号GATE)触发计数。

这6种工作方式中,方式0、1和4,计数初值装进计数器后,仅一次有效。如

果要通道再次按此方式工作,必须重新装入计数值。对于方式2、3和5,在减1

计数到0值后,8253会自动将计数值重装进计数器。

8.28253的应用举例

一、8253定时功能的应用例子

1(用8253产生各种定时波形

在某个以8086为CPU的系统中使用了一块8253芯片,通道的基地址为310H,

所用的时钟脉冲频率为1MHz。要求3个计数通道分别完成以下功能:

(1)通道0工作于方式3,输出频率为2kHz的方波;

(2)通道l产生宽度为480us的单脉冲;

(3)通道2用硬件方式触发,输出单脉冲,时间常数为26。

2.控制LED的点亮或熄灭

用8253来控制一个LED发光二极管的点亮和熄灭的例子,要求点亮10秒钟后

再让它熄灭10秒钟,并重复上述过程。假设这是一个8086系统,8253的各端口

地址为81H、83H、85H和87H。

二、8253计数功能的应用例子

1.硬件电路设计

2.初始化编程

MOVAL,;控制字

OUT0F6H,AL

MOVAL,99H

OUT0F2H,AL;计数值低字节送计数器1

MOVAL,04H

OUT0F2H,AL;计数值高字节送计数器1

3.计数值的读取

在读计数器现行值时,计数过程仍在进行,而且不受CPU的控制。因此,在

CPU读取计数器的输出值时,可能计数器的输出正在发生改变,即数值不稳定,可

能导致错误的读数。为了防止这种情况发生,必须在读数前设法终止计数或将计数

器输出端的现行值锁存。这可以采用下面两种方法:

一种方法是在读数前用外部硬件切断计数脉冲信号,或者使门控信号变为低电

平,迫使8253停止计数。这种方法的缺点是需要硬件电路配合。此外,由于外部

事件源被切断或正常的计数过程被禁止,干扰了实际的计数过程。因此,这不是一

种好的方法,在我们这个例子里,就不宜采用这种读数方法。

另一种方法是先用计数器锁存命令锁存现行计数值,然后将它读出。

上例中,在要读取箱子中的现行工件数时,可执行下面的程序段:

MOVAL,;锁存计数器1命令

MOVDX,0F6H;控制口

OUTDX,AL;

您可能关注的文档

文档评论(0)

180****0406 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档