8253定时器

合集下载

实验五 8253定时器

实验五  8253定时器

实验五8253定时器/计数器接口实验5.1实验目的掌握8253定时器/计数器的工作方式及应用编程。

5.2实验条件1. 北京达盛科技有限公司“缔造者”电子电气技术综合实验台、CPU挂箱、8086CPU模块。

2. PC机1台,已安装实验台8086开发调试软件。

3. 万用表、示波器。

5.3实验内容CPU挂箱自带一个脉冲发生器,按基频6.0MHz进行1分频(CLK0)、二分频(CLK1)、四分频(CLK2)、八分频 (CLK3)、十六分频(CLK4)输出方波。

编程设定8253计数器0、计数器1、计数器2工作于方波方式,观察其输出波形。

其中T0、T1的时钟由脉冲发生器的CLK3提供,其频率为750KHz,T0、T1的计数器初值设为927CH(37500十进制),则OUT0、OUT1输出的方波周期为(37500*4/3*10-6=0.05s)。

T2采用OUT0的输出为时钟,如果在T2中设置计数器初值为n,则OUT2输出方波周期为n*0.05s。

5.4实验步骤1. 实验接线将8253定时器/计数器的CS8253与地址译码电路的CS0相连,8253的CLK0、CLK1与脉冲发生器的CLK3相连8253的CLK2与OUT0相连,8253的OUT1与示波器相连,OUT2与开关量输入输出电路的LED1相连。

2. 建立PC机与8086CPU模块间的通讯连接将8086CPU模块正确地放在CPU挂箱上的CPU插槽中,系统上电后按下RESET键,几秒钟之后如果显示“P_”,说明CPU挂箱上的8086系统复位及8086CPU模块监控程序运行正常。

在PC机上打开8086开发调试软件,根据提示按下RESET键,几秒种后如果显示“C_”,说明与PC机通讯正常,同时8086开发调试软件用户界面提示通讯成功。

如果通讯不成功,试着选择串口COM2。

3. 编辑汇编语言源程序8086开发调试软件是将编辑、汇编、连接和调试集成在一起的综合开发环境,同时具有断点设定、程序下载到实验台等功能。

8253定时

8253定时

8253定时/计数器实验一、实验目的了解8253定时器的硬件连接方法及时序关系,掌握8253工作方式以及编程方法。

二、实验内容编程将8253定时器0设定为方式3,定时器1设定在方式2,定时器2设定在方式2,定时器0输出作为定时器1的输入,定时器1的输出作为定时器2的输入,定时器2的输出接在一个LED上,运行后可观察到该LED在不停闪烁。

1.8253是一种可编程计数器/定时器,它是用软、硬技术结合的方法实现定时和计数控制。

其主要有以下特点:①有3个独立的16位计数器,每个计数器均以减法计数。

②每个计数器都可按二进制计数或十进制(BCD码)计数。

③每个计数器都可由程序设置6种工作方式。

④每个计数器计数速度可以达2MHz。

⑤所有I/O都可与TTL兼容2.8253部分管脚的功能简介:D0-D7——数据总线缓冲器A0-A7——地址输入线,用来选择3个计数器和控制寄存器中的一个。

CLK——时钟脉冲输入端。

计数脉冲加到CLK输入端,可进行二进制或十进制减1的计数。

GATE——门控脉冲输入,用以控制计数或复位。

通常当其为低电平时,禁止计数器的工作,即此输入信号即可完成外部触发启动定时作用,又可用于中止计数或定时作用。

OUT——计数到零或定时时间到脉冲输出。

当预置的数值减到零时,从OUT输出端输出一信号,在不同的方式下,可输出不同形式的信号。

可以用作中断请求,也可用作周期性的负脉冲或方波输出。

三、实验内容及步骤本实验需要用到单片机最小应用系统CPU模块(F1区)、8253模块(H3区)、时钟发生电路模块(C4区)和计数器/频率计(A4区)。

1.用导线单片机最小应用系统P2.0、P2.1、P2.7、RD、WR分别接8253的A0、A1、CS-8253、RD、WR;单片机最小应用系统的P0口JD4F接8253模块的D0-7口JD0H,时钟发生电路模块的250kHz接8253模块的CLK0; GATE0接+5V,OUT0接计数器/频率计(A4区)的F IN 。

第八章(2)定时器8253

第八章(2)定时器8253
§8.3可编程计数/定时器8253
一、概述 二、Intel 8253 定时器/计数器的基本性能参数 三、8253 定时器/计数器的内部结构 四、8253的端口寻址及基本操作 五、8253 的控制字格式 六、8253 的工作方式
1
一、概述 1、定时与计数器的概念
定时器:在时钟信号作用下,进行定时的
减“1”计数,定时时间到(减“1”计数回零),从 输出端输出周期均匀、 频率恒定的脉冲信号。 由上述可知,定时器强调的是精确的时间。 定时举例: ①一天24小时的计时,称为日时钟。 ②在监测系统中,对被测点的定时取样。 ③在读键盘时,为去抖,一般延迟一段时间,再读。 ④在微机控制系统中,控制某工序定时启动。
13
锁存计数器当前计数值控制字
D7 SC1 D6 SC0 D5 RW1 D4 RW0 D3 M2 D2 M1 D1 M0 D0 BCD
未用
00 计数器锁存命令 00 选择计数器0 01选择计数器1 计数器选择 10 选择计数器2
14
4. 8253初始化的工作有两个内容: (1)一是向命令寄存器写入方式命令,以选择器 (3个计数器之一),确定工作方式(6种方式之 一),指定计数器计数初值的长度和装入顺序以及 计数值的码制(BCD或二进制码)。 (2)二是向已选定的计数器按方式命令的要求写入 计数初值。
20
CLK WR ① GATE OUT 4 3 2 1
n=4
0

GATE OUT WR GATE OUT
4 n=3 3 n=2 2
4
3
2
1
0

1
0
2
1
0
21
8253的1方式时序波形
3.方式2:频率发生器 方式2是一种具有自动装入时间常数(计数初 值N) 的 N分频器。 特点:一次设置计数初值,计数器可自动重复进行 减“1”计数操作,减“1”计数到“1”,可从输出端输出 一负脉冲信号。 时序波形如下

8253定时计数器实验

8253定时计数器实验

8253定时器/计数器实验一、实验目的:1、进一步了解可编程定时/计数器8253的特点与功能;2、掌握8253定时/计数器的应用、编程方法。

二、实验设备:MUT—Ⅲ型实验箱、8086CPU模块、示波器。

三、实验内容:用定时/计数器8253的计数器0、计数器1级联实现1秒的定时。

使OUT1端所接发光二极管每隔1S闪烁一次,模拟电子秒表或信号报警器。

两个计数器皆工作于方式3(输出方波),CLK0端接频率为750KHz的时钟。

四、实验电路:本实验用到两部分电路:时钟脉冲发生器(脉冲产生电路)(见附录)、8253定时器/计数器(1片)。

电路原理图如图1所示。

图1:8253定时/计数器实验电路五、实验步骤:(1)实验连线:CS0连CS8253,8253CLK0连时钟脉冲发生电路的CLK3,OUT0连8253CLK1,OUT1连LED1。

如图2所示。

注意:GATE信号线、数据线、地址线、读写控制信号线均已接好。

图2:线路连接示意图(2)输入以下程序,编译、链接后,全速运行,观察实验结果。

;8253初始化参考程序CODE SEGMENTASSUME CS:CODEORG 0100HSTART:MOV DX,04A6H ;控制寄存器地址MOV AL,00110110B ;计数器0控制字:方式3,二进制计数OUT DX,ALMOV DX,04A0H ;计数器0的口地址MOV AL,0EEH ;写计数初值低8位OUT DX,ALMOV AL,02H ;写计数初值高8位OUT DX,ALMOV DX,04A6H ;控制寄存器地址MOV AL,01110110B ;计数器1控制字:方式3,二进制计数OUT DX,ALMOV DX,04A2H ;计数器1的口地址MOV AL,0E8H ;计数初值低8位OUT DX,ALMOV AL,03H ;计数值高8位OUT DX,ALNEXT: NOPJMP NEXT ;CPU在此循环执行空操作,说明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可编程计数器定时器

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定时器实验.

精选文档实验报告实验名称可编程准时器/计数器(8253 )姓名学号班级教师日期一、实验内容与要求1.1 实验内容计数器方式 2 实验:将 8253 芯片的计数器0 的工作方式设置为方式2,读 /写格式设置为01,写入时只写入计数器初值低8 位,高 8 地点 0,采纳二进制格式计数。

计数器初值为N (N>=0FH ),用手动开关逐一输入单脉冲,编程使计数值在屏幕上显示,并同时用TPC-USB平台上的 LED 灯察看 OUT0 电平变化(当输入第N 倍数个脉冲后OUT0 变低电平, LED 灯由亮变灭,其余脉冲OUT0 都是高电平, LED 灯都处于亮状态)。

计数器方式 3 实验:将计数器 0、计数器 1 的工作方式分别设置为方式3,计数初值设为1000,并同时用 TPC-USB 平台上的 LED 灯察看 OUT1 电平变化(频次1Hz)。

1.2 实验要求(1)拥有必定的汇编编程的基础,能编写一些基本语句来实现实验。

实验前依据实验流程图,写出对应代码;(2)要认识8253准时/计数器芯片内部构造和外面引脚,认识芯片的硬件连结方法、时序关系、各样模式的编程及应用,能娴熟地对其进行编程;(3)熟习实验平台 TPC-USB 认识各个接口的名称与功能,进行实验时能迅速并正确地连结好实验电路;(4)计数器方式 2 实验:连结 PC 与 TPC-USB 平台,用微机实验软件运转程序,用手动开关逐一输入单脉冲,在屏幕上能一次显示计数值,当输入第N 倍数个脉冲后OUT0 变低电平, TPC-USB 平台上的 LED 灯由亮变灭,其余脉冲OUT0 都是高电平, LED 灯都处于亮状态;(5)计数器方式3实验:连结PC与TPC-USB平台,用微机实验软件运转程序,TPC-USB平台上的 LED 灯能周期性地亮灭,频次为 1Hz。

二、实验原理与硬件连线2.1 实验原理TPC-USB 平台上有一块8253 准时 /计数器芯片, PC 能够经过 8253 芯片进行计数和准时。

8253定时器

8253定时器

数据线:写控 制字,读写计 数器的计数值 计数器0的时钟 输入端 计数器0的输出端
计数器0的门控信 号脉冲输入端, 控制计数
为低电平的时候,CPU 读取所选计数器的内容
A1 A0
选中端口
00
01 10 11
计数器0
计数器1 计数器2 控制字寄存器
8
与系统的连接示意图
8253占用4个接口 地址: DB 计数器0 计数器1 IOW 计数器2 IOR 控制寄存器
26
工作方式5:硬件触发选通脉冲
方式5的时序图(a. GATE一直为高电平 b. GATE电平改变)
1.
2. 3.
写入控制字后,OUT端变为高电平,写入初始值n后,必须等待GATE的上升 沿触发才转入计数。 计数器减至0时,OUT端输出一个脉冲周期的负脉冲。然后n值自动装入计数 器,但要等GATE的上升沿来后才再次开始计数。 计数过程中,若GATE变低电平,不影响计数,但其上升沿将使得n重新装入 计数器,开始计数。
+5V 工件 INT OUT0 CLK0 光敏 电阻 驱 动 器 光源
1.4MHz 8255PC0
8253 CLK1 GATE1 OUT1
扬声器
30
编程及应用
计数器0工作于方式2分频方式,每隔50个CLK0产生 一个中断INT;方式控制字为:00010101B(15H), 即方式2,只装低8位,BCD数制,初值为50(H)。 计数器1工作于方式3方波方式,产生2000Hz喇叭音调, 方式控制字为:01110111B(77H),即方式3,先低 后高,BCD数制;
15
工作方式0:计数结束产生中断(小结)
软件启动,不自动重复计数。 装入初值后OUT端变低电平,计数结束OUT输出高电平。 计数过程中,GATE端应保持高电平。

实验八定时器计数器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定时器计数器的定时/计数操作。
根据实验要求,设置适当的定时/计数 初值,以满足实验条件。
启动和观察实验结果
启动实验
加强实践环节
为了更好地理解和掌握相关知识,建议增加更多的实践环节,例 如组织小组讨论、分享经验等。

第17讲 计数器定时器8253

第17讲 计数器定时器8253

例 2 :要求读出并检查 1 号计数器的当前计数值是否是全
“1”(假定计数值只有低8位),其程序段为
L :
MOV DX,306H
;命令口 ;1号计数器的锁存命令 ;写入命令寄存器 ;1号计数器数据口
MOV AL,01000000B OUT DX,AL MOV DX,302H
CW N=4
N 装 控 制 字
N 4 装 计 初 数 值 开 始
3
2
1
计 数 结 束
0 FF
说明:①控制字写入之后,OUT变低;初值装入后,要经过1个CLK 的周期(1个上升沿和1个下降沿)后,计数器才开始计数,所以,输 出OUT要经过N+1个时钟周期后才有输出; ②输出OUT的有效电平为高电平,并可同时触发中断请求; ③门控GATE的作用:高电平时计数,低电平或下降沿时停止计数; ④CW为写入控制字,N=4表示写入初值,计数值一次有效。 22
CS
0
0 0 0 0 0 0
RD
1
1 1 1 0 0 0
WR
0
0 0 0 1 1 1
A1
0
0 1 1 0 0 1
A0
0
1 0 1 0 1 0
传送方式
写入计数器0的初始值
写入计数器1的初始值 写入计数器2的初始值 写入控制寄存器控制字 读自计数器0的OL 读自计数器1的OL 读自计数器2的OL
12
四、8253的控制字
30
MOV AL,00110101B(35H) OUT 86H,AL MOV AX,1000 OUT 80H,AL MOV AL,AH OUT 80H,AL MOV AL,01110110B(76H) OUT 86H,AL MOV AL,0E8H 03E8H=1000D OUT 82H,AL MOV AL,03H OUT 82H,AL

8253定时器实验报告

8253定时器实验报告

8253定时器实验报告8253定时器实验报告引言:8253定时器是一种广泛应用于计时和计数领域的集成电路。

本实验旨在通过实际操作,深入了解8253定时器的工作原理和应用。

一、实验目的本实验的主要目的是:1. 理解8253定时器的基本原理和工作方式;2. 掌握8253定时器的使用方法;3. 学会通过8253定时器实现各种定时和计数功能。

二、实验器材和原理本实验所需的主要器材有:1. 一台计算机;2. 一块开发板;3. 一根连接线。

8253定时器是一种具有三个独立计数通道的定时/计数芯片。

它可以通过编程控制来实现各种定时和计数功能。

8253定时器的输入时钟信号可以来自计算机的外部时钟源或者计算机内部时钟源。

三、实验步骤1. 将开发板连接到计算机上,并确保连接正确稳定。

2. 打开计算机,并进入开发板的编程环境。

3. 编写程序,初始化8253定时器,并设置计时/计数模式。

4. 定义所需的计时/计数时间间隔。

5. 启动8253定时器,并开始计时/计数。

6. 根据需要,定时器到达预定时间后,触发相应的中断或输出信号。

7. 结束实验,关闭计算机和开发板。

四、实验结果通过本次实验,我们成功地实现了以下功能:1. 利用8253定时器实现了精确的定时功能,可以精确到毫秒级别;2. 利用8253定时器实现了计数功能,可以用于计算某个事件的发生次数;3. 利用8253定时器的中断功能,可以及时响应某个事件的发生。

五、实验总结本次实验通过实际操作,使我们更深入地了解了8253定时器的工作原理和应用。

通过编程控制8253定时器,我们可以实现各种定时和计数功能,为实际应用提供了很大的便利。

然而,在实验过程中也遇到了一些困难和问题。

比如,在设置计时/计数模式时,需要仔细阅读8253定时器的手册,理解各个寄存器的作用和设置方法。

此外,还需要注意编程时的精度和误差,以确保实验结果的准确性和可靠性。

通过本次实验,我们不仅加深了对8253定时器的理论认识,还提高了自己的实际操作能力。

实验三 8253计数器定时器的应用

实验三 8253计数器定时器的应用

实验三 8253计数器/定时器的应用一、实验目的:学习掌握8253用作定时器的编程原理;二、8253应用小结I8253和I8254都是可编程计数器,它们的引脚兼容,功能与使用方法相同。

I8254是I8253的改进型。

1.微机系统定时器和实验箱定时器(1)微机系统使用的8254,其3个通道均有固定的用途:0号计数器为系统时钟源,每隔55ms向系统主8259IR0提一次中断请求;1号计数器用于动态存储器的定时刷新控制;2号计数器为系统的发声源。

用户在使用微机系统的时候,可以使用0号和2号计数器,但不能改变对1号计数器的初始化。

(2)实验箱上的8253,其数据线D7—D0,地址线A1、A0和控制线RD、WR通过总线驱动卡和微机系统的三总线相连。

除此之外,三个计数器的引出段和片选端都是悬空的,这意味着实验箱上的8253的三个计数器都归用户使用,你可以单独使用其中的一个计数器,也可以串联使用其中的2个或3个计数器。

(3)8253计数器的输入信号,其频率不能超过2MHz,否则长时间使用,芯片过热,容易烧毁。

2.8253初始化使用8253前,要进行初始化编程。

初始化编程的步骤是:①向控制寄存器端口写入控制字对使用的计数器规定其使用方式等。

②向使用的计数器端口写入计数初值。

3.8253控制字D7D6=00:使用0号计数器,D7D6=01:使用1号计数器D7D6=10:使用2号计数器,D7D6=11:无效D5D4=00:锁存当前计数值D5D4=01:只写低8位(高8位为0),读出时只读低8位D5D4=10:只写高8位(低8位为0),读出时只读高8位D5D4=11:先读/写低8位,后读/写高8位计数值D3D2D1=000:选择方式0,D3D2D1=001:选择方式1D3D2D1=X10:选择方式2,D3D2D1=X11:选择方式3D3D2D1=100:选择方式4,D3D2D1=101:选择方式5D0=0:计数初值为二进制,D0=1:计数初值为BCD码数三、实验电路蜂鸣器电路四、实验内容1.完成一个音乐发生器,通过蜂鸣器放出音乐,并在数码管上显示乐谱。

8253定时器实验

8253定时器实验

8253定时器实验实验七可编程定时/计数器与中断控制一、实验目的1.掌握微机中断处理系统的基本原理、学习中断服务程序的编写方法。

2.掌握8253/8254定时/计数器的基本原理和编程方法。

二、实验原理本实验采用Intel8253作为计数器芯片,8254芯片是8253的兼容替代产品,计数速率等性能优于8253。

1.可编程定时/计数器8253功能简介8253含有三个独立的16位计数器,每个计数器连接外设的信号分别是:CLK ——输入的脉冲信号或外部事件,计数器对此脉冲进行减1计数;GATE ——启动/禁止计数的控制信号;OUT ——输出信号。

每个计数器可有六种工作方式,均可由程序设置和改变,8253的几种工作方式及特点如表7.1所示。

若一个计数器被设定为方式0,计数初值n,在控制信号GATE为高时即可对输入的脉冲作减1计数,OUT维持低电平;计数到0时,则由OUT端输出一个高电平信号。

若一个计数器被设定为方式2,输入为周期性脉冲信号,且计数初值可自动重新装入并连续计数,输出信号就成为周期信号,周期为T OUT = n×T IN(或频率?OUT = ?IN / n),即可作为分频器应用。

表7.1 8253的6种工作方式工作方式功能描述GATE=0启动方式初值设置说明方式0计数到0输出高电平停止计数软件一次有效(n+1)T CLK 负脉冲方式1硬件可重触发单稳态--- 硬件自动装入nT CLK负脉冲方式2分频器停止计数软/硬件自动装入T OUT=n×T CLK方式3方波发生器停止计数软/硬件自动装入分频,占空比≈50﹪方式4软件触发选通停止计数软件一次有效计数到0负T CLK方式5 硬件触发选通--- 硬件自动装入波形同方式4注:软件启动是指当GATE=1时写入方式字和初值即启动;硬件启动是指写入方式字和初值后要由GATE上升沿启动。

2.8253编程简要说明8253的每个计数器必须在写入控制字和计数初值后才启动工作,一般的初始化编程分为两步:先写入控制字、再写入计数初值。

实验6:8253定时器∕计数器应用

实验6:8253定时器∕计数器应用

8253定时器/计数器应用一、实验目的1.掌握8253定时/计数器的工作原理、工作方式及应用编程。

2.掌握8253的典型应用电路的接法。

二、实验设备PC 机一台,TD-PITE 实验教学系统一台。

三、实验原理实验系统中安装的为8254(8253的改进型)共有三个独立的定时/计数器,其中0号和1号定时/计数器开放供实验使用,2号定时/计数器为串行通信单元提供收发时钟信号。

定时/计数器0的GATE 信号连接好了上拉电阻,若不对GA TE 信号进行控制,可以在实验中不连接此信号。

四、实验内容计数应用实验:使用单次脉冲模拟计数,使每当按动“KK1+”5次后,产生一次计数中断,并在显示器上显示一个字符“M”。

初始化设置:8254的计数器0、计数器1、计数器2、控制口地址分别为06C0H 、06C2H 、06C4H 、06C6H ;选择计数器0,仅用低8位计数,方式0,二进制计数;8259的地址为20H 、21H ,边沿触发,IR7对应的中断类型码为0FH ,一般全嵌套方式,非缓冲方式,非自动结束。

五、实验步骤(实验报告中要详细写出你自己的实验步骤)计数应用实验步骤:(1)按图1连接实验线路。

(2)编写实验程序,对实验程序进行编译、链接无误后,加载到实验系统。

(3)执行程序。

并按动单次脉冲输入KK1+,观察程序执行结果。

(4)改变程序中的定时/计数值,验证8253的定时/计数功能。

思考题1.执行实验步骤(3)时,程序的执行结果和按动KK1+的速度有关吗?2.如果将图1中OUT0连接到系统总线的MIR6引脚,如何修改程序,使其仍能正常 4.7K图1 8253计数应用实验VCC · · XA1 XA2 系统 XD0· 总 ·XD7 线IOW# IOR# IOY3 MIR7 A0 A1 GATE0 D0 8254 · 单元 · D7 CLK0 WR RD CS OUT0 KK1+单次 脉冲单元计数?3.如果将图1中OUT0连接到系统总线的SIR1引脚,如何修改程序,使其仍能正常计数?提示:主片8259的地址为20H、21H,从片8259的地址为A0H、A1H,从片的INT 连接到主片的IR2引脚上,构成两片8259的级联。

定时器-计数器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位。

8253定时器工作方式

8253定时器工作方式

8253定时器工作方式
8253定时器是一种常见的计时器芯片,它通常用于控制计算
机硬件设备的定时操作。

8253定时器可以通过以下方式工作:
1. 方式0:8253定时器的方式0是最基本的工作方式,它可以实现一个简单的定时功能。

在这个方式下,定时器计数器会从初始值开始递增,当计数器达到设定的目标值时,会触发一个计时中断。

2. 方式1:8253定时器的方式1是一种周期性工作方式。

在这个方式下,定时器计数器会从初始值开始递增,当计数器达到目标值时,会触发一个计时中断,并且回到初始值重新开始计数。

这样就实现了一个周期性的定时功能。

3. 方式2:8253定时器的方式2是一种用于产生脉冲的工作方式。

在这个方式下,定时器计数器会从初始值开始递增,当计数器达到目标值时,会反转输出引脚的电平,然后回到初始值重新开始计数。

这样就可以产生一个周期性的脉冲信号。

以上是8253定时器的三种常见工作方式,它们可以根据实际
需要选择合适的方式来实现所需的定时功能。

第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)。

实验五 8253计数器/定时器
一.实验目的
1、掌握计数器/定时器8253的基本工作原理和编程应用方法;
2、了解掌握8253的计数器/定时器典型应用方法。

二.实验环境
1.硬件环境
微型计算机(Intel x86系列CPU)一台,清华科教仪器厂TPC-2003A微机接口实验装置一台;
数字记忆示波器一台.
2.软件环境
(1) Windows XP操作系统,编辑、汇编、链接和调试程序;
(2) PC2003A集成开发环境软件一套及实验装置电子版资料
三.基本实验
1.基本实验内容和要求
(1) 8253计数器
参考图5.1虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。

图5。

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

图 5.2 8253级联与方式3
2.编程提示
(1) 8253控制寄存器地址 283H ;假定译码器地址选为280H
计数器0地址 280H
计数器1地址 281H
CLK0连接时钟 1MHZ
(2)参考流程图(见图5.3、5.4): 开 始读计数器值显示计数值
有键按下吗?开 始
送计数器初值N
Y 结 束
结 束
设计数器0为工作方式0向计数器0送初值1000
先送低字节后送高字节
向计数器1送初值1000
先送低字节后送高字节
设计数器0为
工作方式3
设计数器1为
工作方式3
图5.3 图 5.4
(3) 参考程序1: (程序名:E8253_1.ASM )
ioport equ 0C400h-0280h
io8253a equ ioport+283h
io8253b equ ioport+280h
code segment
assume cs:code
main Proc far
start: mov al,14h ;设置8253通道0为工作方式2,二进制计数
mov dx,io8253a
dx,al
out
mov dx,io8253b ;送计数初值为0FH
mov
al,0fh
dx,al
out
ZZZ: in al,dx ;读计数初值
call disp ;调显示子程序
push dx
mov ah,06h
dl,0ffh
mov
int
21h
dx
pop
ZZZ
jz
mov ah,4ch ;退出
21h
int
main endp
disp proc near ;显示子程序
dx
push
and al,0fh ;首先取低四位
dl,al
mov
cmp dl,9 ;判断是否<=9
jle num ;若是则为'0'-'9',ASCII码加30H
add dl,7 ;否则为'A'-'F',ASCII码加37H num: add dl,30h
mov ah,02h ;显示
int
21h
mov dl,0dh ;加回车符
21h
int
mov dl,0ah ;加换行符
21h
int
dx
pop
ret ;子程序返回
disp endp
code ends
end start
(4) 参考程序2:(程序名:E8253_2.ASM)
ioport equ
0d400h-0280h
io8253a equ ioport+280h
io8253b equ ioport+281h
io8253c equ ioport+283h
code segment
assume cs:code
main proc far
start:mov dx,io8253c ;向8253写控制字
mov al,36h ;使0通道为工作方式3
dx,al
out
mov ax,1000 ;写入循环计数初值1000
dx,io8253a
mov
out dx,al ;先写入低字节
al,ah
mov
out dx,al ;后写入高字节
dx,io8253c
mov
mov al,76h ;设8253通道1工作方式2
dx,al
out
mov ax,1000 ;写入循环计数初值1000
mov
dx,io8253b
out dx,al ;先写低字节
al,ah
mov
out dx,al ;后写高字节
mov ah,4ch ;程序退出
int
21h
main endp
code ends
start
end
四.选作与探索
1. 图5.2系统中最大定时时间为多长,如果需要获得20秒的精确定时该如何处理? 结合实验四(2)内容,用基本实验(2)定时器产生1秒定时中断,编程精确控制指示灯定时亮闪, 1秒亮,n秒灭,使n=1秒、5秒和10秒, 总结利用1秒基本中断获得精确软件定时的方法;
输出指示也可用于继电器控制(参考程序JDQ.ASM)
2. 用基本实验(2)定时器产生1秒定时中断和8段数码管,编制程序获得精确的10秒倒计数显示器。

3. 使用PC微机内8253驱动声音接口
IBM-PC机扬声器发声驱动系统如图5.5所示。

由机内的8255I/O接口的PB0控制8253通道2的定时计数;
PB1来控制扬声器的接通和断开,以此来发声。

8255PB口地址为61H;8253通道2口地址为42H,控制
口为43H。

编程使扬声器发出‘1·2·3·4·5·6·7·1’(对应的频率分别为262、294、330、347、392、440、494、523Hz)的数字乐声。

图5.5 喇叭发声驱动系统
参考程序:
dseg segment
freq dw 262,294,330,349,392,440,494,523
tim dw 400
dseg ends
SSEG SEGMENT STACK
DW 256 DUP (?)
SSEG ENDS
cseg segment
main proc far
assume cs:cseg,ds:dseg
start: mov ax,dseg
mov ds,ax
mov si,0
again: mov di,freq[si]
mov bx,tim
call gen
add si,2
cmp si,16
jnz again
mov AX,4C00h
int 21h
main endp
gen proc near
mov al,0b6h
out 43h,al
mov dx,12h
mov ax,12928; DX AX=896*533h=18*65536+12928=1.19M
div di
out 42h,al
mov al,ah
out 42h,al
in al,61h
mov ah,al
or al,3
out 61h,al
wait1: mov cx,0h
delay: mov ax,10
delay2: nop
nop
dec ax
jnz delay2
loop delay
dec bx
jnz wait1
mov al,ah
out 61h,al
ret
gen endp
cseg ends
end start
五.实验预习与实验报告
1.实验前阅读基本实验指示书和装置介绍,分析基本电路原理,编写基本程序。

2.实验报告说明基本原理和电路分析,以及实验结果和分析,说明使用、测试方法,总结8253各种工作方式的特点。

3.选做实验方案及内容讨论。

六.参考资料
设备实验指示书 预备实验1: PCI设备查询和配置空间的读取
实验三可编程定时器/计数器(8253)
实验六继电器控制。

相关文档
最新文档