8253定时计数器知识点总结
微机第9章8253

0 0----选计数器0
0 1----选计数器1 1 0----选计数器2 1 1----无意义
写入控制口,地址A1A0=11
2、计数初值的写入
若规定只写低8位,则写入的为计数值的低8位, 高8位自动置0; 若规定只写高8位,则写入的为计数值的高8位, 低8位自动置0; 若是16位计数值,则分两次写入,先写低8位, 再写入高8位。
计数值写入计数器各自的 计数通道(端口地址)
注: ① 写入控制字后,所有控制逻辑电路复位, 输出端OUT进入初始状态。 ② CPU向8253写入的计数初值,要在CLK端输入一个 正脉冲后才能被真正装入指定通道(若在此CLK下降 沿之前读计数器,则其值是不定的)。 之后再次输入时钟脉冲(CLK)才开始计数,且每次 在脉冲的下降沿减1计数。 即:写入计数初值后,经过一个CLK,8253才开始计 数。
④ 当GATE变为低电平时计数 停止,再变为高电平时计数继 续进行。 ⑤若计数过程中重新送入初值, 则按新值重新计数。
(2)方式1——可重复触发单稳触发器
WR CLK GATE OUT 3 2 1 0 FFFE 3 2 方式1时序图 CW N=3
③计数过程中,再次给通道写入时间 ①写入CW后OUT变为高电平, GATE 常数,不影响现行操作过程,GATE再 上升沿触发后,OUT变为低并开始计数, 次触发后才按新的时间常数操作。 归零时OUT变为高电平。 ④计数过程中,GATE触发沿提前到来, ②GATE再来一次上升沿使OUT为低, 在下一个CLK的下降沿,计数器开始重 新计数,这将使输出单稳脉冲比原先 计数器以初值重新计数。 设定的计数值加宽。 可重复触发——当计数归零后,不用再次送计数值,只要给它触发脉冲,即 可产生一个同样宽度的单稳脉冲输出。
8253定时-计数器

1.3 8253的控制字和工作方式
1.3 8253的控制字和工作方式
方式3
1) 当计数初值N为偶数时,输出端的高低电平持续时间相等,各为N/2个 CLK脉冲周期,当计数初值N为奇数时,输出端的高电平持续时间比 低电平持续时间多一个脉冲周期,即高电平持续(N+1)/2个脉冲周 期,低电平持续(N-1)/2个脉冲周期。例如N=5,则输出高电平持 续3个脉冲周期,低电平持续2
1.3 8253的控制字和工作方式
2.8253
可编程定时/计数器8253有两个基本功能,即定时和计 数。除此之外,还可以作为频率发生器、分频器、实时时钟、 单脉冲发生器等。这些功能是通过对8253编程,写入方式 控制字来完成的,8253为每个计数通道提供6种工作方式。
(1)方式0——
0控制
字CW后,计数器输出端OUT立即变成低电平。当写入计数
3) 在计数过程中,可由门控信号GATE控制暂停。当GATE为0时,计 数器暂停计数;当GATE变为1
4) 方式0的OUT信号在计数到0时由低变高,可作为中断请求信号。
1.3 8253的控制字和工作方式
(2)方式1—— 在设定工作方式1和写入计数初值后,OUT输出高电平,
此时并不开始计数。当门控信号GATE变为高电平时,启动计 数,OUT输出变低电平。在整个计数过程中,OUT都维持为 低电平,直到计数到0时,输出变为高电平。因此,输出为一 单脉冲,其低电平的维持时间由装入的计数初值来决定。图所 示为8253工作方式1的时序图。
6)方式5—— 在这种方式下,当写入控制字后,输出端出现高电平 作为初始电平。在写入计数初值后,计数器并不立即开始 计数,而是要由门控脉冲的上升沿来启动计数,这称为硬 件触发。当计数到0时,输出变低电平,又经过一个CLK 脉冲,输出恢复为高电平,这样在输出端得到一个负脉冲 选通信号。计数器停止计数后要等到下次门控脉冲的触发, 才能再进行计数。8253工作方式5的时序如图所示。
第05章定时计数-8253

计算机控制技术 第5章、定时/计数技术
4.3方式——周期性方波输出 3方式工作方式与2方式基本相同,也具有自动装入时间常数 (计数初值)的功能,不同之处在于: ①工作在3方式,引脚OUT输出的不是一个时钟周期的负脉 冲,而是占空比为l:l或近似1:1的方波;当计数初值为偶数 时,输出在前一半的计数过程中为高电平,在后一半的计数 过程中为低电平。 ②当计数初值为奇数时,在前一半减1的计数过程中,输出 为高电平,后一半减1的计数过程中为低电平。 ③由于3方式输出的波形是方波,并且具有自动重装计数初 值的功能,因此,8253一旦计数开始,就会在输出端OUT输 出连续不断的方波。
例中,8253的3个计数器及控制器的端口地址分别是304H、 305H、306H和307H。
计算机控制技术 第5章、定时/计数技术
例2:要求读出并检查1号计数器的当前计数值是否 是全“1"(假定计数值只有低8位), 其程序段为: MOV DX,307H;命令口 L: MOV AL,01000000B;1号计数器的锁存命令 OUT DX,AL;写入命令寄存器 MOV DX,305H ;l号计数器数据口 IN AL,DX ;读1号计数器的当前计数值 CMP AL, OFFH ;比较 JNE L ;非全“l”,再读 HLT ;是全“1”暂停
② 在计数器工作期 间,如果向此计 数器写入新的计 数初值,
则计数器 仍按原计 数值计数
直到计数器回零 并在输出一个时 钟周期的负脉冲 之后.才按新写 入的计数值计数
门控信号GATE为 高电平时允许计数。
如在计数期间, 门控信号变为低 电平则计数器停 止计数
待GATE恢复 高电平后,计 数器将按原装 入的计数值重 新开始计数
用于减1操作, 每来一个时钟, 减1。连续计 数时可重装
第七章、定时计数器8253(2)

9. 3
8253的工作方式
对外部事件计数
例
计数器0,工作于方式3,输出方波的频率为2KHz 计数脉冲的频率为2.5MHz,采用BCD计数,试编写 初始化程序段 端口地址为04H,05H,06H,07H
初值的计算 2.5MHz/2KHz= 控制字: 0 0 1 1
1250
0 11 1
37H 初始化程序: Mov al , 37h out 07h , al mov al , 50h out 04h , al mov al , 12h out 04h , al
0 11 0 56H
14H
控制字: 0 1 01
端口地址: 7C 7D 7E 7F 初始化程序: Mov al , 56h out 7Fh , al mov al , 14h out 7Dh , al
• • • • • • • • • • • • • •
1、如图所示,8086系统通过8255A实现开关K控制LED灯,根据图示连接写 出8255A的端口地址;并编写相关程序实现开关闭合则灯熄灭,开关断开则 灯点亮。(10分) :端口地址为0F0H~0F3H 相关程序: MOV AL,90H OUT 0F3H,AL L1: IN AL,0F0H TEST AL,80H JZ NEXT MOV AL,00H OUT 0F1H,AL JMP L1 NEXT:MOV AL,0FFH OUT 0F1H,AL JMP L1
第七章 计数器和定时器电路
Intel 8253/8254-PIT
徐承彬
Intel 8253/8254-PIT
7. 1
概述
(1)软件方法:
定时信号的获得
(2)硬件方法:
不可编程的硬件定时
可编程的硬件定时
定时计时器8253

2013-7-9
微型计算机原理与应用
4
计数器/定时器8253
可编程定时/计数器的主要用途有: ① 以均匀分布的时间间隔中断分时操作系统, 以便
切换程序。 ② 向I/O设备输出精确的定时信号, 该信号的周期 由程序控制。 ③ 用作可编程波特率或速率发生器。 ④ 检测外部事件发生的频率或周期。 ⑤ 统计外部事件处理过程中某一事件发生的次数。 ⑥ 在定时或计数达到编程规定的值之后, 产生输出 信号, 向CPU申请中断。
2013-7-9 微型计算机原理与应用 12
计数器/定时器8253
当对8253的计数器进行读操作时,可以读出 计数值,具体实现方法有如下两种: ①使计数器停止计数时,先写入控制字,规定好 RL1和RL0(控制字的D5D4位)的状态——也 就是规定读一个字节还是读两个字节。 ②在计数过程中读计数值。这时读出当前的 计数值并不影响计数器的工作。为做到这一 点 , 首 先 写 入 8253 一 个 特 定 的 控 制 字:XX00××××。这是控制字的一种形式。
2013-7-9 微型计算机原理与应用 18
计数器/定时器8253
8253初始化编程要求
1、8253三个端口有各自独立的地址,控制字分别对 各端口的工作方式进行控制
2、对某一个端口设置初值时,先设置控制字 3、设置初值时,要符合D5、D4的规定,分别输入计 数值,(16位计数值要用两条指令写入计数值) 4、锁存(D5D4=00)的目的是:在CPU读取计数值前 先用锁存命令锁存减1计数器的当前值,否则得不到 正确的结果,CPU取走数据后,锁存功能自动失锁 5、编程顺序:先写入控制字到控制寄存器,然后写 入计数初值到所确定的计数器端口
2013-7-9 微型计算机原理与应用 11
计算机8253定时器-计数器

OUT
5 4 3 2 1 5 4 3 2 1 5 暂停计数 4
启动计数
再次启动计数
方式4 WR启动,自动重复计数 写入初值,启动计数; 计数完成,经过1CLK又重新从初值
开始计数; GATE=0,停止计数。
GATE=1,从初值开始计数
MOV AL,00011000B OUT 43H,AL MOV AL,4 OUT 40H,AL
试分析8253的工作情况。
控制字分析: 00 11 011 0 B
设置计数器0 写入16位初值
初值为二进制数 方式3,方波发生
初值分析: 0000H ,写入后,减1得0FFFFH,再减65535次才输出一次方波。 方波周期:高、低电平期均为32768次CLK, CLK的周期=1/(1.19 ×106) 秒
∴方波周期=65536×CLK的周期=55.072毫秒≈55毫秒
例2 已知PC机中,8253的OUT0接到8259的IRQ0,即:每 55ms发出
一次中断。 试编程,截取此中断,得到一个秒计数器。
注: IRQ0的中断类型号为9.
启动计数
再次启动计数
方式3 WR启动,自动重复方波计数
写入初值,启动计数;
MOV AL,00010110B
计数完成,又重新从初值开始计数,
OUT MOV
43H,AL AL,5
计数期间,前半期OUT=1,后半
OUT 40H,AL
期OUT=0;
计数期间,GATE=0暂停计数
CLK
WR N=5 GATE
第2节 8253定时/计数器
一 定时/计数器的基本概念 什么是定时器计数器? 定时器: 事先设定一个时间长度,当“定时时间到”时,向 CPU输出触发信号。 计数器:统计某事件发生的次数。当累计的次数达到事先设 定的次数时,输出触发信号。 PC机中,用一片集成电路(Intel8253)来完成定时/计 数工作。如: 每隔一定的时间间隔对DRAM刷新、以一定的速率驱动 磁盘马达运转、产生周期性方波使蜂鸣器发出鸣叫提示, 等等。
总结8253知识点

总结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

三、编程命令
1、方式命令的作用 8253进行初始化 进行初始化。 对 8253 进行初始化 。 一是向命令寄存器 写入方式命令;二是向计数器设置初值。 写入方式命令;二是向计数器设置初值。
2、方式命令பைடு நூலகம்格式
选择计数器。 ①D7D6(SC1 SC0):选择计数器。 00选择 选择0 SC1 SC0 =00选择0号计数器 01选择 选择1 SC1 SC0 =01选择1号计数器 10选择 选择2 SC1 SC0 =10选择2号计数器 11不用 SC1 SC0 =11不用
控制计数器读/写的字节数。 ②D5D4(RW1 RW0):控制计数器读/写的字节数。 为锁存命令。 RW1 RW0=00 为锁存命令。 仅读/ RW1 RW0=01 仅读/写一个低字节 仅读/ RW1 RW0=10 仅读/写一个高字节 个字节,先低、 RW1 RW0=11 读/写2个字节,先低、后高字节 用来选择计数器的工作方式。 ③D3~D 1(M2—M0);用来选择计数器的工作方式。 M M2M1M0=000 0方式 M2M1M0=001 1方式 M2M1M0=010 2方式 M2M1M0=011 3方式 M2M1M0=100 4方式 M2M1M0=101 5方式 BCD) 用来指定计数器的计数码制。 ④D0(BCD);用来指定计数器的计数码制。 BCD=0 BCD=1 BCD=0 二进制 BCD=1 二至十进制
2、内部逻辑结构
8253/8254内部有6个模块。 8253/8254内部有6个模块。 内部有
8253/8254内部有 个模块。 内部有6 2、内部逻辑结构 8253/8254内部有6个模块。 数据总线缓冲器。 CPU与8253交换信息的通道 交换信息的通道。 ①数据总线缓冲器。 CPU与8253交换信息的通道。 写逻辑。接收CPU的读/写控制信号, CPU的读 ②读/ 写逻辑。接收CPU的读/ 写控制信号,并完 成对芯片内部各功能部件的控制功能。 成对芯片内部各功能部件的控制功能。 控制命令寄存器。接受CPU送来的控制字。 CPU送来的控制字 ③控制命令寄存器。接受CPU送来的控制字。 计数器。 个独立的计数器, ④计数器。3 个独立的计数器,其内部结构完全 相同,如下图所示。 相同,如下图所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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)先写所有计数器的方式字,再装入各计数器的计数值。