8253定时计数器知识点总结
- 格式:doc
- 大小:474.50 KB
- 文档页数:9
总结8253知识点
一、 8253芯片的基本概念
1. 8253的概述
2. 8253的引脚功能
3. 8253的工作方式
4. 8253的应用领域
二、 8253的基本功能和工作原理
1. 8253的三个独立计数器/定时器
2. 8253的工作模式
3. 8253的计数器结构
4. 8253的控制字和状态字
三、 8253的工作模式与控制字
1. 8253的工作模式
(1)8253的方式0
(2)8253的方式1
(3)8253的方式2
2. 8253的控制字
(1)8253的工作模式控制
(2)8253的读/写控制
(3)8253的读/写方式
四、 8253的初始化和应用实例
1. 8253的初始化过程
2. 8253在嵌入式系统中的应用实例
3. 8253在计算机系统中的应用实例
五、 8253的时钟信号和中断
1. 8253的时钟信号
2. 8253的中断信号
3. 8253的中断处理流程
六、 8253的应用开发和调试
1. 8253的应用开发流程
2. 8253的应用调试方法
3. 8253的应用性能优化
综上所述,8253作为一种常见的计时器/计数器芯片,在计算机系统及嵌入式系统中有着广泛的应用。
了解8253的基本概念,掌握8253的基本功能和工作原理,理解8253的工作模式与控制字,熟悉8253的初始化和应用实例,掌握8253的时钟信号和中断,以及熟悉8253的应用开发和调试,都是在相关领域深入研究和应用8253芯片的基础。
希望本文的总结能够为读者对8253芯片有更深入的了解和应用提供一些帮助。
8253定时/计数器小节8253的结构与功能(8253是为方便计算机系统的设计和应用而研制的,定时值和范围可以很容易地由软件来控制和改变,8253是24脚双列直插式芯片,使用的是+5V电源供电。
芯片内有三个相互独立的16位定时/计数器。
8253由数据总线缓冲器、读/写逻辑、控制字寄存器以及3个独立的16位计数器组成。
每个计数器包括一个8位的控制寄存器、一个16位的计数初值寄存器CR、一个16位的减1计数器CE和一个1、控制寄存器此寄存器保存来自CPU的控制字。
每个计数器都有一个控制命令寄存器,用来保存该计数器的控制信息。
2、数据缓冲器用于和系统数据总线的连接,CPU通过数据缓冲器将控制命令字和计数值写入8253计数器,或者从8253计3、读/写逻辑接受来自CPU的控制信号,完成对8253内部操作的控制。
控制信号包括读信号(/RD),写信号(/WD),片选下面通过一段代码程序来对8253进行了解(此处假设8253芯片的端口地址为388H~38BH,要求计数器0工作在方式3,计数初始值为2354,十进制计MOV DX,38BH ;这里将38BH作为8253的控制字端口地址,下面的两端代码也一样MOV AL,00110111BOUT DX,ALMOV DX,388H ;这里应该注意的一点是端口号的使用,计数器0为四个端口号中最低的号,MOV AL,54H ;送计数初值的低8位OUT DX,ALMOV AL,23H ;送计数初值的高8位OUT DX,AL;计数器1的初始化程序MOV DX,38bH ;给计数器1送控制字MOV AL,01010100BOUT DX,ALMOV DX,389H ;计数初值送低8位置MOV AL,18HOUT DX,AL;计数器0当前计数值读出程序MOV DX,38BH ;送计数器0当前计数值锁存命令MOV AL,00HOUT DX,ALMOV DX,388H ;读出当前计数值的低8位IN AL,DXMOV CL,ALIN AL,DX ;读出当前计数值的高8位MOV CH,AL首先,需要了解的是:对于8253占用4个I/O地址。
第九章可编程定时计数器8253一概述⒈定时器和计数器定时控制在微机系统中极为重要①定时器由数字电路中的计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间隔;②计数电路如果记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲的个数(进而获知外设的某种状态),常又称为计数器。
⒉定时功能的实现方法①软件延时——利用微处理器执行一个延时程序段实现;②不可编程的硬件定时——采用分频器、单稳电路或简易定时电路控制定时时间;③可编程的硬件定时——软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路。
二 8253定时计数器的内部结构和外部特性⒈概述① 3个独立的16位计数器通道;②每个计数器有6种工作方式;③按二进制或十进制(BCD码)计数。
⒉内部结构内部结构图①数据总线缓冲器是8253与CPU DB连接的8位双向三态缓冲器,CPU通过它向8253写方式控制字到控制字寄存器中,写计数初值到计数通道,读取计数通道的当前计数值。
②读/写控制逻辑无效,8253的DB处于高阻状态,当有效,控制8253内部操作。
当和A1、A0、作,见下表。
8253读写操作及端口选择表注意:CPU对控制字寄存器只能写,不能读;CPU对计数通道写的是计数初值,读的是当前计数值。
③控制字寄存器8253初始化编程时,CPU写控制字到控制字寄存器,以选择计数通道及相应的工作方式。
④数通道0~28253内部包括3个功能完全相同和操作完全独立的计数通道,每个计数通道由16位减法计数器、16位计数初值寄存器和16位计数值锁存器组成。
初始化时,向计数通道装入的计数初值,先送到计数初值寄存器中保存,然后送到减法计数器。
计数器启动后,减法计数器对CLK的下降沿进行减1计数,在未锁定时把结果送入16位计数值锁存器中。
当计数值减到0时,输出OUT信号,一次计数结束。
计数初值寄存器的内容,在计数过程中保持不变。
计数初值寄存器和计数值锁存器占用一个端口地址(即该计数通道口地址),CPU读取计数通道的当前计数值来自计数值锁存器。
8253定时/计数器知识点总结
1、8253简介
8253是用来测量时间或者脉冲的个数,通过计量一个固定频率的脉冲个数,将时间信息转化为数字信息,供计算机系统使用。
8253有着较好的通用性和灵活性,几乎可以在所有由微处理器组成的系统中使用。
2、性能描述
(1)每个8253芯片有3个独立的16位计数器通道;
(2)每个计数器通道都可以按照二进制或二—十进制计数;
(3)每个计数器的计数速率可以高达2MHz;
(4)每个通道有6种工作方式,可以由程序设定和改变;
(5)所有的输入、输出电平都与TTL兼容。
3、结构组成
结构框图如下
(1)数据总线缓冲器
8253内部实现与CPU数据总线连接的8位双向三态缓冲器,用以传送CPU向8253的控制信息、数据信息以及CPU从8253读取的状态信息,包括某一时刻的实时计数值。
(2)读写逻辑控制
控制8253的片选及对内部相关寄存器的读/写操作,它接收CPU发来的址地信号以实现片选、内部通道选择以及对读/写操作进行控制。
(3)控制寄存器
在8253的初始化编程时,由CPU写入控制字,以决定通道的工作方式,此寄存器只能写入,不能读出。
(4)计数通道0号、1号、2号
三个独立的、结构相同的计数器/定时器通道,每个通道包含一个16位计数寄存器存放计数初始值,一个16位的减法计数器,一个16位的锁存器。
锁存器在计数器工作的过程中,跟随计数值的变化。
接收到CPU的读计数值命令时,锁存计数值,供CPU读取。
读取完毕之后,输出锁存器又跟随减1计数器变化。
另外,计数器的值为0的状态,还反映在状态锁存器中,可供读取。
4、引脚说明
与CPU 的接口信号:
(1)D0—D7:双向三态数据线,与CPU 相连用以传送数据、控制字以及状态信息。
(2)CS :片选输入信号,低电平有效。
(3)W R RD ,:读/写控制信号,低电平有效。
(4)10,A A :8253的内部计数器和一个控制寄存器的编码选择信号,其功能如下:
10,A A 与其他控制信号,如CS ,W R RD ,共同实现对8253的寻址,如下图:
8253寻址读写操作逻辑表
与外部设备的接口信号
(1)CLK 0、1、2:时钟脉冲输入端,输入定时脉冲或计数脉冲信号,CLK最高频率可达2MHz。
8253规定CLK输入周期不得小于380ms。
(2)GATE 0、1、2:门控输入端,即计数器的控制输入信号,用来控制计数器的工作或停止。
(3)OUT 0、1、2:计数器输出端,用来产生不同方式工作时的输出波形。
在不同工作方式下,当计数器计数到0时,OUT引脚上必输出响应的信号。
5、工作方式
(1)模式0:计数结束中断方式。
计数器对CLK输入信号进行减法计数,每一个时钟周期计数器减1。
设定该方式后,计数器的输出OUT变低。
设置装入计数值时也使输出OUT变低。
计数减到0时,输出OUT变高,该输出信号可作为中断请求信号使用。
在计数过程中可以改变计数值,若是8位计数,则写入新值后的下一个脉冲按新值计数;若是16位计数,则在写入第一个字节后,停止计数,写入第二个字节后的下一个脉冲按新值计数。
在计数过程中,可由GATE信号控制暂停。
当GATE=0时,暂停计数;当GATE=1时,继续计数.
(2)模式1:可重复出发的单稳态触发器
计数值装入计数器后,要由门控信号GATE上升沿启动计数,计数器的OUT输出低电平。
计数结束时,计数器的OUT输出高电平。
由OUT端得到从GATE上升沿开始,直到计数结束时的负脉冲。
若要再次获得所需宽度的负脉冲,可用GATE上升沿重新触发一次计数器。
若在形成单个负脉冲的过程中改变计数值不会影响正在进行的计数。
新的计数值只有在前面的负脉冲形成后,又出现GATE上升沿才起作用。
若在形成单个负脉冲的过程中又出现GATE上升沿,则当前计数停止,后面的计数以新装入的计数值开始工作,所得到的负脉冲的宽度将包括前面未未计完的部分。
(3)模式2:分频器
计数器装入初值,开始工作后,计数器的输出OUT将连续输出一个时钟周期宽的负脉冲,两负脉冲之间的时钟周期数就是计数器装入的计数初值。
GATE用做控制信号,当其为低电平时,强迫OUT输出高电平。
当其为高时,分频继续进行。
计数周期应包括负脉冲所占的那一个时钟周期,即计数减到1时开始送出负脉冲。
计数过程中,若改变计数值,则不影响当前的计数过程,而在下一次分频时,采用新的计数值。
(4)模式3:方波发生器
这种方式可以从OUT得到对称的方波输出。
当计数值N为偶数时,则前N/2计数过程中,OUT为高,后N/2计数过程中,OUT为低;当计数值N为奇数时,则前(N+1)/2计数过程中,OUT为高,后(N-1)/2计数过程中,OUT为低。
GATE为低电平时,强迫OUT输出高电平;当GATE为高电平时, OUT输出对称方波。
产生方波过程中,若装入新的计数值,则方波的下一个电平将反映新计数值所规定的方波宽度。
(5)模式4:软件触发的选通信号发生器
设置此方式后,输出OUT立即变为高电平。
一旦装入计数值,计数立即开始。
计数结束时,OUT输出一个宽度为一个时钟周期的负脉冲,计数开始时刻不受GATE控制GATE为高电平时,计数才进行, GATE为低电平时,禁止计数
若在计数过程中装入新的计数值,计数器从下一个时钟周期开始以新的计数值进行计数
(6)模式5:硬件出发的选通信号发生器
设置此方式后,OUT输出为高电平。
GATE的上升沿使计数开始。
当计数结束时由输出端OUT送出一宽度为一个时钟周期的负脉冲
在此方式下,GATE电平的高低不影响计数,计数由GATE的上升沿启动
若在计数结束前,又出现GATE上升沿,则计数从头开始
6、控制字含义及功能分析
分析:
(1) BCD=1,为BCD 码格式,BCD=0,为二进制格式。
(2) 013M M M 控制工作模式如下
(3) 01RW RW 读写控制方式如下:
(4)1SC 0SC 选择计数器方式如下:
与系统总线连接 (1)8086最小方式系统总线与8253的连接
图中译码电路根据给定的8253端口地址确定,这里IO M /和A0
均为低电平有效,而且约定采用A2、A1作为8253的内部地址线。
图中给出使用偶地址的情况,当采用奇地
址时,只需要将图中的地址信号A0
换成B H E ,并且将8086总线的
D7~D0换成D15~D8。
(2)8086最大方式系统总线与8253的连接 在8086最大方式总线下,系统
总线与8253连接框图右图所示。
与上图类似,只是将读写信号变成为 址的情况,当采用奇地址时,只需
要将图中的地址信号A0换成BHE ,并且将8086总线的D7~D0换成D15~D8。
(3)IBM PC 机系统总线与8253的连接
在IBM PC 机系统中,采用8088的最大方式,而且由于系统中包含DMA 机构,因此,设计端口和存储器的译码电路时,必须是非DMA 操作模式,即AEN=0,这样,IBM PC 机系统总线与8253连接框图如右图所示。
应该注意,系统的数据总线只有8位,故没有BHE 信号。
(4)PC机中8253连线简图
8、初始化编程
初始化编程包括设置通道控制字和送通道计数初值两个方面,控制字写入8253的控制字寄存器,而初始值则写入相应通道的计数寄存器中。
初始化步骤:
(1)写入通道控制字,规定通道的工作方式
(2)写入计数值,若规定只写低8位,则高8位自动置0,若规定只写高8位,则低8位自动置0。
若为16位计数值则分两次写入,先写低8位,后写高8位。
(3)D0:用于确定计数数制,0,二进制;1,BCD码
两种初始化方式
(1)逐个对计数器进行初始化。
大致程序如下:
MOV AL,36H 计数器0,双字节,
方式3,十六进制计数
OUT 43H,AL 写入控制寄存器MOV AL,0
OUT 40H,AL 写低字节
OUT 40H,AL 写高字节
(2)先写所有计数器的方式字,再装入各计数器的计数值。