计数器定时器接口芯片_第1页
计数器定时器接口芯片_第2页
计数器定时器接口芯片_第3页
计数器定时器接口芯片_第4页
计数器定时器接口芯片_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、8.2 计数器计数器/定时器接口芯片定时器接口芯片8253微机系统中经常会要求有微机系统中经常会要求有一些实时时钟以实现定时一些实时时钟以实现定时或延时控制或延时控制,也要求,也要求有计数器对外部事件计数有计数器对外部事件计数 实现上述要求可采用实现上述要求可采用3种方法:种方法: 1硬件定时硬件定时用数字逻辑电路来构成,用数字逻辑电路来构成,通用性、灵活性较差通用性、灵活性较差 2软件定时软件定时利用程序段实现,通过正确挑选指令和安排循环次利用程序段实现,通过正确挑选指令和安排循环次数很容易改变定时时间,但数很容易改变定时时间,但软件定时占用了软件定时占用了CPU,降低了降低了CPU的利用率

2、。的利用率。 3采用可编程定时器计数器采用可编程定时器计数器定时时间定时时间与与计数值计数值可由可由软件软件来确定和改变,设定后来确定和改变,设定后与与CPU并行工作,不占用并行工作,不占用CPU的时间。的时间。 8.2.1 8253的内部结构的内部结构 数数 据据 总总 线线 D7 D0 控控 制制 寄寄 存存 器器 VC C +5V G n d R D 计计 数数 器器 0 地地 址址 线线 W R 高高 8 低低 8 计计 数数 初初 值值 寄寄 存存 器器 C L K0 译译 ( C R ) G ATE0 码码 减减 1 计计 数数 器器 高高 8 低低 8 O U T0 器器 C S

3、 ( C E ) 高高 8 低低 8 输输 出出 锁锁 存存 器器 ( O L ) A1 C L K1 A0 计计 数数 器器 1 G ATE1 O U T1 计计 数数 器器 2 C L K2 G ATE2 O U T2 2. 控制寄存器控制寄存器存放存放CPU送来的控制字,控制送来的控制字,控制8253的工作方式。有的工作方式。有3个,只占用一个地址,不能读。个,只占用一个地址,不能读。1. 三个独立的计数三个独立的计数/定时通道定时通道计数器计数器0,计数器,计数器1,计数器计数器2。每个计数器的结构为:。每个计数器的结构为:(1)16位计数初值寄存器(位计数初值寄存器(CR)存放计数的

4、初存放计数的初值(预置);值(预置);(2)16位的计数执行部件(位的计数执行部件(CE)16位减位减1计数计数器;器;(3)16位输出锁存器(位输出锁存器(OL)跟随跟随CE变化,但变化,但可以锁存,便于可以锁存,便于CPU读取。读取。1. 数据线数据线D7D08位,双向、三态,用于位,双向、三态,用于8253与与CPU之间的数据传送。包括:向之间的数据传送。包括:向8253写写控制字控制字,送,送计计数初值数初值及读及读计数器的现行值计数器的现行值。2. 读写控制信号读写控制信号RD,WR3. 片选及地址线片选及地址线CS,A1,A0用于芯片及内部寄存用于芯片及内部寄存器、计数器的寻址。器

5、、计数器的寻址。在在IBM-PC机中,机中,A9A8A7A6A5=00010选中选中(CS=0),),A4A3A2未用,未用,A1A0接接8253的的A1A0。8.2.2 8253的引脚功能的引脚功能A9A8A7A6A5A4A3A2A1A0功能功能 基本地址基本地址0 0 0 1 0 0 0选中计数器选中计数器040H0 0 0 1 0 0 1选中计数器选中计数器141H0 0 0 1 0 1 0选中计数器选中计数器242H0 0 0 1 0 1 1选中控制寄存器选中控制寄存器 43H(其他)(其他) 芯片禁止芯片禁止(说明:(说明:8253有有32个地址,除基本地址外,其余个地址,除基本地址

6、外,其余为影像地址)为影像地址)5. 计数器门控输入信号计数器门控输入信号GATE0GATE2启动或启动或控制计数控制计数/定时信号;定时信号;6. 计数器输出信号计数器输出信号OUT0OUT2计数结束、定计数结束、定时到输出信号或分频输出信号。时到输出信号或分频输出信号。4. 计数器时钟输入计数器时钟输入CLK0CLK2计数计数/定时的基定时的基值信号值信号8253:02MHz8254-2:010MHz A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 1 1 SC1 SC0 RL1 RL0 M2 M1 M0 BCD ( 地地 址址 43H) 计计 数数 器器 选选 择择 数数 制

7、制 选选 择择 00: 计计 数数 器器 0 0: 二二 进进 制制 01: 计计 数数 器器 1 1: 十十 进进 制制 10: 计计 数数 器器 2 11: 非非 法法 工工 作作 方方 式式 选选 择择 读读 /写写 指指 示示 位位 000: 方方 式式 0 00: 计计 数数 器器 锁锁 存存 001: 方方 式式 1 01: 只只 读读 /写写 低低 字字 节节 10: 方方 式式 2 10; 只只 读读 /写写 高高 字字 节节 11: 方方 式式 3 11: 先先 读读 /写写 低低 字字 节节 100: 方方 式式 4 后后 读读 /写写 高高 字字 节节 101: 方方 式

8、式 5 8.2.2 8253的编程的编程1. 控制字格式控制字格式计数初值为计数初值为8位,则控制字中的位,则控制字中的RL1、RL0应取应取01,初值只写入初值只写入CR的低的低8位,高位,高8位会自动置位会自动置0;若是若是16位初值,而低位初值,而低8位是位是0,则,则RL1RL0应取应取10,初值高初值高8位写入位写入CR的高的高8位,位,CR的低的低8位会自动置位会自动置0;若是一般若是一般16位初值,则位初值,则RL1,RL0应取应取11,应分两,应分两次写入初值,次写入初值,先写低先写低8位、再写入高位、再写入高8位(此顺序不位(此顺序不能反)能反)2. 计数初始值计数初始值 计

9、数初始值写入计数初始值写入对应计数器的计数初值寄存器对应计数器的计数初值寄存器CR ;3. 初始化流程初始化流程 先写入工作方式控制字,接着写入计数初始值先写入工作方式控制字,接着写入计数初始值 单个计数器初始化单个计数器初始化写方式控制字写方式控制字写计数低字节写计数低字节写计数高字节写计数高字节写方式控制字(计数器写方式控制字(计数器0)写方式控制字(计数器写方式控制字(计数器1)写方式控制字(计数器写方式控制字(计数器2)写计数低字节(计数器写计数低字节(计数器0)写计数高字节(计数器写计数高字节(计数器0)写计数低字节(计数器写计数低字节(计数器1)写计数高字节(计数器写计数高字节(计

10、数器1)写计数低字节(计数器写计数低字节(计数器2)写计数高字节(计数器写计数高字节(计数器2)多个计数器初始化多个计数器初始化计数器的顺序是任计数器的顺序是任意的,不必一定按意的,不必一定按照计数器照计数器0、l、2的的顺序初始化;顺序初始化;可先写所有计数器可先写所有计数器的工作方式控制字的工作方式控制字,再装入各计数器,再装入各计数器的计数值(但的计数值(但先控先控制字再计数值的顺制字再计数值的顺序不能错序不能错););计数值先写低再写计数值先写低再写高的顺序不能错高的顺序不能错;其他顺序无关紧要其他顺序无关紧要 MOV AL,00110111B ;对计数器;对计数器0送工作方式字送工作

11、方式字OUT 43H,ALMOV AX,1234H ;送计数初值;送计数初值OUT 40H,AL MOV AL,AH OUT 40H ALMOV AL,10010100B ;对计数器;对计数器2送工作方式字送工作方式字OUT 43H,ALMOV AL,61H ;送计数初值;送计数初值OUT 42H,AL例:例:选择计数器选择计数器0工作于方式工作于方式3,计数初值为,计数初值为1234,十进制计数方式;计数器十进制计数方式;计数器2工作于方式工作于方式2,计数初值,计数初值为为61H,采用二进制计数方式,设,采用二进制计数方式,设8253的端口地址为的端口地址为4043H。其初始化编程如下:。

12、其初始化编程如下: (2)初值写入后,要经过)初值写入后,要经过1个时钟个时钟CLK的上升沿和的上升沿和1个下降沿后,计数执行部件才开始计数;个下降沿后,计数执行部件才开始计数;(3)在)在CLK的的上升沿上升沿时,计数器对门控信号时,计数器对门控信号GATE进进行采样,来决定工作状态(计数、触发、停止、重新行采样,来决定工作状态(计数、触发、停止、重新置初值);置初值);(4)在)在CLK的的下降沿下降沿时,计数器执行部件从初值开始时,计数器执行部件从初值开始作减作减1计数;计数;其中其中0是最大初值,是最大初值,1是最小初值是最小初值;若以二进制数制计数,则若以二进制数制计数,则0相当于相

13、当于216=65536若以若以BCD(十进制)数制计数,则(十进制)数制计数,则0相当于相当于104=100008253初始化规则初始化规则(1)对计数器设置初值前必须先写入控制字对计数器设置初值前必须先写入控制字,此时,此时,全部控制逻辑电路复位,输出全部控制逻辑电路复位,输出OUT为初始状态(高为初始状态(高电平或低电平);电平或低电平);读计数值读计数值将某计数器的计数值读到将某计数器的计数值读到CPU中中 读到的是执行输入指令瞬间计数器的现行值。读到的是执行输入指令瞬间计数器的现行值。16位计数值要分两次读至位计数值要分两次读至CPU,故必须将数据锁存。,故必须将数据锁存。有两种办法:

14、有两种办法:利用外加控制信号利用外加控制信号 GATE使计数器使计数器暂停计数暂停计数,然后,然后按照工作方式控制字中按照工作方式控制字中RL1RL0的规定读取规定字节的规定读取规定字节CPU向向8253发出锁存命令字发出锁存命令字(SC1SC000XXXX)锁)锁存计数器的当前计数值(当前计数值锁存在输出锁存计数器的当前计数值(当前计数值锁存在输出锁存器存器OL,而减,而减1计数器可以继续计数),再读取输计数器可以继续计数),再读取输出锁存器的计数值。当出锁存器的计数值。当CPU读取了规定的字节数后,读取了规定的字节数后,OL自动解除锁存状态,其值又跟随计数器而变化。自动解除锁存状态,其值又

15、跟随计数器而变化。8.2.4 8253的工作方式的工作方式 8253有有6种工作方式:不同方式下,启动方式、种工作方式:不同方式下,启动方式、GATE信号的作用、信号的作用、OUT输出波形都有所不同,但以输出波形都有所不同,但以下几条基本规则是相同的:下几条基本规则是相同的:工作方式控制字写入计数器时,输出端工作方式控制字写入计数器时,输出端OUT进入进入初始状态(高电平或低电平);初始状态(高电平或低电平);计数初值写入计数初值写入CR后,在下一个后,在下一个 CLK脉冲才装入减脉冲才装入减 1计数器计数器 CE,因此该,因此该 CLK脉冲并不影响计数;脉冲并不影响计数;CE的减的减1计数操

16、作发生在计数操作发生在CLK的的下降沿下降沿;计数器对门控信号计数器对门控信号GATE的采样是在的采样是在CLK上升沿上升沿说明:说明:初值装入后,要经过初值装入后,要经过1个个CLK的周期(的周期(1个上升沿和个上升沿和1个下个下降沿)后,计数器才开始计数,所以,输出降沿)后,计数器才开始计数,所以,输出OUT要经过要经过N+1个时钟个时钟周期后才有输出;周期后才有输出;输出输出OUT的有效电平为高电平,并可同时触发中断请求;的有效电平为高电平,并可同时触发中断请求;门控门控GATE的作用:高电平时计数,低电平或下降沿时停止计数;的作用:高电平时计数,低电平或下降沿时停止计数;CW为写入控制

17、字,为写入控制字,N=4表示写入初值。表示写入初值。 CW N=4WRCLKGATEOUT N N 4 3 2 1 0 FF装控制字装控制字装初值装初值计数开始计数开始计数结束计数结束1. 方式方式0计数结束产生中断计数结束产生中断2. 方式方式1可重触发的单稳态触发器可重触发的单稳态触发器 CW N=3WRCLKGATEOUT N N 3 2 1 0 FF 3 2 1 0 FF 装控制字装控制字装初值装初值计数开始计数开始计数结束计数结束说明:说明:方式字和初值装入后,在门控方式字和初值装入后,在门控GATE的上升沿触发下,经的上升沿触发下,经过过1个个CLK的上升沿和的上升沿和1个下降沿后

18、,计数器开始从初值减个下降沿后,计数器开始从初值减1计数,计数,同时使同时使OUT=0;当计数结束(归;当计数结束(归0)时,)时,OUT=1,使输出产生,使输出产生1个个宽度为宽度为TW=NTCLK的负脉冲的负脉冲单稳态触发器。单稳态触发器。在在GATE的上升沿触发下,输出可再次产生的上升沿触发下,输出可再次产生1个宽度为个宽度为TW负脉负脉冲冲可重触发。可重触发。说明:说明:方式字装入后,方式字装入后,OUT=1为初始状态。为初始状态。初值装入后,经过初值装入后,经过1个个CLK的周期,计数器开始从初值减的周期,计数器开始从初值减1计数,计数,计到计到1(不是(不是0)时,使输出)时,使输

19、出OUT=0并保持并保持1个个CLK周期,然后周期,然后OUT=1,开始下一个新的计数周期,使输出为,开始下一个新的计数周期,使输出为CLK的时钟的时钟1/N分频分频信号,占空比信号,占空比q=(N-1)/N。门控门控GATE的作用:高电平时计数,低电平停止计数;用的作用:高电平时计数,低电平停止计数;用GATE的上升沿可以触发分频重新开始的上升沿可以触发分频重新开始称为硬同步;而在称为硬同步;而在GATE=1时,时,用装初值的方法启动分频开始用装初值的方法启动分频开始称为软同步称为软同步 CW N=3WRCLKGATEOUT N N 3 2 1 3 2 1 3 2 1 3 3. 方式方式2分

20、频器分频器4. 方式方式3方波发生器方波发生器说明:特点与方式说明:特点与方式2类似,主要区别:输出方波,其类似,主要区别:输出方波,其占空比占空比q为为当当N为偶数时,为偶数时,q=0.5;当当N为奇数时,为奇数时,q=(N+1)/2N。 CW N=4WRCLKGATEOUT N N 4 3 2 1 4 3 2 1 4 3 2 5. 方式方式4软件触发的选通信号发生器软件触发的选通信号发生器说明:说明:初值装入后,经过初值装入后,经过1个个CLK的周期,计数器开始从初的周期,计数器开始从初值减值减1计数,计数结束(归计数,计数结束(归0)时,使输出)时,使输出OUT产生一个宽度为产生一个宽度

21、为1个个CLK周期的负脉冲周期的负脉冲选通信号。选通信号。(用指令)重新装入初值后,经过(用指令)重新装入初值后,经过N+1个个CLK周期,又可使周期,又可使OUT产生一个选通信号产生一个选通信号(用软件)可重触发。(用软件)可重触发。门控门控GATE的作用:高电平时计数,低电平时停止计数;的作用:高电平时计数,低电平时停止计数; CW N=3WRCLKGATEOUT N N 3 2 1 0 FF FE 3 2 1 0 FF N=3 CW N=3WRCLKGATEOUT N N 3 2 1 0 FF FE 3 2 1 0 FF 6. 方式方式5硬件触发的选通信号发生器硬件触发的选通信号发生器说

22、明:说明:初值装入后,在初值装入后,在GATE的上升沿的触发下,经过的上升沿的触发下,经过1个个CLK的周期,计数器开始从初值减的周期,计数器开始从初值减1计数,计数结束(归计数,计数结束(归0)时,)时,使输出使输出OUT产生一个宽度为产生一个宽度为1个个CLK周期的负脉冲周期的负脉冲选通信选通信号。号。用用GATE的上升沿可重新触发,使的上升沿可重新触发,使OUT产生一个选通信号产生一个选通信号(用硬件)可重触发。(用硬件)可重触发。总结:总结:1) 方式方式2、4、5的输出波形是相同的,都是宽度为一个的输出波形是相同的,都是宽度为一个CLK周周期的负脉冲。期的负脉冲。但方式但方式2是是连

23、续工作连续工作,方式方式4由由软件软件(设置奇数值)触发启动(设置奇数值)触发启动方式方式5由由门控脉冲门控脉冲触发启动触发启动2) 写入计数值后才能开始计数写入计数值后才能开始计数v 方式方式0、2、3、4在写入计数值后,计数过程就开始了在写入计数值后,计数过程就开始了v 方式方式1、5需要外部触发启动,才开始计数需要外部触发启动,才开始计数3) 6种方式中只有方式种方式中只有方式2、3是连续计数,其他是连续计数,其他4种方式都是一种方式都是一次计数,要继续工作需要重新启动,方式次计数,要继续工作需要重新启动,方式0、4由写入计数由写入计数值(软件)启动,方式值(软件)启动,方式1、5要由外

24、部信号(硬件)启动。要由外部信号(硬件)启动。例例1, 下下图图是是用用8253 监监视视的的一一个个生生产产流流水水线线示示意意图图,每每通通过过50 个个工工件件扬扬声声器器响响5秒秒钟钟,频频率率为为2000Hz。 +5V 工工件件 INT OUT0 CLK0 光光敏敏 光光源源 电电阻阻 8253 1.4MHz CLK1 驱驱 8255PC0 GA TE1 OUT1 动动 扬扬声声器器 器器 8.2.5 8253应用举例应用举例计数器计数器1工作于方式工作于方式3方波方式,产生方波方式,产生2000Hz喇叭喇叭音调,方式控制字为:音调,方式控制字为:01110111B(77H),即方式

25、),即方式3,先低后高,先低后高,BCD数制;数制;初值(分频比)初值(分频比)=(1.4106)/2000=700(H)。分析:分析:计数器计数器0工作于方式工作于方式2分频方式,每隔分频方式,每隔50个个CLK0产产生一个中断生一个中断INT;方式控制字为:;方式控制字为:00010101B(15H),即方式),即方式2,只装低,只装低8位,位,BCD数制,初值为数制,初值为50(H)。主程序段:主程序段:MOV AL,15H;置计数器;置计数器0方式方式OUT43H,AL;MOV AL,50H;装初值;装初值OUT40H,AL;MOV AL,00H;关;关8255的的PC0OUT63H,

26、AL;MOV AL,77H;置计数器;置计数器1方式方式OUT43H,AL;MOV AL,00H;装初值;装初值OUT41H,AL;MOV AL,07H;OUT41H,AL;STI; LOP: HLT;JMPLOP;(说明:在装入(说明:在装入8253计数器的初值时,不管是二进计数器的初值时,不管是二进制数制还是制数制还是BCD数制,初值后均要加数制,初值后均要加“H”。)。)中断服务程序:中断服务程序:INTP:MOV AL,01H;开;开8255的的PC0OUT63H,AL;CALL DLY5S;调;调5S延迟子程序延迟子程序MOV AL,00H;关;关8255的的PC0OUT63H,AL

27、;IRET;2. 计数器计数器1向向DMAC系统提供定时中断,刷新系统提供定时中断,刷新动态动态RAM:工作于方式:工作于方式2(分频),(分频),CLK1=1193181.6Hz,BCD数制,初值数制,初值=18,OUT1输出频率为输出频率为1193181.6/18=66287KHz(周期为(周期为150857 s)的矩形波向)的矩形波向DMAC提供定时中断。提供定时中断。8253在在IBM-PC机中的应用机中的应用1. 计数器计数器0向系统提供定时中断:工作于方式向系统提供定时中断:工作于方式3(方波),(方波),CLK0=1193181.6Hz,二进制数制,初值,二进制数制,初值=0(即(即65536),),OUT0输出频率为输出频率为1193181.6/65536=182Hz(周期为(周期为

温馨提示

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

评论

0/150

提交评论