第10讲 定时器计数器8253

合集下载

定时器

定时器

;8253控制口地址 ;通道0工作在方式0 ;8253通道0地址 ;给通道0送计数值
;通道1工作在方式3 ;8253通道1地址
;给通道1送计数初值低8位 ;给通道1送计数值高位
;通道2工作在方式0
MOV MOV OUT MOV OUT MOV MOV OUT MOV MOV OUT MOV OUT MOV OUT STI FF:
发声子程序:
SSP PROC NEAR ;8253初始化: MOV AL,10110110B ;计数器2,模式3,初值16位,二进制 OUT 43H, AL MOV AX, 1983 ; 计数初值=1.19MHZ600HZ=1983 OUT 42H,AL ;送计数初值低位字节 MOV AL,AH OUT 42H,AL次 ;送计数初值高位字节
方式0——计数结束产生中断
图 8-22
方式0——计数结束产生中断
方式1——可编程的单脉冲(单稳)触发器

图 8-22
单脉冲触发器
方式2——分频器( 速率发生器)
图 8-23
分频器
方式3——方波发生器
图 8-23 方波发生器
方式4——软件触发的选通信号发生器
图 8-23 软件触发的选通信号发生器
计数初始值=时钟频率*T
8_2_1 8253芯片内部结构
1.数据总线缓冲器 往计数器设置计数初值; 从计数器读取计数值; 往控制寄存器设置控制字。 2.读/写逻辑电路 A1 A0:端口选择 0 0:通道0(0号计数器) 0 1:通道1(1号计数器) 1 0:通道2(2号计数器) 1 1:控制字寄存器
3.通道0、通道1、通道2
计数器0:CLK0——计数器0的时钟输入。 GATE0——计数器0的门脉冲控制输入。 OUT0——计数器0的输出。 计数器1 计数器2

8253定时-计数器

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的时序如图所示。

定时计数器8253

定时计数器8253

古晓辉制作
2 写入计数值
示例
选择二进制时
计数值范围:0000H~FFFFH 0000H是最大值,代表65536
选择十进制(BCD码)
计数值范围:0000~9999 0000代表最大值10000
计数值写入计数器各自的I/O地址
古晓辉制作
3 读取计数值
示例
对8位数据线,读取16位计数值需分两次 计数在不断进行,应该将当前计数值先行 锁存,然后读取:
0
OUT
④ ② ① ⑥ ⑤ 计 数 设 设 计 计 值 定 定 数 数 送 计 工 结 过 入 数 作 束 程 计 初 方 数 值 式 器
古晓辉制作
古晓辉制作
方式1可重复触发的单稳方式
① ② 4 ④ ⑤ ⑥

⑥ ② ⑤ ① 计 ③ 数 计 设 计 设 值 硬 数 定 数 定 送 件 结 计 过 工 入 启 束 数 程 作 计 动 初 数方 值 器式
计数初值
8253内部包含3个功能完全相同的通道,每个通道内部 设有一个16位计数器,可以进行二进制或十进制(BCD码) 计数。 8253是一种减1计数器,因此在开始计数(定时)之前,一 定要根据计数(定时)的要求,先算出计数初值(定时常数), 并装入计数初值寄存器。
定时常数=要求定时的时间/时钟脉冲的周期
古晓辉制作
9.2.2 8253的工作模式
方式0——计数结束产生中断 方式1——可重复触发的单稳态触发器 方式2——分频器 方式3——方波发生器 方式4——软件触发的选通信号发生器 方式5——硬件触发的选通信号发生器
古晓辉制作
方式0 计数结束中断
① ② ④ 4 ⑤ ⑥
WR CLK GATE
方式0
4 3 2 1

第10章-可编程定时计数器8253概要

第10章-可编程定时计数器8253概要
通道2:fCLK2 = 1MHz, T = 50ms N =fCLK2 × T =1MHz × 50ms = 50000= C350H
21
确定各通道控制字
读写高低字节 通道0: 方式3
BCD码计数
SC1 SC0 RW1 RW0 M2 M1 M0 BCD
0 0 1 1 011 1 37H
读写高低字节 通道1: 方式3
29
10.3 8253 的工作方式
共同遵守的3个基本原则: ● 控制字写入计数器时,所有的控制逻辑电路立即复 位,输出端OUT进入初始状态 ● GATE信号是上升沿起作用,GATE信号的作用是 在下一个CLK周期的下降沿生效 ● 计数初值装入计数器和减1计数都是在输入脉冲的 下降沿有效的
30
10.3 8253 的工作方式
11 先读/写低8位,后读/写高8位计数值 15
10.2 8253 的编程
8253的计数初值
当输出信号为连续的周期波时:假设计数器输入信 号CLK的频率为fCLK,要求OUT端输出信号的频率为 fOUT,则计数初值N的计算公式为
N = fCLK ÷ fOUT 当计数器/定时器工作在一次性有效的定时方式时:如 希望的定时时间为T,则计数初值 N的计算公式为:
5
8254芯片
3
NUIST
10.1 8253 的引脚功能和编程结构
8253的主要功能 ● 3个独立的16位计数器 ● 每个计数器都可以按二进制或BCD码计数 ● 每个通道的计数频率可达2MHz ● 每个计数器都具有6种不同的工作方式 ● 每个计数器的计数初值都可以通过编程设置 ● 所有的输入输出都与TTL兼容
4
10.1 8253 的引脚功能和编程结构
8253的引脚功能

定时计数器8253课件

定时计数器8253课件
3个计数通道 通道控制寄存器 数据总线缓冲器 读/写控制电路
20010.12
定时计数器8253
3
计数通道
• 通道0、通道1和通道2
• CLK:计数器的脉冲输入端,GATE: 计数器的门控信 号,OUT: 计数器的输出信号,一般与计数溢出有关。
• 工作原理:
• 8253计数器工作在减1状态,每输入一个计数脉冲,计数 器值减1,当计数器
• 分为4部分,通道选择、计数器读/写方式、工作方式和计
数码的选择。
计数器选择(SC1、SC0)
计数器读/写方式(RLl、RL0)
20010.12
定时计数器8253
9
• 计数器的锁存操作
• 8253一旦初始化后,就不需要CPU参与而自动计数。为了 读出计数值时不干扰实际计数过程,同时读出的值又是稳 定的,就要求对通道计数器中的计数值进行锁存。
读/写控制电路
❖ 片选信号 CS ❖ A1A0的组合 :选择三个通道、一个控制寄
存器,共4个端口 ❖ 读信号 R D 和写信号W R 由CPU提供,低电平
有效。
20010.12
定时计数器8253
7
8253的管脚分配
• 通道管脚
• CLKn:通道n的脉冲输入管脚.外部事件
或定时脉冲由这三个管脚输入;
OUT 8253控制口,AL
MOV AL,40H
;置8253通道0时间常数,
OUT 通道0端口,AL ; 第一次写初始计数值的低8位,
MOV AL,38H
; 第二次写高8位。3840H=14400秒=4小时
OUT 通道0端口,AL
……
中断程序中有关程序段如下:
……
MOV AL,00000001B ;8255置位/复位控制字,使PC0=1

计数器定时器8253

计数器定时器8253

计数未减到0,GATE又来一上升沿
28
模式2的时序图 :
1
2
29
特点:
自动重置计数初值; GATE上升重新(硬件同步)、高
允许、下降停止、低停止计数; WR#写[重写]计数初值后在下一个 时钟脉冲时有效(软件同步);
30
OUT在写入控制字后变高,在计数值
为1时输出宽度为1个CLK的负脉冲(周 期为N个时钟周期,频率为1/N的时钟 频率,正脉冲为N-1个时钟脉冲宽度, 负脉冲为1个时钟脉冲宽度,实际上是 对CLK的N分频)。

10

(
2
① ③
)
82 53 的 工 作 原 理

11
说明:
① 计数器0,计数器1,计数器2 特点:结构相同,引脚相同,功能独立 ② 数据总线缓冲器 (接低8位数据总线) 功能: 往计数器设置初值 从计数器读取计数值 往控制寄存器设置控制字
12
③ 读写逻辑电路 A1、A0——对计数器和控制寄存器寻址 RD#——读信号 WR#——写信号 CS#——片选信号 ④ 控制寄存器(A1、A0为11时选中) 在初始化过程中,必须先写入控制字,才 能写其他命令,如设计数初值、锁存等。


CNT0: 2MHz/2KHz =1000 (16位) CNT1:
100ms/0.5ms=200 (8位)
57
8255的初始化



MOV MOV OUT XOR MOV OUT
DX,387H AL,82H DX,AL AL,AL DX,384H DX,AL

7
9.2.3 可编程计数器/定时器8253
1. 2. 3. 4.

定时计时器8253

定时计时器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可编程计数器定时器

8253可编程计数器定时器

8253的工作原理简介8253可编程计数器/定时器的工作频率为0~2MHz,它有3个独立编程的计数器,每个计数器有三个引脚,分别为时钟CLK、门控GATE、计数器和计时结束输出OUT;每个计数器分别有6种工作方式。

下面针对使用到的两种工作方式——方式1和方式2的工作原理[1]进行简述。

方式1:可编程单稳,即由外部硬件产生的门控信号GATE触发8253而输出单稳脉冲。

计数器装入计数初值后,在门控信号GATE由低电平变高电平并保持时,计数器开始计数,此时输出端变成低电平并开始单稳过程。

当计数结束时,输出端OUT转变成高电平,单稳过程结束,在OUT端输出一个单稳脉冲。

硬件再次触发,OUT 端可再次输出一个同样的单稳脉冲。

单稳脉冲的宽度由装入计数器的计数初值决定。

在WR 信号的上升沿(CPU写控制字之后),输出端OUT保持高电平(若OUT原为低电平则变为高电平)。

CPU写入计数值后,计数器并不马上开始计数,而要等到门控信号GATE启动之后的下一个CLK的下降沿才开始。

在整个计数过程中,输出端OUT保持低电平,直至计数值至0,OUT变为高电平为止。

方式2:速率发生器,其功能如同一个N分频计数器。

其输出是将输入时钟按照N计数值分频后得到的一个连续脉冲。

在该方式下,当计数器装入初始值开始工作后,输出端OUT将不断地输出负脉冲,其宽度为一个时钟周期的时间,而两个负脉冲间的时间脉冲个数等于计数器装入的计数初值。

若计数初值为N,则每N个输入脉冲输出一个脉冲。

当CPU写完控制字后,输出端OUT转变成高电平,计数器将立即自动开始对输入CLK时钟计数。

在计数过程中,OUT端始终保持高电平,直至计数器的计数值减到1时,OUT 端才变为低电平,其保持的宽度为一个输入CLK时钟周期的时间,然后输出端OUT恢复高电平,计数器重新开始计数。

8253控制字格式为:其中:SC1 SC0为计数器选择位;RL1 RL0为计数器读写操作选择位,以确定计数器进行装入或读出是单字节还是双字节;M2 M1 M0为计数器工作方式选择位;BCD表示计数器计数方式选择位。

汇编语言 可编程定时器/计数器(8253)

汇编语言 可编程定时器/计数器(8253)

信息学院实验报告学号:114100136 姓名:熊忠飞班级:11B课程名称:微机原理、汇编与接口技术实验名称:可编程定时器/计数器(8253)实验性质:验证性实验实验时间: 2013 年 6 月 7 日实验地点:睿智4号楼一、实验目的掌握8253的基本工作原理和编程方法。

二、实验内容及要求1、按图虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。

2、按图连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1HZ)。

3、编程提示(1)8253控制寄存器地址 283H 计数器0地址 280H计数器1地址 281HCLK0连接时钟 1MHZ(2)参考流程图三、实验步骤及结果1、代码如下:(1)计数器stack segment stack'stack'dw 32 dup(0)stack endsdata segmentioport equ 0ec00h-0280hio8253a equ ioport+283hio8253b equ ioport+280h data endscode segmentassume cs:code,ds:data,ss:stack start:mov ax,datamov ds,axmov al,10hmov dx,io8253aout dx,almov dx,io8253bmov al,0fhout dx,alzby: mov dx,io8253amov al,00hout dx,almov dx,io8253bin al,dxand al,0fhmov dl,alcmp dl,9jbe numadd dl,7num: add dl,30hmov ah,2hint 21hjmp zbymov ah,4chint 21hcode endsend start(2)定时器stack segment stack'stack'dw 32 dup(0)stack endsdata segmentioport equ 0ec00h-0280hio8253a equ ioport+280hio8253b equ ioport+281hio8253c equ ioport+283hdata endscode segmentassume cs:code,ds:data,ss:stackstart:mov ax,datamov ds,axmov dx,io8253cmov al,00110110Bout dx,almov dx,io8253amov al,0E8Hout dx,almov al,03Hout dx,almov dx,io8253cmov al,01110110Bout dx,almov dx,io8253bmov al,0E8Hout dx,almov al,03Hout dx,almov ah,4chint 21hcode endsend start四、实验小结通过本实验,掌握了8253这块芯片的一些基本功能,在实验中不仅学会了用计数器0计数,还学会了用计数器2和计数器1。

汇编语言接口技术第十章计数器8253.

汇编语言接口技术第十章计数器8253.

2、8253的结构框图
如图7.1所示 8253由与CPU 接口、内部 RD 控 制 电 路 以 WR A0 及 三 个 计 数 A1 CS 器通道组成。
数据总线缓 冲器 计数器0 CLK0 GATE0 OUT0 CLK1 GATE1 OUT1
读/写逻辑
计数器1
控制字 寄存器
计数器2
CLK2 GATE2 OUT2
计数器0
计数器1
计数器2
3、8253的引脚 8253与CPU接口的 引脚,如图7.3所 示,(a)是引脚 图,(b)是8253的 功能结构。
1)CLK CLK为时钟输入引脚,用以输入计数执行部件CE (减法计数器)的计数脉冲信号。 2)OUT 它是通道输出信号引脚,从功能上来说也可称为 “计数到零/定时时间到”输出引脚。8253的基本 功能就是对外部输入到CLK引脚的脉冲进行减法计 数。 3)GATE 它是门控输入信号引脚,当GATE为低电平时禁止 计数器工作,通常GATE为高电平或有上升沿跳变 时计数器才能工作。 4)A1A0:地址选择引脚。

一、概

1、定时与计数 控制系统与计算机中,常常需要有定时信号,以 实现定时或延时控制。如定时中断,动态存储器的定 时刷新等。此外,还需要有计数功能,以实现对外部 事件的计数,当外部事件发生的次数达到规定值后, 向计算机发出中断请求,进而实现相应的控制或处理。
定时的本质就是计数,当计数信号是周期信号时, 计数就可以用于定时。如以秒为单位计数,则计数60 次就是 1分,计满 60 分就是 1 小时,计满 24小时就是 1 天
(2)读之前先送计数值锁存命令
锁存命令由控制字的D5D4位决定, D5D4=00是锁存命 令,锁存哪一个寄存器由控制字的D7D6位决定。此时控制字 的低4位可设定为全0。 设8253的口地址为E8H-EBH,现要求读计数通道1的16位 计数值,编程如下: mov al, 40H ;锁存命令为40H out 0EBH, al ;写入通道1控制字寄存器 in al, 0E9H ;读低8位 mov bl, al ;存于BL in al, 0E9H ;读高8位 mov bh, al ;存于BH 这种方法,必须先执行一次锁存操作,但省去了需要硬 件的配合。

可编程定时器、计数器8253

可编程定时器、计数器8253

通道 (计数器)
工作方式
方式选择控制字
计数初值
0
0(计数结束 中断方式)
ModCr0= 00 01, 000 0B
(=10H)
n0=100
1
3(方波发生 器)
ModCr1= 001 11, 011 0B
(=76H)
n1 =
TOUT1 TCLK1
=
fCLK1 fOUT1
=
2.5 *106 1000
= 2500
4、8253的工作方式
8253提供6种工作方式,遵循以下基本原则: (1)控制字写入计数器8253的控制字寄存器,所有的
控制逻辑电路复位,输出端进入初始状态; (2)初始计数值写入后,经过一个CLK脉冲后,才在
输入脉冲的CLK的下降沿,计数器作减1计数。
定时与计数 本质上是一回事:
不管是定时,还是计数,计数器都是对C3——方波发生器
例: 设8253的端口地址是80H~83H。欲使计数器1输出频率为1KHz 的方波, 从CLK1端输入2.5MHz的时钟脉冲. 试编写初始化程序.
8253使用前,需初始化: 先写入工作方式控制字,再写入计数初值: 方式控制字规定某个通道的工作方式。将控制字写入控制寄存器端口.
2
0(计数结束 中断方式)
ModCr2= 010 11, 000 1B
(=B1H)
n2
=
TOUT2 TCLK 2
=
1 TCLK 2
= fCLK2
= 1000
由图9-23(a), n1 * TCLK1 = TOUT1
其它内容自学
附图:8253的工作方式控制字
控制字——规定某个计数器/通道的工作方式。

实验八定时器计数器8253实验

实验八定时器计数器8253实验

8253是Intel公司生产的一款可 编程定时器计数器。
它具有3个独立的16位计数器, 每个计数器都可以独立编程和控
制。
8253的计数器可以用于产生时 间间隔、脉冲信号、PWM(脉
宽调制)等。
8253的工作原理
825ቤተ መጻሕፍቲ ባይዱ的每个计数器都有一个预置 值,当计数达到预置值时,计数 器会自动回置并触发一个中断或
实验八:定时器计数器8253实验
contents
目录
• 实验简介 • 8253定时器计数器概述 • 实验步骤与操作 • 实验结果与分析 • 实验总结与思考
01 实验简介
实验目的
掌握8253定时器计 数器的工作原理。
了解定时器在计算机 系统中的应用。
学习如何编程控制 8253定时器计数器。
实验设备
01
微机实验箱
02
8253定时器计数器芯片
03
示波器
04
信号发生器
02 8253定时器计数器概述
定时器计数器的基本概念
定时器计数器是一种用于产生 时间间隔或计数的电子设备。
它通常由石英晶体振荡器驱动, 以提供稳定的计时基准。
定时器计数器广泛应用于计算 机、通信、自动化等领域。
8253的特性和功能
配置8253定时器计数器
设置工作模式
根据实验要求,选择适当的定时/计数 模式,如计数模式、定时模式或门控 模式等。
设置定时/计数初值
启动定时/计数
通过微处理器发送控制信号,启动 8253定时器计数器的定时/计数操作。
根据实验要求,设置适当的定时/计数 初值,以满足实验条件。
启动和观察实验结果
启动实验
加强实践环节
为了更好地理解和掌握相关知识,建议增加更多的实践环节,例 如组织小组讨论、分享经验等。

定时器计数器、8253方波

定时器计数器、8253方波

定时器/计数器、8253方波一、实验目的⑴学会8253芯片和微机接口原理和方法。

⑵掌握8253定时器/计数器的工作方式和编程原理。

二、实验内容8253的0通常工作在方式3,产生方波。

三、编程提示8253芯片介绍8253是一种可编程定/计数器,有三个十六位计数器,其计数频率范围为0~2M H Z,用+5V 单电源供电。

8253的功能用途:⑴延时中断 ⑸实时时钟⑵可编程频率发生器 ⑹数字单稳⑶事件计数器 ⑺复杂的电机控制器⑷二进制倍频器8253的六种工作方式:⑴方式0:计数结束中断 ⑷方式3:方波频率发生器⑵方式1:可编程频率发生 ⑸方式4:软件触发的选通信号⑶方式2:频率发生器 ⑹方式5:硬件触发的选通信号8253的0号通道工作在方式3,产生方波。

四、参考流程框图五、参考程序CODE SEGMENTASSUME CS:CODE,DS:CODE,ES:CODEORG 3490HH9: MOV DX,0FFE3HMOV AL,36HOUT DX,ALMOV DX,0FFE0HMOV AL,00HOUT DX,ALMOV AL,10HOUT DX,ALJMP $CODE ENDSEND H9六、实验步骤⑴按实验电路图连接线路:按实验电路图连接138译码输入端A.B.C,其中A连A2,B连A3,C连A4,138使能控制输入端G与位于地址线A0引出孔所在位置下方的使能控制输出端G作对应连接,该端的寻址范围为0F F E0H~0F F F F H。

①8253的G A T E0接+5V。

②8253的C L K0插孔接分频器74L S393的T2插孔,分频器的频率源为:4.9152M H z(已连好)。

③把8253的C S孔与138译码器的Y0孔相连。

④用8芯排线或8芯扁平线把D0~D7总线接口(部分机型位于8251右侧)与数据总线单元D0~D7任一接口相连。

⑵运行实验程序:在系统处于命令提示符“P.”状态下,输入3490,按E X E C键。

微机原理_定时计数器8253

微机原理_定时计数器8253

D6 SC0
D5 RL1
D4 RL0
D3 M2
D2 M1
D1 M0
D0 BCD
SC1 SC0 :选择计数器(0#,1#,2#) M2M1M0:设置工作方式(0~5) RL1 RL0 00 01 10 11 设置计数值格式 当前计数值锁存到输出缓冲器 写 / 读计数值的低8位 写 / 读计数值的高8位 写 / 读计数值的16位(先低8位,后高8位)
8253内部有 个完全相同、又相互独立的16位减法 8253内部有3个完全相同、又相互独立的16位减法 内部有3 计数器。 计数器。 可以用二进制或十进制计数。 可以用二进制或十进制计数。 工作方式和计数常数编程设置。 工作方式和计数常数编程设置。
一、内部结构
8253定时 8253定时/计数器的工作原理 定时/ 定时/ 计数器的核心部件为可预置初值计数器。 定时 / 计数器的核心部件为可预置初值计数器 。 预置初值后开始计数, CLK信号每输入一个脉冲 信号每输入一个脉冲, 预置初值后开始计数 , CLK 信号每输入一个脉冲 , 计数值减1 一直减到0 并且OUT OUT脚同时产生相应 计数值减 1 , 一直减到 0 , 并且 OUT 脚同时产生相应 输出信号,该信号可用作中断请求。 输出信号,该信号可用作中断请求。
要注意定时器 的容量即位数
GATE门控 门控 信号 计数脉冲 可预置初值计数器
CLK 输入
OUT 输出
计数初值
说明: 说明: 1、每个计数器各有三根I/O线 每个计数器各有三根I/O线 CLK: CLK:时钟信号输入 OUT: OUT:计数器输出 GATE:门控信号, GATE:门控信号,用于启动或允许计数器工作 2、通过对控制寄存器写操作,来设置工作方式。 通过对控制寄存器写操作,来设置工作方式。 3、有A1A0两条地址线,在PC机中的端口地址是40H~43H。 两条地址线, PC机中的端口地址是 H~43H。 机中的端口地址是40 A1 A0 端口 定义 0 0 40H 40H 0#计数器 0#计数器 0 1 41H 41H 1#计数器 1#计数器 1 0 42H 42H 2#计数器 2#计数器 1 1 43H 43H 控制寄存器

定时器-计数器8253

定时器-计数器8253
2021年1月30日星期六
1.2 8253的结构及其外部引脚
8253具有3个功能相同的16位减法计数器CNT0、CNT1和CNT2,可 进行二进制或8421 BCD码计数或定时操作。工作方式和计数常数可 由软件编程来设定,可以方便地与PC总线连接,外部引脚如图1-26 (a)所示,其内部结构如图1-26(b)所示,每个计数器有3个引脚: CLK为时钟输入端,作为定时或计数方式时的减1计数脉冲输入端, 当CLK输入为恒定周期的时钟信号时,则主要作为定时器用(定时器 是一种特殊的计数器),若CLK用于工业控制或实验中脉冲信号输入, 则一般来说,CLK的无固定的时钟周期只能看成计数器;OUT为计数 器输出端,当计数器减到0时,根据所置的工作方式输出相应的信号; GATE为门控端,用于启动或禁止计数器操作。控制字寄存器用来寄 存工作方式控制字,只能写入不能读出。
定时器/计数器8253
1.1 定时器/计数器概述
通常有3种方法来实现定时或计数:软件法、硬件法以及可 编程的硬件定时/计数法。
(1)软件实现。 (2)简单硬件实现。 (3)利用可编程定时器/计数器。由于它的定时值及计数范 围可以由软件来设定改变,因此,可以脱离CPU独立定时/计数。 它不占用CPU大量时间,所以使用方便,且功能强大。
2021年1月30日星期六
2021年1月30日星期六
图1-26 8253外部引脚和内部结构
1.3 8253的控制字和编程命令
1.8253的控制字 8253每个计数器的工作方式和计数值都必须由CPU通过输出指 令来设定。对8253的初始化要求是: (1)通过8253的控制端口向控制寄存器写入相应通道的控制 字,一般情况下,应指定通道的工作方式(6种工作方式之一)、 通道计数器的读/写方式(是读/写高/低8位数据,还是16位数据) 和通道计数器/定时器所采用的计数制(BCD/二进制)。 (2)通过8253的通道端口向相应的通道计数器写入计数初始 值。如果在控制字中已经确立为16位的控制方式,则应分两次对 通道端口进行写操作,先写入初始值的低8位,再写入初始值的高 8位。

第10章(8253定时器)

第10章(8253定时器)

工作方式 000=方式0 001=方式1 010=方式2 011=方式3
0=二进制 1=BCD码源自100=方式4101=方式5
2.初始化编程:向8253分别写入控制字和计数初值, 顺序为:
注意: 1) A1A0=00 读/写计数器0 A1A0=01 读/写计数器1 A1A0=10 读/写计数器2 A1A0=11 写8253控制字 2)写入计数初值,如果是8位,只写入一次,如果 16位,则先写低8位,后写高8位。
3.控制寄存器:8位,对8253初始化时,由CPU发 来的控制字经数据总线缓冲器、内部数据总线写 入该寄存器。 4.计数通道:8253有3个相互独立的计数通道, 分别为计数器0、计数器1和计数器2 。每个通道 包含一个8位的控制寄存器,用来存放计数器的 工作模式字;一个16位的初值寄存器CR,8253工 作前要对其置初值;一个16位计数执行单元CE, 接收计数初值寄存器CR送来的内容,并对该内容 执行减1计数操作;一个16位输出锁存器OL,锁 存CE的内容,供CPU读取。
• 【例2】IBM/PC微机的某扩展板上使用一 片8253,其端口地址为400H~403H,要 求从定时器0的输出端OUT0得到250HZ的 方波信号,从定时器1的输出端OUT1得 到10HZ的连续单拍负脉冲信号。已知系 统提供的计数脉冲频率为125KHZ,硬件 连接如图所示,试编写程序。
① 确定工作方式 根据题目要求,OUT0端输出的是连续方波,所 以定时器0应工作在方式3,而OUT1端输出连续 的单拍负脉冲,因此,定时器1必须工作在方式2。
1.8253的控制字:用来设置8253每个计数通道的 工作方式及计数初值进制。 如下图所示:
8253工作方式控制字 D7 D6 D5 D4 D3 M2 D2 M1 D1 D0
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10.1.1 8253的内部结构和引脚信号 8253的内部结构和引脚信号
4
8253工作原理 10.1 8253工作原理
5
8253工作原理 10.1 8253工作原理
6
8253工作原理 10.1 8253工作原理
8253工作原理 10.1 8253工作原理
10.1.2 初始化编程步骤 写如顺序: 写如顺序:
11
方式1 方式
方式2 方式
软、硬件启动,自动重复计数。 硬件启动,自动重复计数。 装入初值后输出端变高电平, 装入初值后输出端变高电平, 计数到最后一个脉冲时输出低电平 软、硬件启动,自动重复计数 硬件启动, 装入初值后输出端变高电平, 装入初值后输出端变高电平, 输出对称方波 软件启动,不自动重复计数。 软件启动,不自动重复计数。 装入初值后输出端变高电平, 装入初值后输出端变高电平, 计数结束输出一个CLK宽度的低电平 计数结束输出一个 宽度的低电平 硬件启动, 硬件启动,不自动重复计数 波形与方式4相同 波形与方式 相同
21
8253的应用举例 10.2 8253的应用举例
10.2.3 8253计数功能的应用 计数功能的应用
out1
19
8253的应用举例 10.2 8253的应用举例
1)初始化编程 ) 8253的 个端口地址分别为F0H,F2H,F4H F6H,则初 F0H,F2H,F4H和 设8253的4个端口地址分别为F0H,F2H,F4H和F6H,则初 始化程序: 始化程序: MOV AL, 01110001 ;控制字 OUT OF6H, AL MOV AL, 99H 计数值低字节送计数器1 OUT 0F2H, AL ;计数值低字节送计数器1 MOV AL, 04H 计数值高字节送计数器1 OUT 0F2H, AL ;计数值高字节送计数器1
14
;通道 初始化程序 通道0初始化程序 通道 MOV DX, 316H MOV AL, 00110111B OUT MOV MOV OUT MOV OUT DX, AL DX, 310H AL, 00H DX, AL AL, 05H DX, AL ;控制口地址 控制口地址 ;先读写低字节 后高字节 方式 先读写低字节, 先读写低字节 后高字节, 方式3, BCDቤተ መጻሕፍቲ ባይዱ数 计数 ;送控制字 送控制字 ;通道 口地址 通道0口地址 通道 ;低字节 低字节 ;先写入低字节 先写入低字节 ;高字节 高字节 ;后写入高字节 后写入高字节
;通道 初始化程序 通道1初始化程序 通道 MOV DX, 316H MOV AL, 01110011B OUT MOV MOV OUT MOV OUT DX, AL DX, 312H AL, 80H DX, AL AL, 04H DX, AL ;先读写低字节 后高字节 方式 先读写低字节, 后高字节, 方式1, 先读写低字节 BCD计数 计数 ;送控制字 送控制字 ;通道 口地址 通道1口地址 通道 ;低字节 低字节 ;先写入低字节 先写入低字节 ;高字节 高字节 ;后写入高字节 后写入高字节
8253工作原理 10.1 8253工作原理
10.1.3 门控信号控制功能
10
8253工作原理 10.1 8253工作原理
10.1.4 8253的工作方式 8253的工作方式 方式0 方式 软件启动,不自动重复计数。 软件启动,不自动重复计数。 装入初值后输出端变低电平, 装入初值后输出端变低电平, 计数结束输出高电平 硬件启动, 硬件启动,不自动重复计数 装入初值后输出端变高电平, 装入初值后输出端变高电平, 计数开始输出低电平, 计数开始输出低电平,结束后又变高
20
8253的应用举例 10.2 8253的应用举例
2)计数值的读取 ) MOV AL, MOV DX, OUT DX, MOV DX, IN AL, MOV AH, IN AL, XCHG AH, 01000000 OF6H AL 0F2H DX AL DX AL ;锁存计数器1命令 锁存计数器1 ;控制口 ;发锁存命令 计数器1 ;计数器1 读计数器1的低8 ;读计数器1的低8位数 保存低8 ;保存低8位数 ;读计数器1的高8位数 读计数器1的高8 将计数值置于AX AX中 ;将计数值置于AX中
第10讲 定时器/计数器8253及其应用 / 8253
1
主要内容:
8253工作原理 工作原理 8253应用举例 应用举例
2
8253工作原理 10.1 8253工作原理
8253的内部结构和引脚信号 的内部结构和引脚信号 初始化编程步骤 门控信号的功能 8253的工作方式 的工作方式
3
8253工作原理 10.1 8253工作原理
方式3 方式
方式4 方式
方式5 方式
8253的应用举例 10.2 8253的应用举例
10.2.1 8253与系统的连接示意 与系统的连接示意
8253 DB IOW IOR A2 高 位 地 址 A1 译码器 D0~D7 WR RD A1 A0 CS
13
CLK GATE OUT
外设
8253的应用举例 10.2 8253的应用举例
;通道 初始化程序 通道2初始化程序 通道 MOV MOV OUT MOV MOV OUT DX, 316H AL, 10011011B DX, AL DX, 314H AL, 26H DX, AL ;只读写低字节 方式 BCD计数 只读写低字节, 方式5, 只读写低字节 计数 ;送控制字 送控制字 ;通道 口地址 通道2口地址 通道 ;低字节 低字节 ;只写入低字节 只写入低字节
10.2.2 8253定时功能的应用 定时功能的应用
在某个8086为CPU的系统中使用了一块 为 的系统中使用了一块8253, 通道的 在某个 的系统中使用了一块 基地址为310H, 所用的时钟脉冲频率为 所用的时钟脉冲频率为1MHz, 要求 个计 要求3个计 基地址为 数通道分别完成以下功能: 数通道分别完成以下功能: 3,输出频率为2KHz的方波 (1)通道0工作于方式3,输出频率为2KHz的方波; )通道0工作于方式3,输出频率为2KHz的方波; 480微妙的单脉冲 (2)通道1产生宽度为480微妙的单脉冲; )通道1产生宽度为480微妙的单脉冲; (3)通道2用硬件方式触发,输出单脉冲,时间常数为26. )通道2用硬件方式触发,输出单脉冲,时间常数为26.
写控制字
写计数值低8位 写计数值低 位
非必须
可以计数器为 单位, 单位,也可先 写所有计数器 控制字, 控制字,再写 入初值
*写计数值高 位 写计数值高8位
8
例如:在某微机系统中 例如 在某微机系统中,8253的3个计数器的端口地址分别为 在某微机系统中 的 个计数器的端口地址分别为 3F0H、3F2H、3F4H,控制字寄存器端口地址为 控制字寄存器端口地址为3F6H,要求 、 、 控制字寄存器端口地址为 要求 8253的通道 工作于方式 并已知对它写入的计数初值 的通道0工作于方式 的通道 工作于方式3,并已知对它写入的计数初值 n=1234H,则初始化程序 则初始化程序: 则初始化程序 MOV AL, 00110111B MOV OUT MOV MOV OUT MOV OUT DX, 3F6H DX, AL AL, 34H DX, 3F0H DX, AL AL, 12H DX, AL ;通道 先读 写低字节 后高字节 通道0, 先读/写低字节 后高字节, 写低字节, 通道 方式3, 方式 BCD计数 计数 ;指向控制口 指向控制口 ;送控制字 送控制字 ;计数值低字节 计数值低字节 ;指向计数器 端口 指向计数器0端口 指向计数器 ;先写入低字节 先写入低字节 ;计数值高字节 计数值高字节 ;后写入高字节 后写入高字节
相关文档
最新文档