微型计算机原理第10章 定时器/计数器

上传人:ji****en 文档编号:114880436 上传时间:2019-11-12 格式:PPT 页数:62 大小:945.51KB
返回 下载 相关 举报
微型计算机原理第10章 定时器/计数器_第1页
第1页 / 共62页
微型计算机原理第10章 定时器/计数器_第2页
第2页 / 共62页
微型计算机原理第10章 定时器/计数器_第3页
第3页 / 共62页
微型计算机原理第10章 定时器/计数器_第4页
第4页 / 共62页
微型计算机原理第10章 定时器/计数器_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《微型计算机原理第10章 定时器/计数器》由会员分享,可在线阅读,更多相关《微型计算机原理第10章 定时器/计数器(62页珍藏版)》请在金锄头文库上搜索。

1、10.1 定时/计数技术概述 10.2 可编程定时器/计数器8253/8254 10.3 8253在微机系统中的应用 第10章 定时/计数技术及接口 第一,计算机系统本身需要一个时间基准,以保证计 算机在确定时刻完成规定动作。 10.1 定时/计数技术概述 第10章 定时/计数技术及接口 10.1.1 系统的时间基准 计算机为什么需要时间基准? 计算机系统的时间基准:主时钟频率(简称主频) 第二,用计算机构成的测控系统常被要求能提供一些 定时和计数的功能 。 10.1.2 系统定时分类 软件定时: 用循环程序实现 定时: 简单硬件定时:用硬件电路实现 硬件定时: 可编程硬件定时:用可编程芯片实

2、现 (软、硬件结合方式) 第10章 定时/计数技术及接口 第10章 定时/计数技术及接口 举例: MOV CX,100 ;占用时钟周期数为m1 L1:MOV BX,50 ;占用时钟周期数为m1 L2:DEC BX ;占用时钟周期数为m2 NOP ;占用时钟周期数为m3 JNZ L2 ;占用时钟周期数为m4 NOP ;占用时钟周期数为m3 LOOP L1 ;占用时钟周期数为m5 1. 软件定时 :让CPU执行一段具有固定延时时间的循环程序来实 现的延时。是实现系统定时或延时控制的最简单的方法。 优点:不需要外加硬件电路且定时精确。 缺点:定时时间越长,CPU的开销越大,而且不能响应中断, 否则定

3、时就不准确。 则:定时时间t = T 100 50(m2+ m3 + m4 )+ m1+ m3 +m5+ m1 设T为主频率对 应的时钟周期 第10章 定时/计数技术及接口 2. 硬件定时: 由硬件电路来实现的定时。 优点减轻CPU的负担,使得在定时期间CPU能做 其它工作。 不可编程的硬件定时555时基电路等 缺点:不易修改定时参数,时间长了器件会 老化。 可编程硬件定时8253定时/计数器等 优点:定时参数和工作方式可由软件来控制 ,定时过程不需要CPU干预。 10.2.1 8253主要特性 单一正5V电源,NMOS工艺制成。 片内具有3个独立的16位减法计数器(或称计数通道)。 计数频率

4、为02MHz。 两种计数方式:即二进制或BCD方式计数。 六种工作方式,既可对系统时钟脉冲计数实现定时, 又可对外部事件进行计数。 可由软件或硬件控制开始计数或停止计数。 第10章 定时/计数技术及接口 10.2 可编程定时器/计数器8253/8254 10.2.2 8253 内部结构 第10章 定时/计数技术及接口 1. 数据总线缓冲器:三态、双向8位寄存器 CPU写入的命令 传送的信息: CPU写入的计数初值 CPU读出的当前计数值 8254增加了回读命令:CPU可读出当前状态 第10章 定时/计数技术及接口 2. 读/写逻辑 读/写逻辑接收由CPU发来的读、写信号和地址信号 等,选择读出

5、或写入寄存器,控制芯片完成读写操作。 3. 控制字寄存器 控制字寄存器接收CPU送来的控制命令。选择计数 器及相应的工作方式。 控制字寄存器只能写入,不能读出。 第10章 定时/计数技术及接口 4. 计数器 8253有三个独立的计数通道 16位的计数单元(减1计数器) 每个通道的组成: 16位初值寄存器(只写) 16位输出锁存器锁存当前计数值 控制单元控制该计数器的工作方式 第10章 定时/计数技术及接口 第10章 定时/计数技术及接口 图10.2 计数器的内部逻辑 计数初值寄存器:用于存放计数初值(定时常数或 称分频系数),最大计数值为65536(64K)。 计数初值是在初始化时装入计数初值

6、寄存器的 ,计数初值在计数过程中保持不变。 计数单元:用于进行减1计数操作,每来一个时钟脉 冲,它就作一次减1运算,直至将计数初值减为零。 当前计数值锁存器:用于锁存减1计数器的内容,以 供CPU读出。 第10章 定时/计数技术及接口 计数器工作原理: 初始化时 首先向计数通道装入计数初值,送入计数初值寄存器 然后送到计数单元(减1计数器)。 计数启动后(GATE允许),在时钟脉冲CLK作用 下,计数单元进行减1计数,直到计数值减到0,OUT输 出端产生相应动作时,计数结束。计数初值寄存器的内 容在计数过程中保持不变。 需要读出当前计数值时,发锁存命令,锁存器锁定 当前计数值,之后可读出当前计

7、数值。 第10章 定时/计数技术及接口 8253 的 引 脚 图 第10章 定时/计数技术及接口 10.2.3 8253外部特性 8253的引脚分为两部分: 1. 与CPU连接的引脚 CPU写入的命令 D7D0:数据线(双向,三态) 传送 CPU写入的计数初值 CPU读出的当前计数值 :写信号,用于控制完成写操作 :读信号,用于控制完成写操作 A1、A0:地址线,用于寻址8253内部的4个端口 :片选信号,用于选中 8253芯片 第10章 定时/计数技术及接口 表10.1 8253端口操作中各信号组合所实现的功能 第10章 定时/计数技术及接口 2. 与外设的接口引脚 CLK02:计数时钟,输

8、入。用于输入定时脉冲或计 数脉冲信号。 GATE02:门控信号,输入。用于外部控制计数器的 启动计数和停止计数的操作。 OUT02:计数输出端。当计数器从初值开始完成计数 操作时,OUT引脚上输出相应的信号。 第10章 定时/计数技术及接口 8253 控 制 字 的 格 式 D7D6D5D4D3D2D1D0 0=二进制 1=十进制 工作方式选择 000=方式0 001=方式1 X10= 方式2 X11= 方式3 100=方式4 101=方式5 通道寻址 00=通道0 01=通道1 10=通道2 11=不用 读写操作 00=锁定当前计数值 01=读/写计数器低 8 位 10=读写计数器高8位 1

9、1=先读/写计数器低8位 再读/写计数器高8位 第10章 定时/计数技术及接口 10.2.4 8253方式控制字(CW) 第10章 定时/计数技术及接口 例:选择2号计数器,工作在方式3 ,计数初值为533H(2个字节 ),采用二进制计数。设8253的端口地址为304H307H。则其初始化 程序段为: 方波发生器 (1) 工作方式编程举例 工作方式3为输出方波 10.2.5 8253控制字的应用 MOV DX,307H ;命令口 MOV AL,10110110 B ;2号计数器的初始化命令字 OUT DX,AL ;写入命令寄存器 MOV DX,306H ;2号计数器数据口 MOV AX,533

10、H ;计数初值 OUT DX,AL ;选送低字节到2号计数器 MOV AL,AH ;取高字节送AL OUT DX,AL ;后送高字节到2号计数器 (2)读当前计数值 在事件计数器的应用中,需要读出计数过程中的当前计 数值,以便根据这个值做计数判断。 例:要求读出并检查1号计数器的当前计数值是否是全“1”。 设 8253的端口地址为304H307H ,假定只读低8位。程序段为: MOV DX, 307H ;命令口 L: MOV AL,01000000B ;1号计计数器的锁锁存命令 OUT DX,AL ;写入命令寄存器 MOV DX,305H ;指向1号计计数器数据端口 IN AL,DX ;读读1

11、号计计数器的当前计计数值值 CMP AL,0FFH ;比较较 JNE L ;非全“1”,再读读 HLT ;是全“1”,暂暂停 第10章 定时/计数技术及接口 初始化编程的具体步骤为: 1. 写入计数器的控制字,规定其工作方式等; 2. 写入计数初值。 若规定只写低8位,则写入的为计数值的低8位, 高8位自动置0; 若规定只写高8位,则写入的是计数值的高8位, 低8位自动置0; 若规定写16位计数值,则分两次写入,先写的必 是低8位,后写的必是高8位。 第10章 定时/计数技术及接口 10.2.6 8253 初始化编程 解: 1按要求找出所用计数器的控制字 选计数器0 只写低8位 选工作方式0

12、二进制计数 选计数器1 只写高8位 选工作方式2 BCD计数 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 例10.1: n某微机系统中8253的端口地址为40H43H,要求计数器0 工作在方式0,计数初值为FFH,按二进制计数;计数器1工 作在方式2,计数初值为1000,按BCD码计数。试写出初始 化程序段。 计数器0的 控制字: 计数器1的 控制字: 第10章 定时/计数技术及接口 2初始化程序段 MOV AL,10H ;写通道0控制字 OUT 43H,AL MOV AL, 0FFH ;写通道0计数初值 OUT 40H,AL MOV AL, 65H ;写通道1控制字 OU

13、T 43H,AL MOV AL, 10H ;写通道1计数初值 OUT 41H,AL 第10章 定时/计数技术及接口 例10.2: 设8253端口地址为FFF0HFFF3H,要求计数器2 工作在方式5,二进制计数,初值为F03FH。试按上 述要求完成8253的初始化。 解: 选计数器2 先写低8位 选工作方式5 二进制计数 再写高8位 1控制字 第10章 定时/计数技术及接口 2初始化程序段 MOV DX,0FFF3H ;DX指向控制端口 MOV AL, 0BAH ;写控制字 OUT DX,AL MOV DX,0FFF2H ;DX指向通道2 MOV AL, 3FH ;写初值低8全 OUT DX,

14、AL MOV AL, 0F0H ;写初值高8位 OUT DX,AL 第10章 定时/计数技术及接口 10.2.7 8253工作方式 通常,在时钟脉冲CLK的上升沿,门控信号GATE被采样。不同工作 方式,门控信号的触发有具体规定,或用电平触发,或用边沿触发。 方式0、4中,门控信号为电平触发; 方式1、5中,门控信号为上升沿触发; 方式2、3中,既可用电平触发,也可用上升沿触发。 在时钟脉冲的下降沿,计数器作减1计数。0是计数器所能容纳的最大 值,因为用二进制计数时,16位计数器中,0相当于216;用BCD码计数 时,0相当于104。 几条基本原则: n控制字写入计数器时,所有的控制逻辑电路立

15、即复位,输出端OUT进 入初始状态(高电平或者低电平)。 n初值写入以后,要经过一个时钟上升沿和一个时钟下降沿,计数执行 部件才开始计数。 第10章 定时/计数技术及接口 工作方式及其特点 8253中有三个独立的计计数器,每个计计数器都可编编程选择选择 六种工作方式之一。 主要从三个方面区别这别这 六种工作方式: 其一是他们们的输输出波形不同; 其二是启动计动计 数器的触发发方式不同; 其三是计计数过过程中门门控信号对计对计 数操作的影响不同。 另外:计计数过过程中可以写入新的初值值,对对于不同的工 作方式,新的初值值对计对计 数过过程的影响不同。 第10章 定时/计数技术及接口 1.方式0 -计数结束产生中断 图3.4 8253的0方式时序波形 n=5 n=5 CLK OUT WR WR GATE OUT WR OUT 54321 0 54321 0 n=9 98 n=4 4321 0 图10.4 方式0输出波形图 正常计数 GATE影响 新的初值影响 第10章

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 电子/通信 > 综合/其它

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