计数器定时器接口芯片



《计数器定时器接口芯片》由会员分享,可在线阅读,更多相关《计数器定时器接口芯片(29页珍藏版)》请在文档大全上搜索。
1、8.2 计数器计数器/定时器接口芯片定时器接口芯片8253微机系统中经常会要求有微机系统中经常会要求有一些实时时钟以实现定时一些实时时钟以实现定时或延时控制或延时控制,也要求,也要求有计数器对外部事件计数有计数器对外部事件计数 实现上述要求可采用实现上述要求可采用3种方法:种方法: 1硬件定时硬件定时用数字逻辑电路来构成,用数字逻辑电路来构成,通用性、灵活性较差通用性、灵活性较差 2软件定时软件定时利用程序段实现,通过正确挑选指令和安排循环次利用程序段实现,通过正确挑选指令和安排循环次数很容易改变定时时间,但数很容易改变定时时间,但软件定时占用了软件定时占用了CPU,降低了降低了CPU的利用率
2、。的利用率。 3采用可编程定时器计数器采用可编程定时器计数器定时时间定时时间与与计数值计数值可由可由软件软件来确定和改变,设定后来确定和改变,设定后与与CPU并行工作,不占用并行工作,不占用CPU的时间。的时间。 8.2.1 8253的内部结构的内部结构 数数 据据 总总 线线 D7 D0 控控 制制 寄寄 存存 器器 VC C +5V G n d R D 计计 数数 器器 0 地地 址址 线线 W R 高高 8 低低 8 计计 数数 初初 值值 寄寄 存存 器器 C L K0 译译 ( C R ) G ATE0 码码 减减 1 计计 数数 器器 高高 8 低低 8 O U T0 器器 C S
3、 ( C E ) 高高 8 低低 8 输输 出出 锁锁 存存 器器 ( O L ) A1 C L K1 A0 计计 数数 器器 1 G ATE1 O U T1 计计 数数 器器 2 C L K2 G ATE2 O U T2 2. 控制寄存器控制寄存器存放存放CPU送来的控制字,控制送来的控制字,控制8253的工作方式。有的工作方式。有3个,只占用一个地址,不能读。个,只占用一个地址,不能读。1. 三个独立的计数三个独立的计数/定时通道定时通道计数器计数器0,计数器,计数器1,计数器计数器2。每个计数器的结构为:。每个计数器的结构为:(1)16位计数初值寄存器(位计数初值寄存器(CR)存放计数的
4、初存放计数的初值(预置);值(预置);(2)16位的计数执行部件(位的计数执行部件(CE)16位减位减1计数计数器;器;(3)16位输出锁存器(位输出锁存器(OL)跟随跟随CE变化,但变化,但可以锁存,便于可以锁存,便于CPU读取。读取。1. 数据线数据线D7D08位,双向、三态,用于位,双向、三态,用于8253与与CPU之间的数据传送。包括:向之间的数据传送。包括:向8253写写控制字控制字,送,送计计数初值数初值及读及读计数器的现行值计数器的现行值。2. 读写控制信号读写控制信号RD,WR3. 片选及地址线片选及地址线CS,A1,A0用于芯片及内部寄存用于芯片及内部寄存器、计数器的寻址。器
5、、计数器的寻址。在在IBM-PC机中,机中,A9A8A7A6A5=00010选中选中(CS=0),),A4A3A2未用,未用,A1A0接接8253的的A1A0。8.2.2 8253的引脚功能的引脚功能A9A8A7A6A5A4A3A2A1A0功能功能 基本地址基本地址0 0 0 1 0 0 0选中计数器选中计数器040H0 0 0 1 0 0 1选中计数器选中计数器141H0 0 0 1 0 1 0选中计数器选中计数器242H0 0 0 1 0 1 1选中控制寄存器选中控制寄存器 43H(其他)(其他) 芯片禁止芯片禁止(说明:(说明:8253有有32个地址,除基本地址外,其余个地址,除基本地址
6、外,其余为影像地址)为影像地址)5. 计数器门控输入信号计数器门控输入信号GATE0GATE2启动或启动或控制计数控制计数/定时信号;定时信号;6. 计数器输出信号计数器输出信号OUT0OUT2计数结束、定计数结束、定时到输出信号或分频输出信号。时到输出信号或分频输出信号。4. 计数器时钟输入计数器时钟输入CLK0CLK2计数计数/定时的基定时的基值信号值信号8253:02MHz8254-2:010MHz A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 1 1 SC1 SC0 RL1 RL0 M2 M1 M0 BCD ( 地地 址址 43H) 计计 数数 器器 选选 择择 数数 制
7、制 选选 择择 00: 计计 数数 器器 0 0: 二二 进进 制制 01: 计计 数数 器器 1 1: 十十 进进 制制 10: 计计 数数 器器 2 11: 非非 法法 工工 作作 方方 式式 选选 择择 读读 /写写 指指 示示 位位 000: 方方 式式 0 00: 计计 数数 器器 锁锁 存存 001: 方方 式式 1 01: 只只 读读 /写写 低低 字字 节节 10: 方方 式式 2 10; 只只 读读 /写写 高高 字字 节节 11: 方方 式式 3 11: 先先 读读 /写写 低低 字字 节节 100: 方方 式式 4 后后 读读 /写写 高高 字字 节节 101: 方方 式
8、式 5 8.2.2 8253的编程的编程1. 控制字格式控制字格式计数初值为计数初值为8位,则控制字中的位,则控制字中的RL1、RL0应取应取01,初值只写入初值只写入CR的低的低8位,高位,高8位会自动置位会自动置0;若是若是16位初值,而低位初值,而低8位是位是0,则,则RL1RL0应取应取10,初值高初值高8位写入位写入CR的高的高8位,位,CR的低的低8位会自动置位会自动置0;若是一般若是一般16位初值,则位初值,则RL1,RL0应取应取11,应分两,应分两次写入初值,次写入初值,先写低先写低8位、再写入高位、再写入高8位(此顺序不位(此顺序不能反)能反)2. 计数初始值计数初始值 计
9、数初始值写入计数初始值写入对应计数器的计数初值寄存器对应计数器的计数初值寄存器CR ;3. 初始化流程初始化流程 先写入工作方式控制字,接着写入计数初始值先写入工作方式控制字,接着写入计数初始值 单个计数器初始化单个计数器初始化写方式控制字写方式控制字写计数低字节写计数低字节写计数高字节写计数高字节写方式控制字(计数器写方式控制字(计数器0)写方式控制字(计数器写方式控制字(计数器1)写方式控制字(计数器写方式控制字(计数器2)写计数低字节(计数器写计数低字节(计数器0)写计数高字节(计数器写计数高字节(计数器0)写计数低字节(计数器写计数低字节(计数器1)写计数高字节(计数器写计数高字节(计
10、数器1)写计数低字节(计数器写计数低字节(计数器2)写计数高字节(计数器写计数高字节(计数器2)多个计数器初始化多个计数器初始化计数器的顺序是任计数器的顺序是任意的,不必一定按意的,不必一定按照计数器照计数器0、l、2的的顺序初始化;顺序初始化;可先写所有计数器可先写所有计数器的工作方式控制字的工作方式控制字,再装入各计数器,再装入各计数器的计数值(但的计数值(但先控先控制字再计数值的顺制字再计数值的顺序不能错序不能错););计数值先写低再写计数值先写低再写高的顺序不能错高的顺序不能错;其他顺序无关紧要其他顺序无关紧要 MOV AL,00110111B ;对计数器;对计数器0送工作方式字送工作
11、方式字OUT 43H,ALMOV AX,1234H ;送计数初值;送计数初值OUT 40H,AL MOV AL,AH OUT 40H ALMOV AL,10010100B ;对计数器;对计数器2送工作方式字送工作方式字OUT 43H,ALMOV AL,61H ;送计数初值;送计数初值OUT 42H,AL例:例:选择计数器选择计数器0工作于方式工作于方式3,计数初值为,计数初值为1234,十进制计数方式;计数器十进制计数方式;计数器2工作于方式工作于方式2,计数初值,计数初值为为61H,采用二进制计数方式,设,采用二进制计数方式,设8253的端口地址为的端口地址为4043H。其初始化编程如下:。