第9章 可编程接口芯片(2)-8253

合集下载

《微机原理与接口技术》第九章8253

《微机原理与接口技术》第九章8253

二、8253的内部结构
数据总线 缓冲器 读/写控 制电路 计数通道
通道控制 寄存器
三、 8253的管脚分配
控制线
数据线 通道选择
通道管脚
四、 8253的编程
8253只有一个控制字,8253的一个方式 控制字只决定一个计数通道的工作模式。 8253 的控制字格式如图所示。共分为 4 部 分,通道选择、计数器读 / 写方式、工作 方式和计数码的选择。
第9章 可编程接口芯片
可编程接口概术 可编程定时/计数器接口芯片8253


可编程接口概术
一个简单的具有输入功能和输出功能的 可编程接口电路如下图,它包括一个输入接口, 其组成主要是八位的三态门;一个输出接口, 其组成主要是八位的锁存器;另外还有八位的 多路转换开关及控制这个开关的寄存器FF。

9. 1 可编程定时/计数器接口芯片8253 一、功能
定时和脉冲信号的处理与接口是完全有别于 并行信号的,其特点是信号形式简单但需要连 续检测,下面介绍的INTEL8253可编程定时/ 计数器就是可以实现所要求这方面功能。8253 内部有3个独立的16位定时/计数器通道。计 数器可按照二进制或十进制计数,计数和定时 范围可在1—65535之间改变,每个通道有6种 工作方式,计数频率可高达2MHz以上。
4、方式3——方波发生器 方式2虽然可以作分频电路,但其输出 是窄脉冲,如果是方波,就只有选方式3
5、方式4——软件触发方式 方式4在工作过程中有以下特点:
a、 门控信号GATE为高电平,计数器开始减 1计数,OUT维持高电平; b、 当计数器减到0,输出端OUT变低,再经 过一个 CLK 输入时钟周期, OUT 输出又变 高。
解:1、电路。 需要两个通道,一个作为计数,选用通道0。另一 个产生1KHz信号,选用通道1。工作原理如下,传感 器电路把物理事件转换为脉冲信号输入到通道0计数, 当记录10000个事件后,通道0计数器溢出,GATE端输 出高电平,这时通道1开始工作,产生1KHz信号推动喇 叭发音。

8253的主要功能

8253的主要功能

4)计数器通道 计数器0 计数器1 计数器2 计数器0、计数器1、计数器2 独立16位减法计数器,计数值可写入或读出。 16位减法计数器 独立16位减法计数器,计数值可写入或读出。 5)引线 CLK — 时钟脉冲输入线 GATE—门控信号输入 为低时禁止计数器计数. 门控信号输入, GATE 门控信号输入,为低时禁止计数器计数. 计数/定时输出,当计数到0时输出信号. OUT — 计数/定时输出,当计数到0时输出信号. A0、 A0、A1 — 通道地址选择 计数器0 计数器1 00 — 计数器0;01 — 计数器1; 计数器2 10 — 计数器2;11 — 控制字寄存器
ቤተ መጻሕፍቲ ባይዱ
2)确定计数值 ) 位为80, 位为 位为50 低8位为 ,高8位为 位为 3)初始化程序 ) 计数器: 端口地址 计数器:0F8H 控制字寄存器: 控制字寄存器:0FBH MOV AL,33H , OUT 0FBH,AL , MOV AL,80H , OUT 0F8H,AL , MOV AL,50H , OUT 0F8H,AL , 若计数器工作后,要读取某时刻的计数值, 若计数器工作后,要读取某时刻的计数值,则 程序实现为: 程序实现为:
控制字: 控制字:00 00 001 1B=03H MOV AL,03H , OUT 0FBH,AL , IN AL,0F8H , MOV CL,AL , IN AL,0F8H , MOV CH,AL ,
8253的控制字 三、8253的控制字 控制字的作用是决定 控制字的作用是决定8253各计数器工作方式 各计数器工作方式 。 控制字寄存器实际上是 个,分别控制三个计 控制字寄存器实际上是3个 数器,但它们的端口地址相同。 数器,但它们的端口地址相同。 D7、D6 :计数器选择 、 00 — 计数器 ; 01 — 计数器 计数器0; 计数器1 10 — 计数器 ; 11 — 非法 计数器2; D5、D4 :读写格式 、 00 — 计数器锁存;使当前计数值锁存,以后 计数器锁存;使当前计数值锁存, 再读取;因计数器为16位,而数据线8位,故 再读取;因计数器为 位 而数据线 位 需锁存,分次读取。 需锁存,分次读取。

第九章可编程外围接口芯片

第九章可编程外围接口芯片

WR
RESET
VCC
PB7~PB3
D0~D7
PA4~PA7
8255的工作原理 的工作原理 二、8255A的控制字(P327) 8255A的控制字(P327) 的控制字 8255A可通过指令在控制端口中设置控制字来决定 8255A可通过指令在控制端口中设置控制字来决定 它的工作。其控制字可分为两类( ),都写入 都写入控制字 它的工作。其控制字可分为两类(个),都写入控制字 寄存器(A1A0=11) 寄存器(A1A0=11) • 芯片各端口的工作方式控制字
一、8255A的结构和功能 8255A的结构和功能 8255的工作原理 的工作原理 组和B 2. A组和B组控制逻辑 8255在使用时,常用端口 与端口 的高 位组成 在使用时, 端口A与端口 的高4位组成 在使用时 常用端口 与端口C的高 一个带控制信号的端口,称为A组 一个带控制信号的端口,称为 组。由A组控制逻辑管 组控制逻辑管 理; 端口B与端口 的低4位也可以组成一个带控制信 与端口C的低 用端口 与端口 的低 位也可以组成一个带控制信 号的端口,称为B组 组控制逻辑管理。 号的端口,称为 组。由B组控制逻辑管理。 组控制逻辑管理 其中,A组由端口 作为与外设交换数据的输入 输 其中 组由端口A作为与外设交换数据的输入 组由端口 作为与外设交换数据的输入/输 出接口, 口的高 口的高4位作为外设连接的控制信号线和状 出接口,C口的高 位作为外设连接的控制信号线和状 态信号线,以配合A口工作 口工作。 态信号线,以配合 口工作。 同理,B组由端口 作为与外设交换数据的输入 同理 组由端口B作为与外设交换数据的输入 输 组由端口 作为与外设交换数据的输入/输 出接口, 口的低 口的低4位作为外设连接的控制信号线和状 出接口,C口的低 位作为外设连接的控制信号线和状 态信号线,以配合B口工作 口工作。 态信号线,以配合 口工作。

9.2 8253芯片

9.2 8253芯片

‹#›

三、8253的编程命令 的编程命令
•读出命令 读出命令 1)发出锁存命令,使当前计数值锁存在OL中 )发出锁存命令,使当前计数值锁存在 中 2)读OL,获得当前计数值 ) , 端口地址为70H、71H、72H,控制 例:设三个计数器的CR/OL端口地址为 设三个计数器的 端口地址为 、 、 , 寄存器端口地址73H。读出计数器 的当前计数值,放在 中 的当前计数值, 寄存器端口地址 。读出计数器0的当前计数值 放在BX中 MOV AL, 0H OUT 73H, AL IN AL, 70H MOV BL, AL IN AL, 70H MOV BH, AL
‹#›

二、8253的编程结构 的编程结构
每个计数器的初值寄存器( )、输出锁存器( )都是16位 )、输出锁存器 每个计数器的初值寄存器(CR)、输出锁存器(OL)都是 位 但它们对应相同的一个8位端口地址 所以16位的 位端口地址, 位的CR、 的,但它们对应相同的一个 位端口地址,所以 位的 、OL 作为两个8位寄存器读写 由控制寄存器控制读写高8位 低 位 位寄存器读写, 作为两个 位寄存器读写,由控制寄存器控制读写高 位/低8位
‹#›

四、8253的工作模式 的工作模式
例:计数器0工作模式 ,初始化计数器,使装入计数器10 µs后 计数器 工作模式4,初始化计数器,使装入计数器 后 工作模式 产生选通信号(设时钟频率 产生选通信号 设时钟频率2MHz,8253端口地址为 端口地址为50H~53H)。 。 设时钟频率 端口地址为 解:n+1=T/ TCLK=10/0.5=20 n=19=13H MOV AL, 18H OUT 53H, AL MOV AL, 13H OUT 50H, AL

微机原理与接口技术9章8253

微机原理与接口技术9章8253

定时器/计数器
• 主要内容
– 定时与计数 – 可编程定时器/计数器接口芯片8253
定时与计数
• 定时技术在微机系统中必不可少
– 微机的工作在标准时钟控制下完成 – 为外设提供实时时钟 – 向外设定时发出控制信号
• 定时中断、定时检测、定时扫描、定时显示……
– 对外部事件进行计数
定时与计数
• 定时与计数
可编程定时/计数芯片8253
• 8253的工作方式
– 方式4——软件触发的选通信号发生器
• 波形图
可编程定时/计数芯片8253
• 8253的工作方式
– 方式4——软件触发的选通信号发生器
• 工作特点
– 计数由软件启动,每次写入计数初值只启动一次 计数 – 当计数值为N时,则间隔N+1个CLK脉冲输出一 个负脉冲(计数一次有效) – 在计数过程中,可由GATE信号控制暂停。当 GATE=0时,暂停计数;当GATE=1时,继续计 数 – 在计数过程中写入新的计数初值,则按新的初值 重新开始计数
可编程定时/计数芯片8253
• 8253的工作方式
– 方式5——硬件触发的选通信号发生器
• 波形图
可编程定时/计数芯片8253
• 8253的工作方式
– 方式5——硬件触发的选通信号发生器
• 工作特点
– 计数由GATE上升沿启动,只要GATE端给触 发脉冲,则会装入计数值,并开始计数 – 在这种方式下,若设置的计数值是N,则在 GATE脉冲后,经过(N+1)个CLK,OUT端 才输出一个负脉冲 – 在计数过程中修改计数初值,不会影响本次计 数,只有GATE端再次触发时,才按新的计数 值计数
微机原理与接口技术
第九章 8253

可编程定时器-计数器接口芯片8253A

可编程定时器-计数器接口芯片8253A

④ 在计数过程 中,OUT引脚一 直保持低电平, 直到计数为0时, OUT变为高电平。
可编程定时器/计数器接口芯片8253A
方式0工作的特点是:
① 计数器只计一遍数。当计数减到0时,并不恢复计数初值,不开始重新计数,输出OUT变为高电平 且保持为高。只有当写入一个新的计数初值时,OUT变低,才开始新的计数。
个有效,由控制信号 RD 和WR决定是从OL中读出还
是将计数初值写入CR;当A1A0=01和10时,分别为 计数器1和计数器2的CR和OL的公用地址;当A1A0= 11时,为3个计数器的3个控制寄存器的公用地址。
8253A在工作之前,在对其进行初始化
编程时,CPU将计数初值写入CR,并在时
钟 脉 冲 的 驱 动 下 送 入 CE 。 当 门 控 信 号
(3)数据总线缓冲器
• 三态、双向、8位寄存器,用于与 系统数据总线相连,是8253A与 CPU进行信息传送的通道。
(4)读/写控制逻辑
• 接收来自CPU的控制信号,用于 控制8253A内部寄存器的读/写操 作。
8253A的端口选择读/写操作
可编程定时器/计数器接口芯片8253A
8253A共占用4个I/O端口地址,当A1A0=00时为 计数器0的CR和OL的公用地址,同一时刻只能有一
8253A引脚图
(1)D7~D0:三态、双向数据线,与CPU数据总线 相连,用于传送数据。
(2)RD,WR,A0,A1和 CS:功能与8255A类似,用 于控制各个端口的读/写操作。
(3)CLK:计数脉冲输入信号,用于输入定时基准 脉冲或计数脉冲。
(4)GATE:门控输入信号,用于控制计数器的启 动或停止。
② 写入计数值由 WR 信号控制。在 WR信号的上升沿,计数初值装入计数寄存器,在 WR信号上升沿后 的下一个CLK脉冲,才开始计数。因此,如果设置计数初值为N,则输出信号OUT在写入初值后经过N+1 个CLK脉冲后才变为高电平。

8253芯片

8253芯片
③计数过程中,GATE为低电平时,计数暂停,当GATE变高后接着计数。
方式5——硬件触发选通方式
CW=1AH N=3 WR
GATE 启动计数
CLK OUT GATE
3
21
0
GATE重复 OUT 启动计数 GATE
3
2
3 21
0
WR
CW=1AH
N=4
N=2
计数中改 变计数值
OUT
4
3
2
2
1
0
GATE
工作方式
000:方式0 001:方式1 ×10:方式2 ×11:方式3 100:方式4 101:方式5
0:二进制计数 进制方式 1:十进制计数
8253三个计数器均有6种工作方式,主要区别: 输出波形不同 启动计数器的方式不同 计数过程中门控信号GATE对计数操作的影响不同
方式0——计数结束中断方式
0
1
0
选中计数器2#
1
0
读输出锁存器OL当前值
0
1
1
0
1
选中控制寄存器
由控制字格式中SC1SC0位 决定属于哪个计数器
8253的工作方式
方式0——计数结束中断方式 方式1——外触发单稳脉冲方式 方式2——频率发生器方式 方式3——方波发生器方式 方式4——软件触发选通方式 方式5——硬件触发选通方式
8253的控制字格式
由控制字寄存器决定
D7
D6
D5
D4
D3
D2
D1
D0
SC1
SC0
RL1
RL0
M2
M1
M0
BCD
选择计数器
0 0:选0#计数器的控制寄存器 0 1:选1#计数器的控制寄存器 1 0:选2#计数器的控制寄存器 1 1:非法值

第九章2 可编程接口芯片8254A

第九章2   可编程接口芯片8254A
第九章 可编程接口芯片及其与C COUNTER/TIMER
● 计数/定时技术 ● 8254的引脚及6种工作方式
● 8254的编程
第九章 可编程接口芯片及其与CPU的接口
定时器和计数器异同
• 定时器的实质——计数器 – 由数字电路中的计数电路构成,通过记录高精 度晶振脉冲信号的个数,输出准确的时间间隔 (周期性) • 计数器 • 计数电路如果记录外设提供的具有一定随机性 的脉冲信号时, 它主要反映脉冲的个数(一次性)
区分6种工作方式的标志:
①启动计数器的触发方式 ②输出波形
③计数过程中门控信号的作用
④在计数过程中写入新初值的处理 方式
第九章 可编程接口芯片及其与CPU的接口
方式0 计数结束中断(一次有效)
写入控制字之后,相应的输出信号OUT就开始 变成低电平。 计数器写完计数值时,开始计数。当计数器减 到零时,OUT立即输出高电平。
• 所有的输入输出都与TTL兼容
第九章 可编程接口芯片及其与CPU的接口
9.2.2 8254的内部结构和引脚
D7~D0
数据总线 缓冲器
内 RD WR A0 A1 部 读写控制 逻辑
CLK 计数器0 OUT
0 0
GATE
0

据 总
CLK 计数器1 OUT
1 1
GATE
1
CS
控制字 寄存器
CLK
计数器2 OUT
写入计数初值后,计数器并不立即开始工作; 等待到GATE上升沿,才开始工作,使输出OUT变 成低电平; 直到计数器值减到零后,输出才变高电平。 计数到0,初值自动重置,但要等到下一个GATE 上升沿触发才重新计数。 [单稳态触发器]只有一个稳态(高电平),一 个触发脉冲使触发器进入暂稳态(低电平), 经过一段可调的时间间隔后,又回到稳态。所 以工作于方式1时相当于一个可重复触发的单稳 态触发器。

007_可编程IO接口芯片_2_8253

007_可编程IO接口芯片_2_8253

;只写高8位 ;低8位自动置0 ;计数器1, 2
;只写高8位 ;低8位自动置0
7.3.5 8253的应用举例
8253在PC/XT微机中的应用
19 20 +5V 11 14 16
三个通道分别用于:
实时钟计时 DRAM刷新定时 扬声器发音
A0 A1 G0 G1 G2 CLK0 CLK1 CLK2 RD WR CS
7.3.3 8253的编程操作-控制字
8253的工作方式可通过软件编程来指定,即向8253写 入方式控制字来设置其工作方式,8253的控制字格式 如下所示:
7.3.3 8253的编程操作-初始化编程
对各个计数器分别进行初始化,顺序上无要求 对某个计数器进行初始化时:先写控制字,再送计数初值 初始值设置必须与控制字的格式相符,可为8位或16位
7.3.4 8253的工作方式-方式3
方式3:
方波信号发生器 软件启动,自动装入初值
WR CLK GATE(高) OUT 4 OUT 5 4 3 2 1 5 4 3 3 2 1 4 3 2 1 CW N=4 (N=5)
启动和工作方式
写入控制字,OUT=1
写入初始值,计数开始
计数值为N/2, OUT=0 计数结束,OUT=1 重新计数开始
DACK0
3
8255 PB1
扬 声 器
计数器0:方式3,初值0000H,OUT0输出方波频率为18.206Hz, 接8259 IRQ0 作为微机系统时钟的定时中断请求信号 计数器1:方式2,初值18,OUT1输出脉冲信号周期为15us,定时 置位D触发器,产生DRAM刷新请求信号DRQ0
10 OUT0 13 OUT1 17 OUT2 D0 D1 D2 D3 D4 D5 D6 D7 8253 8 7 6 5 4 3 2 1

第9章 8253芯片介绍

第9章 8253芯片介绍

3.可编程的定时 在微机系统中,常采用软件、硬件相 结合的方法,用可编程定时计数器芯片构 成一个方便灵活的定时计数电路。这种电 路不仅定时值和定时范围可用程序确定和 改变,而且具有多种工作方式,可以输出 多种控制信号,它由微处理器的时钟信号 提供时间基准,故计时也精确稳定。如 Intel 8253。
2. 方式1 —— 可编程的单稳态触发器 (Programmable One Short)
硬件启动,不自动重复计数。装入初值后OUT端变高电平, 计数开始OUT端变为低电平,计数结束后又变高。
方式1的工作波形如图9.5(a)、 (b)、(c)所示。
CW = 12 WR
LSB = 3
CLK GATE
OUT
3 2 1 0 FF 3 2
图9.5(a) 方式1 正常计数
CW = 12 LSB = 3 WR CLK GATE OUT 3 2 1 3 2 1 0
图9.5(b) 方式1时GATE 信号的作用
CW = 12 WR CLK GATE
LSB = 2
LSB=4
OUT
2 1 0 FF FE 4 3
CW = 16 WR CLK GATE OUT
LSB = 5
LSB = 4
5
4
3
2
1
4
3
d. 方式3 计数过程中改变计数值
图9.7(d) 方式3 计数过程中改变计数值
5. 方式4 —— 软件触发选通方式 (Software Triggered Strobe)
软件启动,不自动重复计数。装入初值后输出端变 高电平,计数结束输出一个CLK宽度的负脉冲
(2)读/写控制逻辑
决定三个计数器和控制字寄存器中哪一个能进行工 作,并控制内部总线上数据传送的方向。

8253芯片

8253芯片

计数器 0
数据线
计数器 1
控制线
计数器 2
电源线
8253引脚

8253与CPU的接口
8 位数据线:D0 ~ D7
寻址控制线:A0、A1、CS
读写控制线: RD、WR

8253与外设的接口
注: 三个独立的计数器/定时器 时钟输入:CLK 输入门控:GATE
波形输出:OUT
8253寄存器选择表
方式3—方波发生器
与方式2类似,但其输出方波或准方波 计数值完成一半时,使OUT变低,直到计 数任务全部完成为止,OUT恢复为高 初值为偶数时,每次减2,直至0时OUT输 出变为低电平,然后又从初值开始,每次减 2,直至0时OUT输出变为高电平 初值为奇数时,先减1,后每次减2,直至为 0。即有(N+1)/2个脉宽的高电平,(N-1)/2个脉 宽的低电平 GATE由低变高时,重新开始计数
内部的各计数器的结构
锁存后读 出当前值 CLK GATE
MSB 16位当前计数值锁存器
LSB
&
16位减一计数器
16位计数初值寄存器 LSB MSB
OUT (减1 至0时)
装入初值
9.2.2
8253的控制字


将计数器2初始化为工作方式3,计数初值为533H, 为二进制计数方式,设寄存器地址为40H ~ 43H 1 0 1 1 0 1 1 0
8253各工作方式的共同点
控制字写入计数器时,所有控制逻辑 立即复位,输出端OUT进入初始态
写入初值后,要经过一个时钟周期后 计数执行部件CE才开始工作 时 钟 脉 冲 CLK 的 上 升 沿 , 门 控 信 号 GATE被采样

西南交通大学微机原理与微机接口教案2016版

西南交通大学微机原理与微机接口教案2016版
方式0的应用: 常使A端口和B端口作为8位数据的输入或输出口,使C口 的某些位作状态输入
第9章 可编程接口芯片
方式1: 三个数据端口分为A、B两组,分别称为A组控制和B组控制。 端口A、端口B作数据输入或输出口,端口C作为联络控制信 号,被分成两部分,一部分作为端口A和端口B的联络信号, 另一部分仍可作为基本的输入输出口。 A口、B口在作为输入和输出时的选通控制信号不同。
方式1主要用于中断控制方式下的输入输出 C口的8位除用作选通信号外,其余位可工作于方式0下, 作为输入或输出口
第9章 可编程接口芯片
1)方式1输入
方式1输入时序
第9章 可编程接口芯片
2)方式1输出
方式1输出时序
第9章 可编程接口芯片
方式2: 双向输入输出方式——可以既作为输入口,又作为输出口 只有A端口可工作在方式2下
方式2的应用: 用于可采用查询方式或中断控制方式 当A口工作于方式2时,B口可工作于方式1(此时C口 的所有位都用作选通控制信号的输入输出),也可工 作于方式0(此时C口的剩余位也可工作于方式0)
第9章 可编程接口芯片
当端A口方式2和端口B 方式1时,端口C各位 的功能如图所示,PC7 ~PC3作为端口A的联 络信号,PC2~PC0作为 端口B的联络信号。
并 口 C: 8根 引 脚 ( PC7~PC0)
第9章 可编程接口芯片
数据线:8根(D7~D0) 片内寄存器选择线:2根(A1,A0) 读/写信号线:2根(RD和WR) 片选信号线:1根(CS) 复位信号线:1根(RESET) 电编程接口芯片
3.8255内部端口的寻址
当端口A工作于方式2 ,端口B工作于方式0 时,PC7~PC3作为端口 A的联络信号,PC2~ PC0可工作于方式0。

微机原理与接口技术第九章8253

微机原理与接口技术第九章8253

功 能 向CNT 0写入计数初值 读取CNT 0的当前计数值 向CNT 1写入计数初值
0
0 0 0 0
1
0 1 0 1
0
1 0 1 0
0 1
1 0 1 0 1 1 1 1
读取CNT 1的当前计数值
向CNT 2写入计数初值 读取CNT 2的当前计数值 写入控制字
0
1
1
×
1
×
× ×
× ×
数据引脚D7 ~ D0呈高阻
N为奇数,CR内容先减1,再装入CE中, 其他同前(近似方波)
35
(6)工作方式3—方波发生器
CW=16h WR LSB=4
CLK GATE
OUT CE
N
N
N
4
2
4
2
4
2
4
2
4
2
36
(6)工作方式3—方波发生器
CW=16 WR LSB=5
CLK
GATE OUT CE
N
N
N
5
4
2
4
2
5
4
2
4
2
37
65536×55ms = 3600s
计数器1
18÷1.19MHz = 15.08μs
计数器2
1.19MHz÷1331 = 896Hz,驱动后送给扬声器
47
8253端口地址为40H ~ 43H
MOV OUT MOV OUT OUT MOV OUT MOV OUT AL,00110110B ;计数器0初始化 43H,AL ;双字节读写,方式3,二进制 AL,0 40H,AL ;写入低字节 40H,AL ;写入高字节 AL,01010100B ;计数器1初始化 43H,AL ;只读写低字节,方式2,二进制 AL,18 41H,AL ;写入低字节

第9章_4 8253的应用(习题)

第9章_4 8253的应用(习题)
CLK2 PCLK 1.193186Mz
40H~ 40H~43H
CS
8253
61H 0FCH AL
8255(60H~63H) 8255(60H~63H)PBA0 GATE2 OUT2 驱 动
DEBUG PC8253
P376 8.22 定时计数器8253输入时钟频率为1MHZ 并设定为按BCD码计数, 8253输入时钟频率为1MHZ, BCD码计数 定时计数器8253输入时钟频率为1MHZ,并设定为按BCD码计数,若写 入的计数值为0080H 则该通道定时时间是多少? 0080H, 入的计数值为0080H,则该通道定时时间是多少? 解: 对于BCD码计数则0080H表示计数值为80 BCD码计数则0080H表示计数值为 对于BCD码计数则0080H表示计数值为80 通道的输出频率为: 通道的输出频率为:1M/80=12500HZ 定时时间为:1/12500=8× 定时时间为:1/12500=8×10-5(S)=80(μS)
CLK0 GATE0 OUT0 CLK1 GATE1 OUT1 CLK2 GATE2 OUT2 +5V +5V 2.5Mz OUT
P339 8253应用举例 应用举例 8253的应用电路如图所示,三个通道分别设置为:通道0为方式2,计数初值 为1000;通道1为方式1,计数初值为500;通道2为方式3计数初值为2000。外 接时钟为2.5Mz。在开关打到+5V后,计算OUT脉冲的重复周期和波形的持续 时间。设端口地址为80H~83H,写出初始化程序。 通道0为方式2 通道0为方式2 0011 0100B=34H 通道1为方式1 通道1为方式1 0111 0010B=72H 通道2为方式3 通道2为方式3 1011 0110B=B6H MOV AL,34H OUT 83H,AL MOV AX,1000 OUT 80H,AL MOV AL,AH MOV AL,B6H OUT 80H,AL OUT 83H,AL MOV AL,72H OUT 83H,AL MOV AX,2000 MOV AX,500 OUT 82H,AL OUT 81H,AL MOV AL,AH MOV AL,AH OUT 82H,AL OUT 81H,AL

第九章 可编程计数器与定进控制器8253(9.2)

第九章 可编程计数器与定进控制器8253(9.2)

SC1 SC0 RW1 RW0 M2
M1
M0 BCD
1--计数值为BCD码格式 0--计数值为二进制格式 M2 M1 0 0 0 1 1 0 0 M0 0 1 0 1 0 1 模式选择 模式0 模式1 模式2 模式3 模式4 模式5
0 0----对计数器进行锁存
0 / / 1 1
0 0----选计数器0
STT: MOV DX,8253-C MOV AL,10H OUT DX,AL MOV DX,8253-0 MOV AL,64H OUT DX,AL MOV DX,8253-C MOV AL,76H OUT DX,AL MOV DX,8253-1 MOV AX,09C4H OUT DX,AL MOV AL,AH OUT DX,A MOV DX,8253-C MOV AL,0B1H OUT DX,AL
图 8-22
方式0——计数结束产生中断

图 8-22
单脉冲触发器
图 8-23
分频器
图 8-23 方波发生器
图 8-23 软件触发的选通信号发生器
图 8-23
硬件触发的选通信号发生器
8-2-3 8253应用举例
8253初始化方法: 控制字 计数初值:
已知:CLK 的频率fc与定时的时间t. 计数初值: n= fc t
习题1分析: 用通道 0 作定时器,初始编程使通道0按方式3工作,每秒产 生18.2次输出信号,该信号送到8259A中断控制器的IRQ0输入端。 每55ms产生一次中断请求,8086对其计数,用来计算时间。通道 1 用作动态RAM刷新定时,每隔5.12us产生一次输出信号,请求动态 刷新。OUT1输出产生DMA请求信号送8237,由8237对动态RAM刷新。 (8253地址为40H~43H) 通道0:地址为40H,控制字为36H,工作方式3,计数初值为0 通道1:地址为41H,控制字为 54H,工作方式2,计数初值为12H
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11
初始化程序: MOV OUT MOV OUT AL, 10H 46H, AL AL, 32 40H, AL ;T0 方式0 ;汇编器会将源程序的数据转换为二进制 ;送低8位时间常数
不需要写高8位时间常数。
12
如果使用16位时间常数,先送低8位,后送高8位,则控制字的 D5D6=11H(控制字变为30H)初始化程序如下(假设时间常 数为1234): MOV AL, 30H OUT 46H, AL ;T0 方式0,16位时间常数,二进制 ;送低8位时间常数 ;设定先送低8位,后送高8位,连续送
19
5. 方式4 — 软件触发选通方式
8253工作方式
① 写入控制字后OUT即变为高电平,写入计数初值后,下一个CLK的下降 沿开始计数,计数到0时,OUT输出一个CLK的负脉冲,并停止计数 ② GATE为高电平允许计数,为低电平则停止计数 ③ 若计数过程中写入新的计数初值,则在下一个CLK按新值重新计数 例如,通道1工作在方式4,时间常数=3,这时控制字=58H MOV OUT MOV OUT MOV OUT AL, 78H 46H, AL ;T0 方式4 AX, 0003H 42H, AL AL, AH 42H, AL ;送高8位 ;送低8位
8.2 可编程定时器8253
定时器主要用于产生定时控制信号,或对外部时间进行技 术统计。 定时可以有 软件定时:计算机通过空耗CPU时间获得延时
硬件定时:利用可编程硬件定时芯片
外部事件计数 利用软件实现 利用可编程计数器 8253是即可用于硬件定时、计数的可编程芯片。
1
一. 8253内部结构与功能
发器方式) (1)特点 ① 写入控制字后OUT即变为高电平,GATE上升沿后,下一 个CLK的下降沿才开始计数,并置OUT为低电平,计数到0时
OUT又变为高电平(低电平宽度可编程)
WR CLK GATE OUT 3 2 1 0 3 2
14
CW
N=3
方式1时序图
FF
② 在计数期间,当GATA又出现上升沿时,则重新装入时间 常数重新开始计数。 ③ 计数结束后,若GATE端再来上升沿,则会再次触发一轮 计数周期
端口
通道0 通道1
A15~A8
A7 A6 A5 A4A3 A2A1 A0 00
地址
40H
0~ 0
通道2
控制口
0 1 0
XX
01 10 11
0
42H 44H 46H
7
④ 8253三个通道的时钟由PCLK分频得到,频率为:
2.38636 / 2
= 1.1931816 MHz
⑤ 在IBM-PC/XT微机系统中, 通道0定时输出OUT0接8259的IR0,为计算机提供实时时钟 通道1定时输出OUT1为动态存储器刷新提供时钟 通道2个定时输出OUT2控制扬声器发声

8253工作方式
写入控制字后OUT即变为高电平,写入计数初值后,下一个CLK的 下降沿开始计数,计数到一半时OUT变为低电平,计到终值时OUT 又变为高电平,并自动开始下一次计数过程。 Fout = Fclk / N 若N为偶数,则高、低电平持续时间相等,均为N / 2个CLK,即OUT 输出为方波;若N为奇数,则高电平持续时间为 (N+1)/ 2个CLK, 低电平持续时间为(N–1) / 2个CLK GATE为高电平允许计数,为低电平则停止计数
方式5—计数过程输出端=1,计数结束输出一个时钟负脉冲。
22
工作方式比较 (3)方式2和3:具有自动重装入时间常数功能——计数到0, 自动重装入时间常数,OUT端输出连续波型,周期有时间常 数确定。 区别:方式2输出一个时钟周期的负脉冲,
方式3输出方波
23
六、应用举例
8253的输入时钟1MHZ,端口地址:80H~86H(偶数地址), 利用8253作为方波发生器,控制LED信号灯0.5秒亮,0.5秒熄 灭。 端口地址:0#——80H 1#——82H 2#——84H 控制端口——86H 产生周期为1S的方波,用一级计数达不到。 原因:时钟信号1MHZ, T=1μS 最大延时t=65535*1μS =65.535 毫秒
GATE控制; ④ 计数器归0时由OUT引脚输出信号 8253端口选择
A1 0 0 1 1 A0 0 1 0 1 对计数器0操作 对计数器1操作 对计数器2操作 对控制寄存器操作
3
8253引脚功能
8253具有24个引脚: ① ② ③ ④ D7~D0 数据线,双向三态,与系统数据总线相连 /RD 读信号,输入,低电平有效,从8253读取数据
/WR 写信号,输入,低电平有效,将数据写入8253 /CS 片选信号,输入,低电平有效,决定芯片地址
⑤ A1 A0
端口选择信号,8253占四个端口地址
4
⑥ CLK0、CLK1、CLK2
计数时钟输入端,下降沿使通道
减1
⑦ GATE0、GATE1、GATE2 计数控制端,高电平或上升
沿有效,有效时才允许计数器对输入CLK进行计数 ⑧ OUT0、OUT1、OUT2 输出信号,计数到0时由此引脚输 出一信号 ⑨ 控制寄存器 接收CPU控制字,决定8253工作方式
MOV
OUT MOV
AX, 1234
40H, AL AL,AH
OUT
40H,AL
对其他通道,控制字的写入,D7D6修改为对应的通道号编码 (例如2通道,=10)就行了,时间常数则通过对应的通道地 址写入(例如2通道,向52H端口写时间常数)。
13
8253工作方式
2.方式1 —可编程单脉冲发生器(又叫: 可重新触发单稳态触
CLK GATE OUT 3 2 1 0 FF FEFDFC WR CW N=3
方式4时序图
20
6. 方式5 — 硬件触发选通方式
8253工作方式
①写入控制字后OUT即变为高电平,写入计数初值,等待GATE上升沿后。 下一个CLK的下降沿才开始计数,计数到0时OUT输出一个CLK的负脉冲, 并停止计数 ②计数结束后,若GATE端再来上升沿,则会再次触发一轮计数周期 ③若计数过程中写入新的计数初值,需等待GATE端再次触发后才按新的
初值计数
还是以通道0为例 MOV OUT AL, 3AH 46H, AL ;T0
与方式1的区别:GATE上升沿触发 计数到0,输出一个时钟周期负脉冲 WR CLK GATE OUT CW
N=3
MOV
OUT MOV OUT
AX, 0003H
40H, AL AL, AH 40H, AL
方式5时序图
3 2 1 0 FF
扬声器还受8255的PB1控制
8
三 8253控制字
通过将控制字写入控制口,以决定计数器0 ~ 计数器2的工作方式。
D7 D0
SC1 SC0 RW1 RW0 M2 M1 M0 BCD
① SC1 SC0 计数器选择 0 0 计数器0 0 1 计数器1 1 0 计数器2 1 1 非法 ② RW1 RW0 计数器读/写选择 0 0 锁存计数器当前计数值 0 1 读/写计数值低8位 1 0 读/写计数值高8位 1 1 先低8位,再高8位
+5V PB0(8255) IRQ0(8259) 刷新电路
驱动器
PB1 (8255)
G1 G2A Y2 G2B C B A
PCLK
74LS175 C Q D Q
6
8253与计算机的连接
① ② ③ 8253的数据线D7~D0接8086系统数据总线低8位。 8253的A0接8086的A1,8253的A1接8086的A2,使用偶 地址端口 端口地址
10
CW
N=4
方式0时序图
(2)应用 例:假设8253计数器0工作与方式0,8位二进制计数,计数初值 为32。设8253的端口地址为46H~40H,编写初始化程序。 端口地址为46H~40H, 说明: 0#通道地址:40H 1#通道地址:42H 2#通道地址: 44H 控制通道地址:46H 写0通道控制寄存器,D7,D6=00 8位二进制计数,控制寄存器的D5,D4两位=01,只写低8位 工作方式0 D3,D2,D1=000 二进制计数,D0=0 这样,控制字为 00 01 000 0 (10H)
5
二. 8253与计算机的连接
8253
D7 ~ D0
IOR IOW A2 A1 +5V A15 A14 A13 A12 A11 A10 A9 74LS04
D7 ~ D0 RD WR A1 A0 CS +5V 74LS30 A8 A7 A6 A5
GATE0 GATE1 GATE2 OUT0 OUT1 OUT2 CLK0 CLK1 CLK2 74LS138
17
3. 方式2 — 分频器方式
8253工作方式
①写入控制字后OUT即变为高电平,写入计数初值后,下一个CLK的下降沿 开始计数,减到1时OUT变为低电平,持续一个CLK后OUT又变为高电平, 并自动开始下一次计数过程。 Fout = Fclk / N,脉宽=1个时钟周期 ②GATE为高电平时允许计数,为低电平时停止计数 ③计数期间送入新值,不影响当前计数周期,下一周期才按新值计数 例如:通道2工作在方式2(10 11 010 0),时间常数初值0003,

M2 M1 M0 0 0 0 0 0 1 x 1 0 x 1 1 1 0 0 1 0 1
计数器工作方式选择 方式0 方式1 方式2 方式3 方式4 方式5
④ BCD 计数器进制选择 0 16位二进制计数 1 BCD码计数
9
四 8253工作方式
1. 方式0 — 计数结束产生中断方式 (1)特点



③ ④
10 11 011 0B
计数期间送入新值,不影响当前计数周期,下一周期才按新值计数
相关文档
最新文档