资源预览内容
第1页 / 共36页
第2页 / 共36页
第3页 / 共36页
第4页 / 共36页
第5页 / 共36页
第6页 / 共36页
第7页 / 共36页
第8页 / 共36页
第9页 / 共36页
第10页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
汇编语言及接口技术(微机原理及应用) 定时计数器,定时计数器概述,定时信号的获得: 软件定时方式 CPU干预 指令执行时间作间隔 不可编程的硬件定时方式 方式固定 硬件设定参数 可编程的硬件定时方式 程序设定、程序控制 中断,定时计数器概述,定时和计数器 对不同信号的计数 定时器 对时钟信号进行计数 周期性 计数器 对外部脉冲进行计数 周期性、非周期性,计数器/定时器的用处: 作为中断信号 输出精确的定时信号 作为波特率发生器 实现延迟,定时计数器概述,8253定时计数器,3个独立的16位计数器通道 每个计数器有6种工作方式 按二进制或十进制(BCD码)计数 计数频率8253(2MHZ),8254(5MHZ),说明:, 计数器0,计数器1,计数器2 特点:结构相同,引脚相同,功能独立 数据总线缓冲器 (接低8位数据总线) 功能:计数器设置初值 从计数器读取计数值 往控制寄存器设置控制字,8253定时计数器, 读写逻辑电路 A1、A0对计数器和控制寄存器寻址 RD#读信号 WR#写信号 CS#片选信号 控制寄存器(A1、A0为11时选中) 在初始化过程中,必须先写入控制字,才能写其他命令,如设计数初值、锁存等。,8253定时计数器,计数器结构示意图,计数初值存于预置寄存器; 在计数过程中, 减法计数器的值不断递减, 而预置寄存器中的预置不变。 输出锁存器用于写入锁存命令时, 锁定当前计数值,8253定时计数器,计数器的3个引脚,CLK时钟输入信号在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1 GATE门控输入信号控制计数器工作,可分成电平控制和上升沿控制两种类型。CLK信号出现时,计数器是否减1,由门控信号GATE控制 OUT计数器输出信号当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号,8253定时计数器,8253的外部连接特性,8253上负责内部寻址4个端口的A0、A1脚与8086CPU的A1、A2脚相连(8086CPU的A0脚空出),同时8086CPU的其它高位地址线经地址译码后产生8253的片选信号。,注:8253内部不止4个寄存器,但因为有些寄存器只读,有些寄存器只写,所以我们可以用8253的A1、A0信号与读写信号一起寻址内部各寄存器。,定时/计数器初值的计算 定时时间 = 时钟脉冲周期预置的计数初值 定时频率 = 时钟脉冲频率预置的计数初值,8253定时计数器,8253的工作方式,8253有6种工作方式,由方式控制字确定 熟悉每种工作方式的特点才能根据实际应用问题,选择正确的工作方式 每种工作方式的过程类似: 设定工作方式 设定计数初值 硬件启动 计数初值进入减1计数器 每输入一个时钟计数器减1的计数过程 计数过程结束,8253计数/定时器工作方式,方式0计数结束中断方式 写入0方式工作字 OUT变低 写入初值后,CLK经历上升、下降后,才将初值送入计数器执行部件 GATE必须为高 GATE中途为低,暂时停止计数(维持) 一次性,不重载 装入初值,即启动计数,方式0 计数结束中断, 设 定 工 作 方 式, 设 定 计 数 初 值, 计 数 值 送 入 计 数 器, 计 数 过 程, 计 数 结 束,8253计数/定时器工作方式,在计数过程中改变计数值,8253计数/定时器工作方式,8253计数/定时器工作方式,方式1可编程单稳态输出方式 写入工作方式字 OUT变高 GATE的上升沿才触使初值装入并启动计数,并使OUT变低 若计数未满,再出现GATE的上升沿,重载初值,延长计数时间 单稳在规定的时长内(初值),多个GATE信号,只被识别一次多个GATE信号一个OUT输出周期 一次性,不重载,方式1 可编程单稳脉冲, 设 定 工 作 方 式, 设 定 计 数 初 值, 硬 件 启 动, 计 数 值 送 入 计 数 器, 计 数 过 程, 计 数 结 束,8253计数/定时器工作方式,计数未减到0,GATE又来一上升沿,8253计数/定时器工作方式,8253计数/定时器工作方式,方式2频率发生器(分频器) 写入工作方式字 OUT变高 GATE必须为高 OUT在最后一个CLK周期出现与CLK等宽的负脉冲 计数到零,重载初值 GATE的上升沿,导致初值重载,方式2 频率发生器(分频器),8253计数/定时器工作方式,8253计数/定时器工作方式,方式3方波发生器 写入工作方式字 OUT变高 GATE必须为高,GATE上升沿,重载初值 初值(n) 偶数 n/2为高,n/2为低 奇数 (n+1)/2为高,(n-1)/2为低 计数到零,重载初值,方式3 方波发生器,8253计数/定时器工作方式,方式3: 例:计数器工作模式3,计数器初值15,时钟脉冲频率为2MHz,确定OUT端输出方波的特性。 解:TCLK=1/2MHz=500ns 计数器初值15为奇数,输出分频波高电平宽度 TCLK(N+1)/2=4s 输出分频波低电平宽度 TCLK(N-1)/2=3.5s,8253计数/定时器工作方式,8253计数/定时器工作方式,方式4软件触发选通信号 写入工作方式字 OUT变高 GATE必须为高,GATE上升沿重载初值 计数满,OUT输出一个CLK周期的负脉冲 一次性,不重载,方式4 软件触发选通信号,8253计数/定时器工作方式,例:计数器0工作模式4,初始化计数器,使装入计数器10 s后产生选通信号(设时钟频率2MHz,8253端口地址为50H53H)。 解:n+1=T/ TCLK=10/0.5=20 n=19=13H MOV AL, 18H OUT 53H, AL MOV AL, 13H OUT 50H, AL,8253计数/定时器工作方式,8253计数/定时器工作方式,方式5硬件触发选通信号 写入工作方式字 OUT变高 初值写入后,并不置入计数执行部件 载GATE上升沿后,才启动计数;到零后,输出与CLK等宽的负脉冲,重载初值,等待GATE,方式5 硬件触发选通信号,8253计数/定时器工作方式,计数未减到0,GATE又来一上升沿,8253计数/定时器工作方式,各种工作方式的输出波形,8253的工作方式,8253的控制字寄存器,8253计数/定时器编程,初始化操作(三个通道单独初始化) 1 写入控制字 选择计数通道 设置工作方式 初值的访问方式 确定初值的数制(二进制/BCD) 计数器清零、OUT初始化,2 写入计数值,选择二进制时 计数值范围:0000HFFFFH 0000H是最大值,代表65536 选择十进制(BCD码) 计数值范围:00009999 0000代表最大值10000,8253计数/定时器编程,假如某微机系统,8253的3个计数器的端口分别为3F0H,3F2H,3F4H,控制字的端口地址为3F6H,要求8253的通道0工作于方式3,写入计数初值1234H,8253计数/定时器编程,MOV AL,00110111B MOV DX,3F6H OUT DX,AL MOV AL,34H MOV DX,3F0H OUT DX,AL MOV AL,12H OUT DX,AL,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号