可编程计数器定时器8253及其应用.ppt

上传人:w****2 文档编号:15046900 上传时间:2020-08-03 格式:PPT 页数:33 大小:756.55KB
返回 下载 相关 举报
可编程计数器定时器8253及其应用.ppt_第1页
第1页 / 共33页
可编程计数器定时器8253及其应用.ppt_第2页
第2页 / 共33页
可编程计数器定时器8253及其应用.ppt_第3页
第3页 / 共33页
点击查看更多>>
资源描述
第八章 可编程计数器/定时器8253及其应用,Intel 8253是一种完成计数/定时的芯片,被 称为可编程间隔定时器。它内部具有3个独立的 16位计数器通道,通过对它进行编程,每个通 道均可按6种不同的方式工作,并且都可以按2 进制或10进制格式进行计数,最高计数频率能 达到2MHz。8253还适用于许多其他的场合,如 用作可编程方波频率产生器、分频器、程控单 脉冲发生器等等。,8-1 8253的工作原理,一、8253的内部结构和引脚信号,1.数据总线缓冲器,数据总线缓冲器是8253与系统数据总线相连接时用的接口电路,它由8位双向三态缓冲器构成,CPU用输入/输出指令对8253进行读/写操作的信息,都经过8位数据总线D7 D0传送,这些信息包括:,(1)CPU在对8253进行初始化编程时,向它写入的控制字。,(2)CPU向某一计数器写入的计数初值。,(3)从计数器读出的计数值。,2.读/写控制逻辑,读/写控制逻辑接收系统控制总线送来 的输入信号,经组合后形成控制信号,对各部分操作进行控制。可接收的信号有:,下面我们来讨论一下8253与8086 CPU的 连接问题以及端口地址的选择。,3. 计数器02,8253内部包含3个完全相同的计数器/定时器通道,对3个通道的操作完全是独立的。每个通道都包含一个8位的控制字寄存器、一个16位的计数初值寄存器、一个计数器执行部件(实际的计数器)和一个输出锁存器。,(1)计数,计数是指对CLKx引脚输入的脉冲个数进行计数。这些脉冲的间隔可以不相等。可以按2进制或10进制(BCD码)格式进行计数,采用减法计数法。即从设定的初始值开始,每输入一个脉冲信号,计数器就减1,当减到0时,便从OUTx引脚输出一个脉冲信号。输出信号的波形可由程序设置,同时GATEx引脚上的门控信号可以控制是否允许计数器开始计数。,(2)定时,定时是指设定的定时时间到来时,便从OUTx引脚输出一个脉冲信号。 定时也是通过对CLKx引脚输入的脉冲个数进行计数而实现的。但这些脉冲信号必须是精确的时钟脉冲。 定时时间时钟脉冲周期tc计数初值n,输入到8253引脚CLKx的时钟频率不能大 于2MHz!,4. 控制字寄存器,控制字寄存器是一个8位的寄存器,由CPU通过输出指令对它进行写入控制字,用来选择计数器通道、工作方式、读写格式和数制。,二、初始化编程步骤和门控信号的功能,对8253芯片进行初始化编程时,需按下 列步骤进行:,(1)写入控制字,用输出指令向控制字寄存器写入一个控 制字,以选定计数器通道,规定计数器的工 作方式和计数格式。写入控制字还起到复位 作用,使输出端OUT变为规定的初始状态, 并使计数器清0。,(2)写入计数初值,通过输出指令向指定通道写入计数初始 值,数值要符合控制字有关格式的规定。它可以是8位或16位。若是8位,用一次输出指令即可完成设置;若是16位数据,则必须用两次输出指令完成设置,先送低8位,后送高8位。 当计数初值为0时,也要分成两次写入,因为在2进制计数时,0表示65536;在BCD码计数时,0表示10000。,由于端口地址独立,3个通道的编程次序没有规定,可任意设置。,例如,在某微机系统中,8253的3个计数器的端口地址分别为3F0H、3F2H、3F4H,控制字寄存器的端口地址为3F6H,要求8253的通道0工作于方式3,并已知对它写入的计数初值n1234H,采用BCD码格式进行计数,则初始化程序为:,在计数初值写入8253后,还要经过一个时钟脉冲的上升沿和下降沿,才能将计数初值装入实际的计数器,然后在门控信号GATE的控制下,对从CLK引脚输入的脉冲进行递减计数。,2. 门控信号控制功能,三、8253的工作方式(6种),1. 方式0计数结束中断方式,2. 方式1可编程单稳态输出方式,3. 方式2比率发生器,4. 方式3方波发生器,5. 方式4软件触发选通,6. 方式5硬件触发选通,8-2 8253的应用举例,一、8253定时功能的应用例子,1. 用8253产生各种定时波形,在某个以8086为CPU的系统中使用了一块 8253 芯片,通道的基地址为 310H,所用的时钟脉冲频率为1MHz。要求3个计数通道分别完成以下功能:,(1)通道0工作于方式3,输出频率为2KHz 的方波; (2)通道1产生宽度为480s的单脉冲; (3)通道2用硬件方式触发,输出单脉冲, 时间常数为26。, 通道0工作于方式3,即构成一个方波发生器,它的控制端GATE0需接5V,为了输出2kHz的连续方波,应使时间常数N0 : N01MHz/2kHz500=1F4H,MOVDX,316H MOVAL,00110111B OUTDX,AL MOVDX,310H MOVAL,00H OUTDX,AL MOVAL,05H OUTDX,AL, 通道1工作于方式1,即构成一个单稳态电路,由GATE0的正跳变触发,输出一个由时间常数决定的负脉冲,时间常数N1 : N1480s/1s480,MOVDX,316H MOVAL,01110011B OUTDX,AL MOVDX,312H MOVAL,80H OUTDX,AL MOVAL,04H OUTDX,AL,控制字, 通道2工作于方式5,即由GATE0的正跳变触发减1计数,在计到0时形成一个宽度与时钟周期相同的负脉冲,此后若再次出现正跳变,又能产生一个负脉冲。(N226),MOVDX,316H MOVAL,10011011B OUTDX,AL MOVDX,314H MOVAL,26H OUTDX,AL,二、8253计数功能的应用例子,8253可以用于各种需要进行计数的场合。下面,我们用一个具体的例子来说明它在这方面的应用。假设一个自动化工厂需要统计在流水线上所生产的某种产品的数量,可采用8086微处理器和8253等芯片来设计实现这种自动计数的系统。下面介绍这种自动计数系统的电路和控制软件的设计方法。,1. 硬件电路设计,这个自动计数系统由8086 CPU控制,用8253 作计数器。此外,还要用到一片 8259A中断控制器芯片和若干其他电路。图 8-12 仅给出了计数器部分的电路图。,2. 初始化编程,对计数器1: 工作于方式0,按BCD码计数,先读/写低字节,后读/写高字节,则 控制字01110001B,如选取计数初值n499,则经过n1个脉冲,也就是500个脉冲,OUT1端输出一个正跳变。它作用于8259A的IR0端,通过8259A的控制,向CPU发出一次中断请求,表示计满了500个数,在中断服务程序中使工件总数加上500。,3. 计数值的读取,在许多用到8253计数功能的场合,常常需要读取计数器的现行计数值。在读取计数器现行值时,计数过程仍在进行,而且不受CPU的控制。因此在CPU读取计数器的输出值时,可能计数器的输出正在发生改变,即数值不稳定,可能导致错误的读数。为了防止发生这种情况,必须在读数前设法终止计数或将计数器输出端的现行值锁存。这可以采用下面两种方法:,一种方法是在读数前用外部硬件计数脉冲信号,或者使门控信号变为低电平,迫使8253停止计数。这种方法的缺点是需要硬件电路配合。此外,由于外部事件源被切断或正常的计数过程被禁止,干扰了实际的计数过程。因此,一般不宜采用。,另一种方法是先用计数器锁存命令锁存现行计数值,然后将它读出。这种方法完全由软件来实现,并可随时读取计数值,而且不会干扰正常的计数过程和引起错误,是常用的方法。此方法的程序段如下:,练习,设在8086系统中,8253A的控制口地址为36H,三个计数通道的端口地址为30H、32H和34H。,1、假定8253A的计数器2工作在方式0,按二进制计数,计数初值为4 ,对其初始化编程。,2、假设8253A的计数器1工作在方式3,按二进制计数,计数初值为7265H ,对其初始化编程。,2、 MOV AL,76H ;设置控制字 OUT 36H,AL ;控制字写入计数器1的控制单元 MOV AL,65H ;设置计数器低字节 OUT 32H,AL ;低字节写入计数器1的CR MOV AL,72H ;设置计数器高字节 OUT 32H,AL ;高字节写入计数器1的CR,1、 MOV AL,90H ;设置控制字 OUT 36H,AL ;写入计数器2的控制单元CU MOV AL,4 ;设置计数初值 OUT 34H,AL ;初值写入计数器2的CR,3、某一计算机应用系统采用8253芯片的计数器0作频率发生器,输出频率为500Hz;用计数器1产生1000H z的连续方波信号,输入8253的时钟频率为1.19MHs。 试问:初始化时送到计数器0和计数器1的计数初值分别为多少?计数器1工作于什么方式下?,
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!