《《定时器讲稿》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《定时器讲稿》PPT课件.ppt(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、情境三情境三 定时定时/计数器计数器8253/82548253/8254重点内容:重点内容:1、掌握定时计数器工作原理、掌握定时计数器工作原理2、了解、了解8253内部结构及引脚功能内部结构及引脚功能3、掌握、掌握8253控制字设置及工作方式控制字设置及工作方式4、掌握、掌握8253编程编程定时定时/计数器的功能需求计数器的功能需求n计算机内部时钟信息产生计算机内部时钟信息产生n定时间隔信息定时间隔信息n动画设计动画设计n音频、视频控制音频、视频控制3.1 定时/计数器工作原理n硬硬件件定定时时:专专门门定定时时电电路路实实现现定定时时,分分为为:简单硬件定时(数字逻辑电路定时)简单硬件定时(
2、数字逻辑电路定时);可编程接口芯片定时。可编程接口芯片定时。n软软件件定定时时:CPU每每执执行行一一条条指指令令都都需需要要几几个个固固定定指指令令周周期期,用用软软件件编编程程方方式式控控制制延时;延时;3.1 定时/计数器工作原理n硬件定时和软件定时的区别:硬件定时和软件定时的区别:硬硬件件定定时时:不不占占用用CPU时时间间,精精度高,需要硬件支持;度高,需要硬件支持;软软件件定定时时:占占用用CPU时时间间,不不需需要硬件支持;要硬件支持;3.2 8253内部结构和管脚内部结构和管脚8D7-D0计数器0控制字寄存器计数器1计数器2内部数据总线数据总线缓冲器读/写逻辑RDWRA0A1C
3、SCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT28D7-D0计数器0控制字寄存器计数器1计数器2内部数据总线数据总线缓冲器读/写逻辑RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT28D7-D0计数器0控制字寄存器计数器1计数器2内部数据总线数据总线缓冲器读/写逻辑RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2 8253的引脚配置的引脚配置单通道定时/计数器结构CR(16位)初值CE(16位)当前值OL(16位)锁存值与门CLKGATEOUT单通道定时单通道定时/
4、计数器结构计数器结构CR(16位)初值位)初值CE(16位)当前值位)当前值OL(16位)锁存值位)锁存值与门CLKGATEOUTCR:计数器初始值,计数器初始值,由由CPU设定设定CE:计数器减计数器减1计数计数当前值当前值OL:计数器锁存值,计数器锁存值,供供CPU读取读取CLK:输入脉冲,输入脉冲,CE减减1GATE:门控信号,控门控信号,控制制CLK能否影响能否影响CEOUT:CE=0,产生产生驱动信号驱动信号定时定时/计数器计数原理计数器计数原理CR(16位)初值位)初值CE(16位位)当前值当前值OL(16位位)锁存值锁存值与门CLKGATEOUTCPU先设定计数器初始先设定计数器
5、初始值值CR,CE、OL 同;同;GATE 为高电平时,对为高电平时,对输入脉冲输入脉冲CLK计数,每计数,每接收一个脉冲,计数器接收一个脉冲,计数器CE减减1;获取计数值有两种方法:获取计数值有两种方法:第一,第一,CE为为0,CE=0,产生驱动信号;第二,产生驱动信号;第二,读取读取OL计数器锁存值。计数器锁存值。定时定时/计数器计数原理计数器计数原理CR(16位)初值位)初值CE(16位位)当前值当前值OL(16位位)锁存值锁存值与门CLKGATEOUT计数值计数值=计数器初始值计数器初始值CR-计数器当前值计数器当前值CE 计数值计数值=计数器初始值计数器初始值CR-计数器指定时刻值计
6、数器指定时刻值 OL如果如果CE=0,由,由硬件触发定时信号硬件触发定时信号定时定时/计数器计数原理计数器计数原理(1)计数值)计数值=计数器初值计数器初值CR-计数器当前值计数器当前值CE 读读CE,CPU一般不能直接读一般不能直接读CE(不可用)不可用)(2)计数值)计数值=计数器初始值计数器初始值CR-计数器锁存计数器锁存OL CPU可读可读OL,计数器初始值计数器初始值CR由由CPU设设置,可以预先保存,所以,置,可以预先保存,所以,CR OL可求可求(3)如果)如果CE=0,由,由硬件触发定时信号硬件触发定时信号 计数值满时,由计数值满时,由OUT端自动触发信号,端自动触发信号,作为
7、中断源作为中断源定时定时/计数器计数原理计数器计数原理所以,常用的计数方法是:所以,常用的计数方法是:(1)计数值)计数值=计数器初始值计数器初始值CR-计数器锁存计数器锁存OL(2)如果如果CE=0,由,由硬件触发定时信号硬件触发定时信号 82538253定时定时/计数器主要功能计数器主要功能有有3个个独立的独立的16位计数器通道;位计数器通道;可以按二进制或十进制(可以按二进制或十进制(BCD)码进行计数;码进行计数;最高计数频率最高计数频率8253为为2.6MHZ、8254为为10MHZ;有有六种工作方式;六种工作方式;与与TTL电平兼容;电平兼容;A1A0编码与编码与8253内部寄存器
8、对应关系内部寄存器对应关系CS RD WR A1 A0寄存器选择和操作寄存器选择和操作0 1 0 0 0写入写入0通道计数寄存器通道计数寄存器0 1 0 0 1写入写入1通道计数寄存器通道计数寄存器0 1 0 1 0写入写入2通道计数寄存器通道计数寄存器0 1 0 1 1写控制字写控制字0 0 1 0 0读读0通道锁存器通道锁存器0 0 1 0 1读读1通道寄存器通道寄存器0 0 1 1 0读读2通道寄存器通道寄存器8253管脚控制信号的软件实现管脚控制信号的软件实现CS:由:由inportb()和和outport()地址码地址码高位确定;高位确定;RD:在执行在执行 inportb()时有效
9、;时有效;WR:在执行在执行outport()时有效;时有效;A1、A0:由:由inportb()和和outport()地地址码低位确定;址码低位确定;28253的编程控制字的编程控制字D7D6D5D4D3D2D1D00=二进制1=二十进制工作方式选择000=方式 0001=方式1010=方式 2011=方式3100=方式 4101=方式 5通道控制字寻址00=通道 0 控制寄存器01=通道 1 控制寄存器10=通道 2 控制寄存器11=不用读写操作00=锁定当前计数值01=读/写计数器低8 位10=读写计数器高8 位11=先读/写计数器低8 位再 /写计数器高8高位读设设8253占用端口地址
10、占用端口地址280H283H。方式方式0:计数结束中断方式计数结束中断方式 减减1计数到计数到0时发中断请求时发中断请求 3.3 8253工作方式方式方式0的时序图的时序图(设计数初值为3)写计数值写CWCLKGATE(允许计数高电平)WROUT00123GATE 21230OUT 0例例:设设8253计计数数器器通通道道0工工作作于于方方式式0,用用8位位二二进进制制计计数数,其其计计数数值值为为50H,则则它它的的初始化程序段如下:初始化程序段如下:lOutportb(0 x283,0 x10);设设置置控控制制字字lOutportb(0 x280,ox50);设设置置计计数数初值初值l问
11、题:控制字的推导过程?问题:控制字的推导过程?方式方式0举例举例按照通道选择(按照通道选择(D7、D6)读写选择(读写选择(D5、D4)工作方式选择(工作方式选择(D3、D2、D1)二进制二进制/BCD选择(选择(D0)的顺序设置控制字。的顺序设置控制字。方式0举例方式1 可编程单脉冲输出开始计数CLKWRGATEOUT1GATEOUT3 2 1 3 2 1 03 2 1 0重新开始计数不停计数CWLSB111例例:设设计计数数器器通通道道1工工作作于于方方式式1,按按二二进进制制计计数,计数初值为数,计数初值为6040H,它的初始化程序段为:它的初始化程序段为:Outportb(0 x43,
12、0 x72);工作方式控制字工作方式控制字Outportb(0 x41,0 x40);先写低字节;先写低字节Outportb(0 x41,0 x60);后写高字;后写高字节节方式方式1 可编程单脉冲输出可编程单脉冲输出方式方式2 周期性时间间隔计时器(频率发生器)周期性时间间隔计时器(频率发生器)3213高电平1CWLSBCLKWRGATE2OUT2GATE2OUT2自动重复计数320禁止计数320重新开始计数011例例:设设8253计计数数器器0工工作作于于方方式式2,按按二二进进制制计计数,计数初值为数,计数初值为0304H。Outputb(0 x43H,0 x34);设设控控制制字字,通
13、通道道0,先先读读/写写高高8位位、再再读读写写低低8位位,方方式式2,二二进制。进制。Outputb(0 x40H,0 x04);送计数值低字节送计数值低字节Outputb(0 x40H,0 x03);送计数值高字节送计数值高字节方式方式2应用举例应用举例与方式二类似,方式3是输出方波,方式2输出占空比(N-1):1的脉冲方式3 方波发生器CLKWRGATE3OUT3(N=奇数)OUT3(N=偶数)高电平 1542自动重复计数525(0)42CWLSB42424242例例:设设8253计计数数器器2工工作作在在,按按二二十十进进制制计计数数,计计数数初初值值为为4,则则它它的的初初始始化程序
14、段如下:化程序段如下:Outportb(0 x43,0 x97);计计数数器器2,只只读读/写写低低8位位,工工作作方方式式3,BCD码码,控制字送控制字寄存器控制字送控制字寄存器Outputb(0 x42,4);送计数初值送计数初值方式方式3举例举例方式4 软件触发选通例例:设设8253计计数数器器1工工作作于于方方式式4,按按二二进进制制计数,计数初值为计数,计数初值为3,则初始化程序段为:,则初始化程序段为:Outputb(0 x43,0 x58);设置控制字寄存器设置控制字寄存器Outputb(0 x41,3);送计数初值送计数初值方式方式4 举例举例方式5 硬件触发脉冲例例:设设82
15、53的的通通道道1工工作作于于方方式式5,按按二二进进制制计计数数,计数初值为计数初值为4000H,则它的初始化程序段为:则它的初始化程序段为:Outportb(0 x43,0 x6a);通通道道1,只只读读写写高高字字节节,方式方式5,二进制计数。,二进制计数。Outportb(0 x41,ox40);送计数初值送计数初值方式方式5 举例举例总结6种工作方式各有特点,适用于不同场合。方式0:常用该输出信号做中断源,可用来 实现定时或对外部事件进行计数。方式1:产生单脉冲方式2:产生序列负脉冲,宽度与CLK脉冲 宽度相同。总结方式3:产生连续方波,对时钟脉冲进行n分频。方式4和方式5的波形相同,都在计数器回0后,从OUT端输出一个负脉冲,其宽度等于一个时钟周期。方式4由软件(设置计数值)触发计数,而方式5由硬件(门控信号)触发计数。方式0、1、4计数初值仅一次有效方式2、3、5计数到0后,8253自动重装48253的读操作(1)读之前先停止计数(2)读之前先送计数值锁存命令 PC/XT机中8253的应用(1)计计数数器器0:用用于于产产生生实实时时时时钟钟信信号号(2)计计数数器器1:用用于于产产生生动动态态存存储储器器刷新的地址更新信号刷新的地址更新信号(3)计计数数器器2:产产生生扬扬生生器器的的发发音音驱驱动信号动信号返回本节返回本节
限制150内