《定时器讲稿》PPT课件.ppt_第1页
《定时器讲稿》PPT课件.ppt_第2页
《定时器讲稿》PPT课件.ppt_第3页
《定时器讲稿》PPT课件.ppt_第4页
《定时器讲稿》PPT课件.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

情境三 定时/计数器8253/8254,重点内容: 1、掌握定时计数器工作原理 2、了解8253内部结构及引脚功能 3、掌握8253控制字设置及工作方式 4、掌握8253编程,定时/计数器的功能需求,计算机内部时钟信息产生 定时间隔信息 动画设计 音频、视频控制,3.1 定时/计数器工作原理,硬件定时:专门定时电路实现定时,分为: 简单硬件定时(数字逻辑电路定时); 可编程接口芯片定时。 软件定时:CPU每执行一条指令都需要几个固定指令周期,用软件编程方式控制延时;,3.1 定时/计数器工作原理,硬件定时和软件定时的区别: 硬件定时:不占用CPU时间,精度高,需要硬件支持; 软件定时:占用CPU时间,不需要硬件支持;,3.2 8253内部结构和管脚,8253的引脚配置,单通道定时/计数器结构,CR(16位)初值,CE(16位)当前值,OL(16位)锁存值,与门,CLK,GATE,OUT,单通道定时/计数器结构,OUT,CR:计数器初始值,由CPU设定 CE:计数器减1计数当前值 OL:计数器锁存值,供CPU读取 CLK:输入脉冲,CE减1 GATE:门控信号,控制CLK能否影响CE OUT:CE=0,产生驱动信号,定时/计数器计数原理,OUT,CPU先设定计数器初始值CR, CE 、 OL 同; GATE 为高电平时,对输入脉冲CLK计数,每接收一个脉冲,计数器CE减1; 获取计数值有两种方法:第一, CE为0, CE=0,产生驱动信号;第二,读取OL计数器锁存值。,定时/计数器计数原理,OUT,计数值=计数器初始值CR-计数器当前值CE 计数值=计数器初始值CR-计数器指定时刻值 OL 如果CE=0,由硬件触发定时信号,定时/计数器计数原理,(1)计数值=计数器初值CR -计数器当前值CE 读CE,CPU一般不能直接读CE(不可用) (2)计数值=计数器初始值CR-计数器锁存OL CPU可读OL,计数器初始值CR由CPU设置,可以预先保存,所以, CR OL可求 (3)如果CE=0,由硬件触发定时信号 计数值满时,由OUT端自动触发信号,作为中断源,定时/计数器计数原理,所以,常用的计数方法是: (1)计数值=计数器初始值CR-计数器锁存OL (2)如果CE=0,由硬件触发定时信号,8253定时/计数器主要功能,有3个独立的16位计数器通道; 可以按二进制或十进制(BCD)码进行计数; 最高计数频率8253为2.6MHZ、 8254为10MHZ; 有六种工作方式; 与TTL电平兼容;,A1A0编码与8253内部寄存器对应关系,8253管脚控制信号的软件实现,CS:由inportb()和outport()地址码高位确定; RD:在执行 inportb() 时有效; WR:在执行outport()时有效; A1、A0:由inportb()和outport()地址码低位确定;,28253的编程控制字,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,0=,二进制,1=,二十进制,工作方式选择,000=,方式,0,001=,方式,1,010=,方式,2,011=,方式,3,100=,方式,4,101=,方式,5,通道控制字寻址,00=,通道,0,控制寄存器,01=,通道,1,控制寄存器,10=,通道,2,控制寄存器,11=,不用,读写操作,00=,锁定当前计数值,01=,读,/,写计数器低,8,位,10=,读写计数器高,8,位,11=,先读,/,写计数器低,8,位,再,/,写计数器高,8,高,位,读,设8253占用端口地址280H283H。 方式0 : 计数结束中断方式 减1计数到0时发中断请求,3.3 8253工作方式,方式0的时序图,(设计数初值为,3,),OUT,0,0,1,2,3,GATE,2,1,2,3,0,OUT,0,例:设8253计数器通道0工作于方式0,用8位二进制计数,其计数值为50H,则它的初始化程序段如下: Outportb(0x283,0x10);设置控制字 Outportb(0x280,ox50);设置计数初值 问题:控制字的推导过程?,方式0举例,按照通道选择(D7、D6) 读写选择(D5、D4) 工作方式选择(D3、D2、D1) 二进制/BCD选择(D0) 的顺序设置控制字。,方式0举例,方式1 可编程单脉冲输出,开始计数,CLK,WR,GATE,OUT,1,GATE,OUT,3,2,1,3,2,1,0,3,2,1,0,重新开始计数,不停计数,CW,LSB,1,1,1,例:设计数器通道1工作于方式1,按二进制计数,计数初值为6040H,它的初始化程序段为: Outportb(0x43, 0x72);工作方式控制字 Outportb(0x41, 0x40);先写低字节 Outportb(0x41, 0x60);后写高字节,方式1 可编程单脉冲输出,方式2 周期性时间间隔计时器(频率发生器),3,2,1,3,高电平,1,CW,LSB,CLK,WR,GATE,2,OUT,2,GATE,2,OUT,2,自动重复计数,3,2,0,禁止计数,3,2,0,重新开始计数,0,1,1,例:设8253计数器0工作于方式2,按二进制计数,计数初值为0304H。 Outputb(0x43H,0x34);设控制字,通道0,先读/写高8位 、再读写低8位,方式2,二进制。 Outputb (0x40H,0x04);送计数值低字节 Outputb (0x40H,0x03);送计数值高字节,方式2应用举例,与方式二类似,方式3是输出方波,方式2输出占空比(N-1):1的脉冲,方式3 方波发生器,CLK,WR,GATE,3,OUT,3,(N=,奇数,),OUT,3,(N=,偶数,),高电平,1,5,4,2,自动重复计数,5,2,5,(,0,),4,2,CW,LSB,4,2,4,2,4,2,4,2,例:设8253计数器2工作在,按二十进制计数,计数初值为4,则它的初始化程序段如下: Outportb(0x43,0x97); 计数器2,只读/写低8位,工作方式3,BCD码,控制字送控制字寄存器 Outputb(0x42,4);送计数初值,方式3举例,方式4 软件触发选通,例:设8253计数器1工作于方式4,按二进制计数,计数初值为3,则初始化程序段为: Outputb(0x43,0x58);设置控制字寄存器 Outputb(0x41,3);送计数初值,方式4 举例,方式5 硬件触发脉冲,例:设8253的通道1工作于方式5,按二进制计数,计数初值为4000H,则它的初始化程序段为: Outportb(0x43,0x6a);通道1,只读写高字节,方式5,二进制计数。 Outportb(0x41,ox40);送计数初值,方式5 举例,总结,6种工作方式各有特点,适用于不同场合。,方式0:常用该输出信号做中断源,可用来 实现定时或对外部事件进行计数。,方式1:产生单脉冲,方式2:产生序列负脉冲,宽度与CLK脉冲 宽度相同。,总结,方式3:产生连续方波,对时钟脉冲进行n分频。,方式4和方式5的波形相同,都在计数器回0后, 从OUT端输出一个负脉冲,其宽度等于一个时钟 周期。方式4由软件(设置计数值)触发计数, 而方式5由硬件(门控信号)触发计数。,方式0、1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论