8253的基本工作原理和编程方法

合集下载

微机第9章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的工作原理

8253的工作原理

8253的工作原理8253是一种计数器/定时器芯片,它通过与计算机的输入输出接口相连接,用来执行各种计数和定时操作。

8253具有三个可独立使用的计数器,分别称为计数器0、计数器1和计数器2。

计数器0和计数器1是16位计数器,可以被配置为16位二进制计数器或BCD (二进制编码十进制)计数器。

计数器2是一个8位计数器,只能是二进制计数器。

8253工作的基本原理是通过对计数器寄存器的编程配置,将计数器模式、分频因子和初始计数值设置为期望的值。

然后,8253开始计数,每经过一个时钟周期,计数器的值会递增一次。

当计数器的值和设定的目标值相等时,8253可以产生一个触发信号,可以用来触发中断或产生特定的定时操作。

计数器0和计数器1能够按照不同的计数模式工作。

其中,计数模式0是16位二进制计数器或BCD计数器,计数器值递增或递减,直到计数器达到最大值或最小值时就会重置。

计数模式1是16位计数器,当计数器的值和设定的目标值相等时,计数器会重置为初始值。

计数模式2与计数模式1相似,但在计数器达到目标值时,会产生一个短脉冲。

计数模式3是计数器1和计数器2之间的模式,计数器1会根据计数器2的值进行递增或递减。

计数模式4和模式5分别是软件触发的单脉冲发生器和硬件触发的单脉冲发生器。

除了计数模式之外,8253还提供了可编程的分频器。

分频器可以将输入时钟信号进行分频,从而改变计数器的计数速度。

分频因子可以设置为2、4、8、...、2^16,因此可以根据需要选择合适的分频因子来控制计数速度。

综上所述,8253是一种可编程的计数器/定时器芯片,根据计数模式和分频器配置可以实现各种计数和定时操作。

它通过与计算机接口相连接,可以广泛应用于许多需要计数和定时功能的电子设备和系统中。

8253的原理

8253的原理

0
0 1 1
0----选计数器0
1----选计数器1 0----选计数器2 1----无意义
2、计数初值
计数初值n =时钟频率fc/输出频率fout =定时时间Tout/时钟脉冲周期Tc
8253初始化的工作有两个内容:
(1)一是向命令寄存器写入方式命令,以选择计 数器(3个计数器之一),确定工作方式(6种 方式之一),指定计数器计数初值的长度和装 入顺序以及计数值的码制(BCD或二进制码)。 (2)二是向已选定的计数器按方式命令的要求写 入计数初值。
可编程计数器/定时器8253 PIT(Programmable Interval Timer)
8253的主要功能 1、一个芯片上有三个独立的16位计数器通道 2、每个计数器的内部结构相同,可通过编程 手段设置为6种不同的工作方式来进行定时 /计数 3、每个计数器在工作过程中的当前计数值可 被CPU读出
例5:设定时器0、定时器1工作于方式2,外部提供 一个时钟,频率f=2MHZ。要求定时器1每5ms产生 一个脉冲,定时器0每5s产生一个脉冲。 1). 一个定时器的最大定时时间: 65536/(2*106)=0.032768 s=32.768ms 2). 将定时器1的CLK1接2MHZ时钟,计数初值:
4. 软件触发的选通信号发生器
5. 硬件触发的选通信号发生器
5-3 8253应用举例
8253初始化方法: • 控制字 • 计数初值:
已知:CLK 的频率fc与定时的时间t. 计数初值: n= fc t
例1:设8253: fc=1MHZ,最大计数初值:
N= 65536 一个定时器最大定时时间: Tmax = N/fc=65536/ 106 =0.065536s

8253工作原理

8253工作原理

(3)方式1:可编程的硬件触发单拍脉冲。
特点:写入控制字寄存器后,输出OUT就变高;GATE的上升 沿触发计数,同时OUT变低,直到计数到0 ;遇到GATE的上 升沿时,自动重新计数。
(4)方式2:速率发生器。
特点:写入控制字寄存器后,输出OUT就变高;GATE为高计 数;计数到1时, OUT变低,计数到0时, OUT变高,并自动 重新计数。 GATE为低时,禁止计数,直到GATE变高,重新 自动写入计数值计数。一般作为分频器使用。
(7)方式5:硬件触发的选通信号发生器。
特点:写入控制字寄存器后,输出OUT就变高;GATE的上升 沿触发计数;计数到0时, OUT为低,经过一个CLK周期 后 变为高。只有遇到GATE的上升沿时,自动重新计数。
(8)8253的工作方式小结。 1)方式2、4、5的输出波形是相同的,都是宽度为一个 CLK周期的负脉冲,但方式2连续工作,方式4由软件触发 启动,方式5由硬件触发启动。 2)方式5与方式1的工作过程相同,但输出波形不同,方 式1输出的是宽度为N个CLK脉冲的低电平有效的脉冲(计 数过程中输出为低),而方式5输出的是宽度为一个CLK 脉冲的负脉冲(计数过程中输出为高)。 3)输出端OUT的初始状态。方式0在写入方式字后输出为 低;其余方式,写入控制字后输出均变为高。 4)任一种方式,均是在写入计数初值之后才能开始计数 ,方式0、2、3、4都是在写入计数初值之后开始计数的, 而方式1和方式5需要外部触发启动才开始计数。
(5)方式3:方波速率发生器。
特点:与方式2类似,只是进行减2操作,直到0时, OUT变低 ,并自动重新写入计数值减2操作,直到0时, OUT变高。一 般作为方波发生器使用。
(6)方式4:软件触发的选通信号发生器。

8253的工作方式.doc

8253的工作方式.doc

8253的工作方式.doc8253是一种可编程定时计数器,也称为PIT(可编程间隔计数器),主要用于定时、计数、脉冲宽度测量、触发信号生成等应用。

8253集成了三个内部计数器,并且具有多种工作模式,因此在实际应用中非常灵活。

这篇文章将介绍8253的工作方式。

一、8253的基本特点1. 集成了三个计数器:8253集成了三个16位的计数器,可以同时实现多种定时任务。

2. 可编程:8253可以通过编程输入控制字来设置工作模式、计数器初始值和计数方式等,大大提高了系统的灵活性。

3. 多种工作模式:8253具有多种工作模式,可以应用于定时、计数、脉冲宽度测量等各种应用场景。

4. 高可靠性:8253工作稳定可靠,在各种工作条件下都能保持准确的计数。

8253的工作模式通常分为三类:1. 方波发生器:8253可以通过设定适当的计数器初值和控制字来生成指定频率和占空比的方波信号。

这种工作模式一般应用于调制、解调和数字时钟等领域。

2. 计数器:8253可以将外部的脉冲信号作为计数器输入,并根据设定的计数器初值和控制字来实现计数。

这种工作模式主要应用于计数器、计时器和数据采集等领域。

3. 脉冲宽度调制:8253可以通过改变计数器初始值和脉冲输出方式来实现脉冲宽度调制。

这种工作模式广泛应用于伺服控制、PWM调光等领域。

三、8253的编程方法编程8253的主要步骤如下:1. 定义计数器模式:根据实际需求,定义相应的计数器模式。

8253的计数器模式主要包括16位计数器、8位计数器、比率发生器、方波发生器和脉冲宽度调制等。

2. 计数器初值设定:根据计数器模式和实际需求,设置相应的计数器初值。

计数器初值是计数器的初始计数值,也可以理解为计数器开始计数的起点。

3. 控制字设定:通过编写控制字,控制8253的各种功能和工作模式。

控制字通常由两个字节组成,其中第一个字节设定8253的工作模式和计数器选择,第二个字节设定计数器初值和扩展功能等。

第八章 可编程计数器定时器8253及其应用

第八章 可编程计数器定时器8253及其应用
WR
LSB=4 CR=4
CLK GATE
OUT CRCE 4 CRCE 2 4 CRCE 2 4 CRCE 2 4 CRCE 2 4
8253方式3 计数初值为奇数时的波形 CW=16H WR LSB=5
CR=5
CLK GATE OUT
CRCE
5 4
CRCE 2 5 2
CRCE 5 4
CRCE 4 3
8253方式0
两种特殊情况:
中途改变计数初值
CW=10H WR CR=3 CLK GATE OUT CR=3 LSB=3
LSB=3
CRCE 3 2
CRCE 1 3 2
1
0
8253方式1
2、方式1——可编程单稳态输出方式
时序图
CW=12H WR
LSB=3 CR=3
CLK GATE
OUT
CRCE
CRCE 3 2
1
0
8253方式1
工作过程
① 写入控制字,OUT立即变为高,并保持不变。 ② 写计数初值N,只有当GATE形成一个上升沿时,才在
下一个时钟脉冲的下降沿,将n装入实际计数器,同 时OUT由高变为低,开始减1计数(再来一个脉冲)。
③ 计数期间,OUT一直为低;当计数结束(计数值为0)
8253综述
Intel 8253是一种可编程的计数器/定时器芯片。 8253内部具有3个独立的16位计数器通道,通过对
它进行编程,每个计数器通道均有6种工作方式,并 且都可以按2进制或10进制2种格式进行计数,最高 计数频率能达到2MHz。 8253还可用作可编程方波频 率产生器、分频器、程控单脉冲发生器等。
教材第八章内容
第八章 可编程计数器/定时器8253及应用

微机原理课_8253

微机原理课_8253
第八章 可编程定时/计数器8253 本章学习的知识点: 1)掌握8253的基本功能 2)掌握8253的6种工作方式的特点和用法 3)掌握8253的硬软件设计方法 本章学习的难点: 1)掌握8253的6种工作方式的特点和用法 2)掌握8253的硬软件设计方法
8.1 概述
1、应用场合
在微机系统中,要求对外部信号进行计数 或要求对时间进行精确定时----计数/定时器. 计数由外部脉冲信号提供,当达到设定的计数 值时,输出一个电平信号,告知外部设备已经计 满。定时时间基准由8086内部时钟源提供,经 定时钟分频后得到所需的时间信号,当定时时 间到后也输出一个电平信号,告知外部设备定 时时间到。
8253初始化编程要求
1、8253三个端口有各自独立的地址,控制字分别对
各端口的工作方式进行设置。 2、对某一个端口设置初值时,先设置控制字 3、设置初值时,要符合D5、D4的规定,分别输入计 数值。(16位计数值要用两条指令写入计数值) 4、锁存(D5D4=00)的目的是:在CPU读取计数值前 先用锁存命令锁存减1计数器的当前值,否则得不到 正确的结果,CPU取走数据后,锁存功能自动失锁 5、编程顺序:先写入控制字到控制寄存器,然后写 入计数初值到所确定的计数器端口!!!
2、定时与计数的三种方式
1) 软件定时: 利用 CPU 每执行一条指令都需要几个固定的 指令周期的原理,因此执行一个程序段就需要一 定的时间,运用软件编程的方式,通过改变指令 执行的循环次数就可以控制定时时间,由于它占 用了CPU,因而降低了CPU的利用率。 例: MOV CX,1000H DEALY: MOV BX,1000H LOOP DEALY
15 14 13
CLK1 GATE 1 OUT1
计数器

8253的内部结构与工作方式

8253的内部结构与工作方式

8253的内部结构与工作方式8253是一种通用计数器/定时器芯片,由Intel公司于1975年研发。

它在计算机系统中主要用于计时、定时和频率发生的应用。

8253的内部结构和工作方式如下:1.内部结构:8253由一个16位计数器和三个16位计数器/分频器组成。

其中,计数器0和计数器2可以用作定时器,计数器1可以用作计数器或分频器。

-计数器0(工作于16位模式):它可以生成一个周期性的方波信号。

它的输入时钟源可以是外部引脚CLK0或者是计数器2的输出CLK2、计数器0还可以分为两个8位计数器,其下方8位由计数器1的输出加法器控制。

-计数器1(工作于16位模式):它可以将计数器0的输出值与一个可编程的初始计数值进行相加或相减。

它的输出可以用作计数器或分频器。

-计数器2(工作于8位模式):它通常用于分频器功能。

它可以接收来自外部引脚CLK2的时钟输入,并将其分频为不同的输出频率。

2.工作方式:- 定时器模式:8253可以工作在三种不同的定时器模式:比率发生器模式(Mode 0)、硬件单触发模式(Mode 1)和软件可编程单脉冲模式(Mode 2)。

在这些模式下,计数器的工作频率和输出信号的脉冲宽度都可以通过编程来设定。

-计数器模式:计数器1可以通过读取或写入操作来读取或设置计数器的值。

当计数器溢出时,可以触发中断。

-分频器模式:计数器2可以工作为一个分频器,将输入时钟分频为指定的输出频率。

在应用方面,8253的工作方式与内部结构密切相关。

通过编程设置不同的计数器模式和计数器值,可以实现各种计时和频率发生的功能。

例如,可以使用8253来测量时间间隔、生成周期性信号、控制器件的定时操作等。

总结起来,8253的内部结构由三个计数器模块组成,分别用于不同的定时和计数功能。

通过设置不同的模式和计数值,可以实现各种计时和频率发生的应用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理与接口技术实验报告
实验名称:8253的基本工作原理和编程方法
姓名:
学号:
专业班级:
指导老师:
实验日期:
一:实验目的
掌握8253的基本工作原理和编程方法。

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

三:硬件电路
四:源程序
汇编程序
ioport equ 0d400h-0280h
io8253a equ ioport+283h
io8253b equ ioport+280h
code segment
assume cs:code
start: mov al,14h ;设置8253通道0为工作方式2,二进制计数mov dx,io8253a
out dx,al
mov dx,io8253b ;送计数初值为0FH
mov al,0fh
out dx,al
lll: in al,dx ;读计数初值
call disp ;调显示子程序
push dx
mov ah,06h
mov dl,0ffh
int 21h
pop dx
jz lll
mov ah,4ch ;退出
int 21h
disp proc near ;显示子程序
push dx
and al,0fh ;首先取低四位
mov dl,al
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 ;加回车符
int 21h
mov dl,0ah ;加换行符
int 21h
pop dx
ret ;子程序返回
disp endp
code ends
end start
五:实验难点与重点
8253的工作方式有六种,如何理解和运用这六种工作方式是个难点。

8253具有3个独立的计数器,每个计数器必须单独编程进行初始化后才能使用,使用时有时会忘记初始化。

程序流程图:
六:实验感想
由于8253的读/写操作对系统时钟没有特殊的要求,因此它几乎可以应用于任何一种微处理器系统中,可作为可编程的方波频率发生器、分频器、实时时钟、事件计数器或单脉冲发生器等。

在电路的设计中,因为实验箱上提供的脉冲频率太高,不利于观察定时器的输出波形,因此选用8253的定时器1作为分频器,其输出作为脉冲时钟供定时器0选用。

在实验中,首先是电路的连接比较简单,考虑到8253有3个16位的计数器,当其中一个不能用时,可以用另一个代替,程序设计中允许选择计数器,所以在电路的连接上,可以用的两个计数器都连接好了。

除了方式2和方式3外都用了查询方式。

计数器的6种工作方式验证都做完了,从中更深刻地认识8253定时计数器的结构和计数原理。

对于这6种不同的工作方式,可以满足各种软件和硬件定时计数的要求。

相关文档
最新文档