接口_第4章定时计数技术_第1页
接口_第4章定时计数技术_第2页
接口_第4章定时计数技术_第3页
接口_第4章定时计数技术_第4页
接口_第4章定时计数技术_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、第第4 4章章 定时定时/ /计数技术计数技术4.1 定时与计数1、定时 一天24小时的计时,称为日时钟。 在监测系统中,对被测点的定时取样。 在读键盘时,要去抖动。一般采用延迟一段时间(10ms-20ms)后再去读。 在步进电机速度控制程序中,利用在前一次和后一次发送相序代码之间延时的时间间隔来控制步进电机的转速。2、计数 对零件和产品的计数。 对大桥和高速公路上车流量的统计,等等。3、定时与计数的关系定时与计数本质上都是计数,但它们所计的数来源是不同的。4.2 微机中的定时类型微机中的定时分为内部定式和外部定时1、内部定时。产生与运算器、控制器等CPU内部的控制时序。2、外部定时。外设在实

2、现某种功能时所需要的时序。注意:l外部定时和内部定时是相互独立的两个定时系统。l内部定时固定不变,外部定时随外设而变。4.3 外部定时方法及硬件定时器1、定时方法(1)软件定时 是利用CPU内部定时机构,运用软件编程去循环执行一段程序而产生的等待延时。优点:不需增加硬件设备,只需编制相应的延时程序以备调用。缺点:CPU执行延时等待时间,增加了CPU的时间开销。延时时间越长,CPU的效率也越低,浪费了CPU的资源,另外还受主频的影响。(2)硬件定时 它是采用可编程通用的定时/计数器或单稳延时电路产生定时或延时。优点: 这种方法不占用CPU的时间,定时时间长, 使用灵活。 定时准确,定时时间不受主

3、机频率影响, 在一定程度上具有通用性,故得到广泛 的应用。缺点:需要有硬件的支持。2、外部硬件定时器不可编程定时器采用中小规模集成电路构成的定时电路,常见的定时器件有单稳触发器等。可编程定时器定时长度可由程序设定或改变。定时器的定时原理定时器三要素: 稳定、准确的震荡频率。 GATE控制定时开始。 定时时间到后输出的波型。定时长度 = T *(减1寄存器的初始值)震荡器减1寄存器GATET定时输出OUTCLK4.4 可编程定时/计数器82C54A1、82C54的外部连接特性与内部结构l82C54的外部特性与CPU连接的信号有:D0-D7,WR,RD, CS,A0,A1与外设连接的信号有:CLK

4、,GATE,OUT面向CPU的信号线 数据总线D0-D7:为三态输出输入线。用于将 8253与系统数据总线相连。 片选线CS:为输入信号,低电平有效。当为 低电平时,CPU选中82C54,并可以对82C54进行 读/写操作;当为高电平时,CPU没有选中82C54。CS由 CPU输出的地址码经译码产生。 读信号RD:为输入信号,低电平有效。 写信号WR:为输入信号,低电平有效。 地址线A1,A0:这两根线接到系统地址总线的A1,A0上, 用于片内寻址。面向I/O设备的信号线计数器时钟信号CLK:CLK为输入的计时脉冲信号。计数器门控选通信号GATE:为输入的计时启动信号。计数器输出信号OUT:为

5、定时到的输出信号。 l82C54的内部结构(1)82C54内部模块 82C54内部有6个模块,其结构如下图示。数据总线缓冲器数据总线缓冲器读读/ /写逻辑写逻辑控制命令寄存器控制命令寄存器计数器计数器0 0计数器计数器1 1计数器计数器2 2CLKCLK0 0GATEGATE0 0OUTOUT0 0CLKCLK1 1GATEGATE1 1OUTOUT1 1CLKCLK2 2GATEGATE2 2OUTOUT2 2D0D7 A A0 0A A1 1RDRDWRWRCSCS内部总线内部总线各组成部分的含义:数据总线缓冲器:它是一个三态、双向8位寄存器,用于将8253与系统数据总线D0-D7 相连。

6、读/写逻辑:用于读/写控制和片选。控制命令寄存器:它接收CPU送来的控制字。计数器:8253有3个独立的计数器(计数通道),其内部结构完全相同。(2)计数器通道的组成及工作原理16位当前计数值锁存器16位减1计数器16位计数初值寄存器锁存后读出当前值LSBMSB&CLKGATE装入/读出初值LSBOUT图4.3 计数通道内部逻辑图(减1至0时)MSB计数初值寄存器(16位): 用于存放计数初值(定时常数、分频系数),其长度为16位,故最大计数值为65536(64KB)。在初始化时同减1计数器的初值一起装入。计数初值寄存器的计数初值,在计数过程中保持不变。减1计数器(16位): 用于进行

7、减1计数操作,每来一个时钟脉冲,它就作减1运算,直至将计数初值减为零。当前计数值锁存器(16位): 用于锁存减1计数器的内容,以供读出和查询。CSRDWRA1A0操 作01000加载T/C0(向计数器0写入“计数初值”)01001加载T/C1(向计数器1写入“计数初值”)01010加载T/C2(向计数器2写入“计数初值”)01011向控制器寄存器写“方式控制字”00100读T/C0(从计数器0读出“当前计数值”)00101读T/C1(从计数器1读出“当前计数值”)00110读T/C2(从计数器2读出“当前计数值”)00111无操作三态1禁止三态011无操作三态82C54A 读写操作及端口地址2

8、、82C54的命令字 82C54有3个命令字和一个状态字。3个命令字是:方式命令、锁存命令和读回命令。其中方式命令是必须的,其它两个命令根据需要使用。注意:这3个命令字使用同一个端口,按方式命令在先,其它命令在后的循序写入端口。l 方式命令 选定计数通道及其工作方式、读/写字节的顺序以及计数码制。 方式命令的格式:例:选用计数器1,工作在3方式,计数初值为1234H;设307H是命令寄存器的地址,305H是定时器1的地址,则初始化程序段为: MOV DX,307H ;命令口 MOV AL,01110110B ;方式字 OUT DX,AL MOV DX,305H ;T1数据口 MOV AL,34

9、H ;低8位计数值 OUT DX,ALMOV AL,12H ;高8位计数值OUT DX,ALl 锁存命令 将减1寄存器的内容锁存到输出寄存器中,以供CPU读取。?锁存命令的格式:读当前计数值为什么要先锁存计数值? 减1计数器是16位的,而定时器的数据线是8位的,必须读两次才能读出16位数据,在两次读操作时可能使减1计数器的内容发生变化。 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 减1若先读高字节0000000111111111若先读低字节000000000000000000000000第1次读减1计数器中的值

10、第2次读减1计数器中的值例:要求读取计数器1的当前计数值,并把读取的计数值装入到AX寄存器中。设计数器1的端口地址为305H,命令口的地址为307H。程序段如下:MOV DX,307HMOV AL,0100XXXXB;锁存计数器1OUT DX,ALMOV DX,305HIN AL,DX;读低字节MOV BL,ALIN AL,DX;读高字节MOV AH,ALMOV AL,BL可以取任意数,一般取0l 读回命令(8253不具有这种功能) 读回命令与前面的锁存命令不同,它即能锁存计数值又能锁存状态信息,而且一条读回命令可以锁存3个计数通道的当前计数值与状态。注意:读回命令只是一个锁存的功能,要读回计

11、数值和状态还要发一条读命令。读回命令的格式:含义:D1,D2,D3用于选择3个计数器1:选中,0:未选中;D4,D5用于选择读当前状态还是当前计数值0:要读取,1:不读取例:读取计数器2的当前计数值,读回命令=11011000B读取计数器2的当前状态,读回命令=11101000B读取计数器2的当前计数值和状态,读回命令=11001000B4.3 82C54的工作方式1、82C54在不同工作方式下的功能和特点 有6种工作方式,不同的工作方式主要体现在输出波形、启动方式、初值装入,以及GATE信号的控制作用的不同。 l 0方式功能及输出波形特点:计数结束,输出OUT产生01的上升沿,用此沿可申请中

12、断(单次输出波形)。0方式的上述工作特点可用下图的时序来表示n=5n=5CLKCLKOUTOUTWRWR 5 54 43 32 21 10 0l 0方式的计数过程由软件启动,写入时间常数后开始计数。l 门控信号用于开放或禁止计数,GATE为1则容许计数,为0则禁止计数。例:使计数器T1工作在0方式,进行16位二进制计数,计数初值的高低字节分别为0AH和35H。初始化程序段为: MOV DX,307H ;命令口 MOV AL,01110000B ;方式字 OUT DX,AL MOV DX,305H ;T1数据口 MOV AL,35H ;计数值低字节 OUT DX,AL MOV AL,0AH ;计

13、数值高字节 OUT DX,AL 某个时间常数值某个时间常数值l 1方式功能及输出波形特点:该方式是硬件可重触发单稳态方式(每次触发产生单次输出波形) 。n=4n=4CLKCLKGATEGATEWRWROUTOUT 4 43 32 21 10 0l 当写入计数初值后,必须再由GATE信号01变化后才能启动计数,否则不能启动计数;l GATE每出现一次01的变化,都会重新启动一次计数。例:使计数器T2 工作在1方式,进行8位二进制计数,并设计数初值的低8位为0E0H。初始化程序段为: MOV DX,307H ;命令口 MOV AL,10010010B ;方式字 OUT DX,AL MOV DX,3

14、06H ;T2数据口 MOV AL,0E0H ;低8位计数值 OUT DX,ALl 2方式功能及输出波形 该方式是N分频器方式或速率波发生器方式。分频系数就是计数初值,可产生连续的负脉冲,且负脉冲的宽度固定(周期输出波形) 。工作特点: 计数器计数期间,输出OUT为高电平,计数 器回零时,输出一个宽度等于时钟脉冲周期 的负脉冲,并自动重新装入原计数初值。 n=4n=4CLKCLKWRWROUTOUT4 43 32 21 10 0(4)(4)3 32 21 1例:使计数器T0 工作在2方式,进行16位二进制计数。初始化程序段为: MOV DX,307H ;命令口 MOV AL,00110100B

15、 ;方式字 OUT DX,AL MOV DX,304H ;T0数据口 MOV AL,00H ;低8位计数值 OUT DX,AL MOV AL,01H ;高8位计数值 OUT DX,ALl 3方式功能及输出波形特点:产生占空比为1:1或接近1:1的连续方波。l 4方式和5方式功能特点:都是单个脉冲发生器,且脉冲宽度固定,差别是启动方式不同,4方式由软件启动,5方式由硬件启动。CLKWROUT2n=4222小结:6 种工作方式的比较l0方式和1方式的输出波形类似,但0方式靠软件启动,1方式靠硬件启动。l2方式(分频器)和3方式(方波发生器),这两种方式共同的特点是具有自动再加载功能。l4方式和5方

16、式的输出波形类似,但4方式靠软件启动,5方式靠硬件启动。4.4 82C54的计数初值1、计数初值的作用 为了产生不同的定时。2、计数初值的计算产生时间间隔的时间常数T = 要求定时的时间/时钟脉冲周期 = * CLK产生频率为f的信号波形的时间常数T = 时钟脉冲的频率/要求的波形频率 = CLK/f3、计数初值的范围 二进制码的范围是0000H-0FFFFH, BCD码的范围是0000-9999。4、计数初值的装入 8位时间常数可一次装入; 16位时间常数分两次装入,先低后高。5、计数初值的重装与改写 重装:2方式和3方式具有自动重装载能力 改写:计数初值不能改变只能重写。4.5 82C54

17、A不同方式下的的启动/停止1、计数过程的启动方式(1)软件启动 在GATE=1时,计数初值一旦写入减1计数器,就开始计数。(2)硬件启动 计数初值已经写到减1计数器中,GATE信号由01的上升沿开始计数2、计数过程的停止方式 强制停止方式:通过GATE=0来中止计数; 自动停止方式:要等到单次定时结束为止。1、82C54A在微机系统中的应用设置 在微机系统中82C54的通道0用于日时钟的中断请求,通道1用于DRAM的刷新请求,通道2用于扬声器的发声。4.6 定时/计数器的应用系统的应用配置如下:例1:利用计数通道2产生896HZ的方波使扬声器发声。初值的计算:T=1.19318MHZ/896H

18、Z=1331=533H通道2的程序:MOV AL,10110110B;初始化方式字OUT 43H,ALMOV AX,533H;初值为533HOUT 42H,AL;先低后高MOV AL,AHOUT 42H,AL例2:计数通道0每55ms产生一次中断请求初值的计算: T=1.19318MHZ/(1/55ms)65536通道0的程序:MOV AL,00110110B;初始化方式字OUT 43H,ALMOV AX,0H;初值为533HOUT 40H,AL;先低后高OUT 40H,AL例3:计数通道1每15us请求一次DMA传送初值的计算: T=1.19318MHZ/(1/15us )12H通道1的程序:MOV AL,01010100B;初始化方式字OUT 43H,ALMOV AL,12H;初值为533HOUT 41H,AL;先低后高2、定时/计数器82C54A的应用举例 当使用扩展的定时/计数器时,定时器的4个地址分别为:计数器0为304H、计数器1为305H、计数器2为306H、命令寄存器为307H。 现在利用82C54A测量脉冲宽度,分析如下: 把被测脉冲连接到某个计数通道的GATE上,当被测脉冲为低电平时,装计数初值;当被测脉冲为高电平时,开始计数;直到被测脉冲为低电平时,停止计数,并锁

温馨提示

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

评论

0/150

提交评论