定时器小结及应用技术方案.ppt

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 9 章 第9章 可编程定时/计数器芯片8253 本章知识点: ? 可编程定时器/计数器的典型结构 ? 8253的结构与功能 ? 8253的工作特性 ? 8253的方式控制字和计数初值 ? 8253的6种工作方式 ? 8253的应用 控制寄存器:决定工作方式 初始值寄存器CR:存放计数的初值 减1计数器CE:执行计数操作,CPU不能访问 计数输出锁存器OL:CPU从中读当前计数值 计数通道内部逻辑构成与工作原理: 16位初始值寄存器CR 16位减1计数器CE 16位计数输出锁存器OL 装入初值 GATE CLK 减1到0时 OUT 控制寄存器 计数通道内部逻辑构成 工作原理:对CLK信号进行减1计数 首先,CPU把控制字写入控制寄存器(此操作由通道外部的控制字寄存器写入),计数初始值写入初值寄存器 计数从初值开始,每当CLK引脚出现一个脉冲,计数值减1 当计数值减到0,从OUT端输出规定的信号 CLK信号出现时,计数器是否减1,由门控信号GATE控制 CLK是计数输入信号,计数器对CLK端出现的脉冲个数进行计数 CLK端可以输入外部事件 CLK端可以接入固定频率的时钟信号,从而实现计时 OUT信号在计数结束时发生变化 可将OUT作为外部设备的控制信号 可将OUT作为向CPU申请中断的信号 CPU可以从计数器输出寄存器读出当前计数值。 读前,应向控制寄存器发送锁存命令 关于控制字的说明: 1、8253只有一个工作方式控制字,但是对每个计数器而言,它们的工作方式控制字内容一定各不相同(前两位不同),所用各计数器的控制字需要分别设置,先后不计。 2、8253的工作方式控制字的特殊形式可用于对计数器的当前计数值进行锁存。 3、在工作方式控制字被设置之后,随后必须紧接着给计数器预设置计数初值,计数器方可开始工作。 工作方式决定以下内容: 1)门控信号的影响 高电平允许,当GATE=0,即使出现CLK,也不计数 ——方式0,2,3,4 上升沿允许(上升沿触发) ——方式1,5 2)OUT信号的状态 写入控制字后, OUT的状态 计数过程中, OUT的状态 计数结束, OUT的状态 3)计数操作可否重复 不可重复——方式0,4 自动重复——方式2,3 条件重复——方式1,5 8253的应用 例1:计数器0工作方式4,初始化计数器,写入初值10 ?s后产生选通信号(设时钟频率2MHz,8253端口地址为50H~53H)。 解:n*TCLK=T =10/0.5=20 MOV AL, OUT 53H, AL MOV AL, 20H OUT 50H, AL 例2: 采用8253作定时/计数器,其端口地址为120H~123H。 要求计数器0每隔10ms输出一个CLK脉冲宽的负脉冲;用计数器1产生10KHz的连续方波信号,计数器2在定时5ms后产生输出高电平。输入8253的时钟频率为2MHz。 画线路连接图,并编写初始化程序。 计算计数初值: CNT0:10ms/0.5us=20000 CNT1:2 MHz/10KHz=200 CNT2: 5ms/0.5us=10000 确定控制字: CNT0:方式2,16位计数值 CNT1:方式3,低8位计数值 CNT2:方式0, 16位计数值 CLK0 GATE0 OUT1 D0~D7 WR RD A1 A0 CS DB IOW IOR A1 A0 译码器 8253 CLK2 GATE1 GATE2 +5V CLK1 2MHz OUT0 OUT2 初始化程序 CNT0: MOV DX,0123H MOV AL,34H OUT DX,AL MOV DX,0120H MOV AX,20000 OUT DX,AL MOV AL,AH OUT DX,AL CNT1: …… CNT2: …… 例3. 以1MHz脉冲信号输入8253,输出周期为2s的方波信号,使发光二极管周期性的亮灭。(设8253端口地址40H-43H) 分析:8253最大初值65536,CLK=1MHz可实现最大时间间隔 65536/(1?106)=65.536ms 所以需要两个计数器串联,一个计数器的输出作为另一个计数器的输入 OUT0 GATE0 CLK0 OUT1 GATE1 CLK1 +5V +5V 1MHz 0.5HZ 例4:8253在IBM PC系列机上的应用 A0 A1 — — — A0 — A1 — D0~D7 D0~D7 OUT1 OUT2 OUT0 GATE0 GATE1 GATE2 CLK0 CLK1 CLK2 D Q CL

您可能关注的文档

文档评论(0)

奇缘之旅 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档