作者:厚宝-Anzx_730 | 来源:互联网 | 2023-07-16 14:23
外部引脚
8253外部有24个引脚,可分为
数据引脚:D0-D7
门控信号引脚:GATE0、GATE1、GATE2
时钟脉冲输入引脚:CLK0、CLK1、CLK2
定时时间到引脚(波形输出引脚):OUT0、OUT1、OUT2
写信号:WR
读信号:RD
片内地址线:A1 、A0 (00 计数器0,01 计数器1,10 计数器2,11 方式控制字)
片选:CS
电源:Vcc
地:GND
内部结构
内部有三个计数通道:ch0、ch1、ch2、和控制字寄存器、数据总线缓冲器
计数通道的内部结构(以ch0为例)
工作方式控制寄存器(8):存放初始化控制字
CR0:计数初值寄存器(16),又可分为CR0H(高8位计数)和CR0L(低8位计数)两个8位寄存器。
CE0:减法计数器。
OL0:输出锁存器,又可分为OLL0(低八位锁存器)、OLH0(高八位锁存器),里边内容始终跟随CE变,用于向cpu输出当前计数值。
工作过程
①开始工作之前需要写入初始化命令字和计数初值,由于计数通道内部的计数初值寄存器(CR)可分为两个8位计数器,所以在工作时可分为高八位计数和低八位计数或者16位计数,在16位计数时,由于外部数据引脚只有8根,在写计数初值时需要写两次,先写低八位,后写高八位。
②在写入初值后,紧跟着外部时钟脉冲的第一个时钟周期将计数初值寄存器(CR)中的内容打入减法计数器(CE)
③当门控信号GATE有效时,减法计数器开始减法计数,当减到0时,OUT端发出相应的波形。
初始化命令字中每位的含义
D7 D6 :选择计数通道(00 计数器0 ,01计数器1,10计数器2,11非法)
D5 D4: 00 计数器锁存,01 低八位计数, 10 高八位计数,11 十六位计数
D3 D2 D1 :选择工作方式
D0:选择计数进制(0 二进制计数,1 BCD码计数)
8253的6种工作方式
方式0:计数达到终止中断

写入方式控制字后,out端自动变为低电平。
写入计数初值后,第一个时钟周期CR内容打入CE,之后的每个时钟周期上升沿检测GATE端是否为高电平,如果是的话下降沿进行减一计数,如果不是的话停止计数,减到0后out端自动变为高电平,可以用作请求中断的信号。
方式1:硬件触发的单脉冲形成