微机原理与接口技术网络与信息工程系可编程计数器/定时器8253第7章微机原理与接口技术网络与信息工程系1.概述定时中断定时检测定时扫描定时显示计数微机原理与接口技术网络与信息工程系实现定时或延时的三种方法软件延时不可编程硬件定时电路可编程定时电路定时或计数的工作实质均体现为对脉冲信号的计数,如果计数的对象是标准的内部时钟信号,由于其周期恒定,故计数值就恒定地对应于一定的时间,这一过程即为定时,如果计数的对象是与外部过程相对应的脉冲信号(周期可以不相等),则此时即为计数。微机原理与接口技术网络与信息工程系2.8253的主要功能一片8253上有三个独立的16位计数器通道,可作为定时器或计数器使用。每个计数器都可设定为按照二进制或二进制编码的十进制(BCD)计数。每个通道有6种工作方式,可由程序设置和改变。每个计数器的速率可高达2MHz。微机原理与接口技术网络与信息工程系接收CPU发来的片选信号、地址信号和读写信号以实现片选、内部通道选择以及对读/写操作进行控制。实现与CPU数据总线连接的8位双向三态缓冲器。用以传送CPU向8253的控制信息、数据信息以及CPU从8253读取的状态信息。由CPU写入控制字,以决定通道的工作方式,此寄存器只能写入,不能读出。三个独立的,结构相同的计数器/定时器通道,每一个通道包含一个16位的计数寄存器,用以存放计数初始值,和一个16位的减法计数器和一个16位的锁存器。3.内部结构微机原理与接口技术网络与信息工程系一个定时器/计数器通道,其核心是一个16位可预先置数的递减计数器。计数执行单元CE输出锁存器OL计数值寄存器CR内部总线CLKGATEOUT图8-28计数器结构示意图计数器结构:16位的计数初值寄存器CR16位的计数执行部件CE16位的输出锁存器OL微机原理与接口技术网络与信息工程系4.外部引脚通道的定时/计数脉冲输入引脚。通道的门控信号输入引脚,门控信号的作用与通道的工作方式有关。通道的定时/计数到信号输出引脚,输出信号的形式由通道工作方式确定。微机原理与接口技术网络与信息工程系控制信号与执行的操作之间的对应关系微机原理与接口技术网络与信息工程系5、8253的控制字方式选择控制字(P173图7.21)设置内容:选择计数器、工作方式、计数数制及读/写格式工作方式00:选计数器001:选计数器110:选计数器211:无效计数器选择读/写格式数制选择SC1RW1MSC0RW0BCDM2M1M000:计数器锁存01:只读/写计数器低字节10:只读/写计数器高字节11:先读/写计数器低字节后读/写计数器高字节000:方式0001:方式1x10:方式2x11:方式3100:方式4101:方式50:二进制计数1:BCD计数微机原理与接口技术网络与信息工程系6、8253的初始化编程(1)写入通道控制字,规定通道的工作方式。设置控制字命令控制端口包括如下步骤:(2)设置计数初始值命令若规定只写低8位,则高8位自动置0,若规定只写高8位,则低8位自动置0。若为16位计数值则分两次写入,先写低8位,后写高8位。设置初始值计数器端口微机原理与接口技术网络与信息工程系例1、设8253的端口地址为:04H~07H,要使计数器1工作在方式0,仅用8位二进制计数,计数值为128,进行初始化编程。解:控制字为:01010000B=50H初始化程序:MOVAL,50HOUT07H,ALMOVAL,80HOUT05H,AL微机原理与接口技术网络与信息工程系例2、设系统中的8253的端口地址为40H~43H。该8253各计数器处于如下工作方式:计数器0-工作在方式0,计数次数110,二进制计数;计数器1-工作在方式3,计数1000,BCD计数;计数器2-工作在方式2,计数20000,二进制计数。解:计数器0方式选择控制字为:00010000=10H,计数值6EH计数器1方式选择控制字为:01100111=67H,计数值10H计数器2方式选择控制字为:10110100=0B4H,计数值4E20H微机原理与接口技术网络与信息工程系初始化程序:MOVAL,10HOUT43H,ALMOVAL,6EHOUT40H,ALMOVAL,67HOUT43H,ALMOVAL,10HOUT41H,ALMOVAL,0B4HOUT43H,ALMOVAX,4E20HOUT42H,ALMOVAL,AHOUT42H,AL;计数器0初始化;计数器1初始化;计数器2初始化微机原理与接口技术网络与信息工程系7.8253的工作方式总体原则:1)控制字CW写入计数器,所有的控制逻辑电路立即复位,输出端进入初始状态。3)在输入脉冲CLK的上升沿,门控信号GATE被采样。不同的工作方式,GATE信号的触发方式有不同规定,电平触发、边沿触发或两种触发方式都允许。2)计数初始值写入后,经过一个CLK脉冲,才由计数初值寄存器CR送入计数执行部件CE开始计数。在输入脉冲CLK的下降沿,计数器作减1计数。计数器的最大初始值是0,用二进制计数时0相当于216,用BCD码时,0相当于104。微机原理与接口技术网络与信息工程系8253门控信号GATE的控制功能微机原理与接口技术网络与信息工程系(1)方式0(计数结束中断)和方式4(软件触发选通)软件触发计数方式1)启动/停止:当写入计数值,就可启动计数器减1计数。减1至0,停止计数。2)输出:方式0-写入CW后,OUT低,减1至0,OUT变高。方式4-写入CW后,OUT高,减1至0,OUT输出负脉冲。3)GATE作用:GATE=1,允许计数;GATE=0禁止计数。4)计数过程中CR变化:按新的计数值计数。5)重新计数:不能。微机原理与接口技术网络与信息工程系OUT043210WRCWN=4CLKGATEOUT4微机原理与接口技术网络与信息工程系(2)方式1(可编程单脉冲)和方式5(硬件触发选通)硬件触发计数方式1)启动/停止:当写入计数值,由GATE信号的上升沿启动计数器减1计数。减1至0,停止计数。2)输出:方式1-写入CW、CR后,GATE↑,OUT低,减至0,OUT变高。方式5-写入CW、CR后,GATE↑,OUT高,减至0,OUT输出负脉冲。3)GATE作用:GATE↑,触发计数;GATE↓和=0禁止计数。4)计数过程中CR变化:不影响。5)重新计数:CR自动→CE,由GATE触发。微机原理与接口技术网络与信息工程系WRCWN=3CLKOUT5GATEOUT132103微机原理与接口技术网络与信息工程系(3)方式2(脉冲发生器)软件触发计数方式1)启动/停止:当写入计数值,就可启动计数器减1计数。2)输出:写入CW后,OUT高,减1至1,OUT变低,经过一个CLK以后,OUT恢复为高,计数器重新开始计数。3)GATE作用:GATE=1,允许计数;GATE↑,启动计数;GATE=0,禁止计数。4)计数过程中CR变化:下一轮按新值计数。5)重新计数:可自动重装CE,自动重新计数。微机原理与接口技术网络与信息工程系WRCWN=3CLKGATEOUT2321321周期性的输出负脉冲。微机原理与接口技术网络与信息工程系(4)方式3(方波发生器)软件触发计数方式1)启动/停止:当写入计数值,就启动计数器减1计数。2)输出:写入CW后,OUT高,当计数到N/2(或(N+1)/2)时,输出变低,继续计数到0,使输出变高,计数器重新开始计数。3)GATE作用:GATE=1,允许计数;GATE↑,启动计数;GATE=0,禁止计数。4)计数过程中CR变化:下一轮(下半轮)按新值计数。5)重新计数:可自动重装CE,自动重新计数。微机原理与接口技术网络与信息工程系WRCWN=XCLKGATEOUT3N=44321432OUT3N=55432154微机原理与接口技术网络与信息工程系8253工作方式小结1)方式2(分频器)、方式4(软件触发选通)和方式5(硬件触发选通),它们的输出波形相同,都是宽度为1个CLK周期的负脉冲。区别是,方式2是自动重复工作的,而方式4需由软件(设置计数值)触发启动,方式5需由门控GATE信号触发启动。2)在6种工作方式中,只有方式0,在写入控制字后输出为低;其余5种方式,都是在写入控制字后输出为高。微机原理与接口技术网络与信息工程系3)6种工作方式的任一种方式,只有在写入计数初值后才能开始计数。其中方式0、2、3、4都是写入计数初值后,就开始计数。而方式1和方式5在写入计数初值后,需由外部GATE信号的触发启动,才开始计数过程。4)6种工作方式中,只有方式2和方式3为自动重复工作方式,其他4种方式都是一次性计数,要继续工作需要重新触发启动。方式0、4由软件启动,方式1、5由硬件启动。