定时计数技术(甄兰兰)

上传人:san****019 文档编号:70880017 上传时间:2019-01-18 格式:PPT 页数:33 大小:2.49MB
返回 下载 相关 举报
定时计数技术(甄兰兰)_第1页
第1页 / 共33页
定时计数技术(甄兰兰)_第2页
第2页 / 共33页
定时计数技术(甄兰兰)_第3页
第3页 / 共33页
定时计数技术(甄兰兰)_第4页
第4页 / 共33页
定时计数技术(甄兰兰)_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《定时计数技术(甄兰兰)》由会员分享,可在线阅读,更多相关《定时计数技术(甄兰兰)(33页珍藏版)》请在金锄头文库上搜索。

1、第10章 定时/计数技术,本章学习目标,掌握8253的内部结构 掌握8253的6种工作方式 掌握初始化编程应用 了解8253的引脚结构 了解6种工作方式的区别及使用场合,10.1 概述,在计算机系统以及实时控制和处理系统中经常要用到定时信号。 定时信号的产生可以通过软件和硬件两种方法获得。 软件定时的方法就是利用微处理器执行一个延时程序段实现。 硬件定时的方法就是利用专用的硬件电路来产生延时。 1)不可编程的硬件定时 2)可编程的硬件定时,10.2 8253功能简介,基本功能 (1)16位减法计数器; (2)最多提供3路独立的定时/计数通道; (3)最高2MHZ的计数频率; (4)二进制和十进

2、制两种计数模式; (5)6种工作方式可选择; (6)所有引脚与TTL兼容。,计数原理 1.可编程定时/计数器按其计数方式的不同又可分为减法计数器和加法计数器。 2.8253属于减法计数器,其本质上是一个减“1”计数器。 3.充当计数器时,可对标准的脉冲源或外部事件的脉冲进行计数,接收一个脉冲,计数器减1,减到零时,输出一个信号便结束。因此,计数过程是一次性。 4.充当定时器时,计数器对精准的高频脉冲源输入的脉冲进行减1计数,计数器减到零时,这一减1计数过程并没有就此结束,反而又开始了新一轮的计数。,充当定时器时,定时输出的是一个循环往复的周期性的信号,输出的低频脉冲信号的周期是输入高频脉冲信号

3、的若干倍。,减一计数器,10.3 8253内部结构与外部引脚,引脚及功能 1.8253采用NMOS工艺制成,+5V单一电源供电,24引脚的双列直插式器件。,8253的逻辑功能图,内部结构 主要包括3个计数器通道、1个控制寄存器、数据总线缓冲器及读写逻辑电路。,(1)计数器 8253芯片内部有3个16位计数通道,CN0、CN1和CN2。3个通道结构相同,功能相同,相互独立,可以分别按各自的方式并行工作。每个通道都包括1个16位的初值寄存器(CR),1个16位的计数执行部件(CE)和1个16位的输出锁存器(OL)。 (2)控制寄存器 8253内部的控制寄存器用来存放控制字的。控制字决定了每个计数通

4、道的工作方式,计数制,以及计数初值的字长等信息。控制字在8253初始化时写入控制寄存器,控制寄存器只能写,不能读。,(3)数据总线缓冲器 数据总线缓冲器是8253与CPU数据总线之间的1个8位的双向三态缓冲器。总线缓冲器通过片内总线与控制寄存器和各个计数模块相连。CPU对8253进行读写的所有信息都是由数据总线缓冲器进行暂存,包括控制字,计数初值等在内。 (4)读/写逻辑电路 读/写逻辑电路是8253内部的控制部件,它接收来自系统总线的控制输入信号,经过逻辑变换产生对各个端口的控制信号。当片选信号无效时,数据总线缓冲器处于浮空状态,CPU无法对8253读写。,10.4 工作原理,计数通道的内部

5、结构,8253内部的3个计数通道,结构完全相同,每个计数通道都包括1个16位的初值寄存器(CR),1个16位的计数执行部件(CE)和1个16位的输出锁存器(OL)。 1)初值寄存器CR 用来存放CPU写入的计数初值。一旦写入数据,初值寄存器的内容将保持不变,直到CPU再次写入新的计数初值。 2)输出锁存器OL 输出锁存器时刻跟随计数执行部件CE变化而变化。只有当CPU执行锁存命令时,OL则不再跟随CE变化,而是保持住当前计数值,直到CPU执行读命令,读出锁存器的内容后,OL又再次跟随CE变化。因此,CPU可以先后执行锁存命令和读命令读出当前计数值。,3)计数执行部件CE 计数执行部件是整个计数

6、模块的核心。本质上是一个减“1”计数器。接收来自CR 的计数初值,在计数过程中的任何时刻,CPU可通过读输出锁存器读出当前计数值。CE的计数过程受来自外部的CLK和GATE 两个输入引脚的控制。CLK 决定了计数的速率。一般情况下,GATE=1时,允许计数;GATE=0时,禁止计数。,工作原理 CPU通过端口输出指令将计数初值写入初值寄存器端口,8253时刻检测门控信号GATE是否有效,当检测到门控信号有效时,初值寄存器CR就将计数初值输出到计数执行部件CE。CE接收到计数初值后就开始了减“1”计数,直到减到零,本轮计数结束。在计数模式下,计数过程是一次性的,计数到零,输出停止。而在定时模式下

7、,计数过程是循环的,输出信号是连续的。,计数模块的特点 1)设置初值寄存器CR的目的。 2)设置输出锁存器OL的目的。 定时/计数的工作过程 1)设置8253的工作方式(6种); 2)设置计数初值到初值寄存器; 3)设置GATE门控信号,把门打开,使CLK可通过之送入计数寄存器计数; 4)第一个CLK信号使初值寄存器的内容置入计数寄存器; 5)以后每来一个CLK信号,计数寄存器减1; 6)减到0时,OUT端输出一特殊波形的信号;,10.5 8253 的工作方式,软启动与硬启动 (1)软启动(程序指令启动) (2)硬启动(外部电路信号启动) 8253的工作方式 (1)方式0计数结束后产生中断,(

8、2)方式1可重复触发的单稳态触发器,(3)方式2频率发生器,(4)方式3方波发生器,(5)方式4软件触发选通,方式5硬件触发选通,8253的几种工作方式比较 (1)方式 0 与方式 4 的比较(软件控制) (2)方式 1 与方式 5 的比较(硬件触发) (3)方式 2 与方式 3 的比较(波形输出) 8253的工作方式小结 (1)方式2、4、5的输出波形是相同的,都是宽度为一个CLK周期的负脉冲,但方式2连续工作,方式4由软件触发启动,方式5由硬件触发启动。 (2)方式5与方式1工作过程相同,但输出波形不同,方式1输出的是宽度为N个CLK脉冲的低电平有效的脉冲(计数过程中输出为低),而方式5输

9、出的为宽度为一个CLK脉冲的负脉冲(计数过程中输出为高)。,(3)输出端OUT的初始状态,方式0在写入方式字后输出为低,其余方式,写入控制字后,输出均能变为高。 (4)任一种方式,均是在写入计数初值之后,才能开始计数,方式0、2、3、4都是在写入计数初值之后,开始计数的,而方式1和方式5需要外部触发启动,才开始计数。 (5)6种工作方式中,只有方式2和方式3是连续计数,其它方式都是一次计数,要继续工作需要重新启动,方式0、4由软件启动,方式1、5由硬件启动。,(6)通过门控信号GATE,可以干预8253某一通道的计数过程,在不同的工作方式下,门控信号起作用的方式也不一样,其中0、2、3、4是电

10、平起作用,1、2、3、5是上升沿起作用,方式2、3对电平上升沿都可以起作用。 (7)在计数过程中改变计数值,它们的作用有所不同。 (8)计数到0后计数器的状态,方式0、1、4、5继续倒计数,变为FF、FE,而方式2、3、,则自动装入计数初值继续计数。,10.6 8253的控制字与初始化编程,8253的控制字,8253的编程命令 (1)读命令 读命令用来读取当前指定计数模块的当前计数值。 (2)写命令 写命令包括写控制字和写初值。控制字写入控制寄存器端口,初值写入计数模块的初值寄存器。需要注意的是每个计数器的初值写入顺序一定是放在控制字的后面。初值是减“1”计数的起始值,分为8位初值和16位初值

11、。若为16位初值必须使用连续两条输出指令。 (3)锁存命令 锁存命令也属于写命令。当CPU想要读取当前计数值时,先要使用锁存命令将输出锁存器中的内容锁住,然后再读出。因此,锁存命令应当与读命令配合使用。,8253初始化编程 主要分为两个方面:设置计数器的控制字和计数初值,即写控制字入控制寄存器端口和写初值入初值寄存器。对3个计数器的初始化顺序可任意排列,但是具体到每一个计数器,控制字的写入一定在先,初值的写入在后。,注意写计数值高8位是非必须的。,例10-1:采用8253作定时/计数器,其接口地址为0120H0123H。要求计数器0每10ms输出一个CLK脉冲宽的负脉冲;用计数器1产生10KH

12、z的连续方波信号,计数器2在定时5ms后产生输出高电平。输入8253的时钟频率为2MHz。 分析: (1)计算计数初值: CNT0:10ms/0.5us=20000 CNT1:2 MHz/10KHz=200 CNT2: 5ms/0.5us=10000 (2)确定控制字: CNT0:方式2,输出负脉冲波,16位计数值 CNT1:方式3,输出方波,低8位计数值 CNT2:方式0,输出高电平,16位计数值,初始化程序: CNT0:MOV DX,0123H MOV AL,34H OUT DX,AL MOV DX,0120H MOV AX,20000 OUT DX,AL MOV AL,AH OUT DX

13、,AL CNT1:MOV DX,0123H MOV AL,56H OUT DX,AL MOV DX,0121H MOV AL,200 OUT DX,AL,CNT2:MOV DX,0123H MOV AL,0B0H OUT DX,AL MOV DX,0122H MOV AX,10000 OUT DX,AL MOV AL,AH OUT DX,AL,8253的应用举例 例10-2:在PC机中使用了1片8253,8253在PC机中的连接简图如图10-13所示。其中,计数器0为电子时钟提供基准;计数器1为动态RAM提供刷新定时,刷新周期大约15s;计数器2作为机内扬声器的音频信号源,产生频率为1KHz的

14、方波。8253的输入时钟频率为1.193MHz,端口地址为40H-43H。请写出PC机内8253的初始化编程。,分析: 计数器0为系统的电子钟提供时间基准,它的输出作为系统的中断源,因此,计数器0工作于方式3,取最大初值=0;计数器1产生对DMAC的总线请求,每15s输出一个负脉冲,因而计数器1工作于方式2,初值为N1=15s*1.193MHz=18;方波信号经放大和驱动后送给扬声器可发声,所以计数器2应工作于方式3,初值为N2=1.193MHz/1KHz=1193。,8253初始化程序,MOV AL,36H ;计数器0,读写16位,方式3,二进制计数 OUT 43H, AL MOV AL, 0 ;计数器0初值 OUT 40H, AL OUT 40H, AL MOV AL, 54H ;计数器1,读写低8位,方式2,二进制计数 OUT 43H, AL MOV AL, 18 ;计数器1初值 OUT 41H, AL MOV AL, 0B6H ;计数器2,读写16位,方式3,二进制计数 OUT 43H, AL MOV AX, 1193 ;计数器2初值 OUT 42H, AL MOV AL, AH OUT 42H, AL,第10章结束,谢谢!,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号