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及应用 8-1 8253工作原理
一、8253的内部结构与引脚信号 二、8253的初始化编程
三、8253的工作方式
四、8253与系统的连接
8-2 8253的应用举例
一、8253定时功能举例 二、8253计数功能举例
1
第八章
定时/计数技术概述
计算机中常用到定时功能,如:动态RAM刷新、
第八章
二、8253的初始化编程

8253的初始化编程按顺序分两步完成:
1、写入控制字

2、写入计数初值
初始化编程的几点说明: 对3个计数通道的初始化编程没有先后顺序
若是16位数,必须用两条OUT指令来完成,且先送低8
位数据,后送高8位数据。 若计数初值为0时,要分成两次写入。0在二进制计数
18
第八章
8253方式3
4、方式3——方波发生器
时序图
计数初值为偶数时的波形
CW=16H WR CR=4 CLK GATE LSB=4
OUT
CRCE 4
CRCE 2
19
CRCE
2 4
CRCE 2 4
CRCE 2 4
4
第八章
8253方式3 计数初值为奇数时的波形
CW=16H WR
LSB=5 CR=5
CLK GATE
OUT CRCE 5 4 CRCE 2 5 CRCE CRCE 4 2 5
2
5
20
第八章
8253方式4
5、方式4——软件触发选通
时序图
CW=18H WR
LSB=2 CR=2
LSB=2 CR=2
CLK GATE OUT CRCE 2 1 CRCE 0 2 1 0 0

微机原理-8253

微机原理-8253

MOV AL,0B5H; OUT 07H,AL; MOV AL,00H; OUT 06H,AL; MOV AL,05H; OUT 06H,AL;
精品资料
方式(fāngshì) 3 —— 方波发生器
• 方式3与方式2的工作类似,输出(shūchū)固定频率的 脉冲。 • 计数器具有“初值自动重装”的功能。 • 工作特点如下: • 当计数值为 偶数 时,则输出(shūchū)对称方波。 • 前 N/2 计数期间 输出(shūchū)高电平,即 OUT = 1; • 后 N / 2 计数期间输出(shūchū)低电平,即OUT = 0; • 当计数值为 奇数 时,前 (N+1) / 2 计数期间, • 输出(shūchū)高电平,即 OUT = 1, • 后(N-1) / 2 计数期间输出(shūchū)低电平,即 OUT = 0 。
精品资料
方式0 —— 工作(gōngzuò)方式的特点
1、写入控制字后,OUT= 0 为低电平,只有当 GATE = 1 时, CLK 端来一个计数脉冲,计数器才进行减一计数。 当计数值减为 0 时,计数全过程结束,计数器停止计数, OUT =1为高电平。
2、如果使计数器重新开始计数,需再次写入计数字值,当新计数值 写入后, OUT 端电平才能由高变低。

OUT =1 不变。

当计数值减为1 时,OUT = 0 ,经过一个 CLK时钟

周期后, 计数器自动启动,继续重复计数过程。
• OUT =0 的时间是一个 CLK 周期。
精品资料
方式(fāngshì)2 ——频率发生器
2、在计数过程中,可以改变计数值。如果在计数过程中, 重新写入某一计数值,在写入新计数值后,不影响正在 进行的计数过程,待计数过程完成后,在下一个计数过 程开始时,按新的计数值,重新开始作减一计数。

8253及其应用

8253及其应用
可编程定时/计数器8253 第八章 可编程定时/计数器8253
实现定时或延时控制有三种方法: 实现定时或延时控制有三种方法: 软件定时:即让CPU执行一段不完成任何其他功能的程序段, 软件定时:即让CPU执行一段不完成任何其他功能的程序段, CPU执行一段不完成任何其他功能的程序段 由于执行每条指令都需要时间, 由于执行每条指令都需要时间,则执行一个程序段就需要一定 的时间, 的时间,通过改变指令执行的循环次数来控制定时时间 不可编程硬件定时器:采用中小规模器件,外接定时元件 不可编程硬件定时器:采用中小规模器件,外接定时元件— —电阻和电容构成。 电阻和电容构成。 电阻和电容构成 可编程硬件定时器:就是其工作方式、 可编程硬件定时器:就是其工作方式、定时值和定时范围可 以很容易由软件来确定和改变。计数器一旦开始工作后, 以很容易由软件来确定和改变。计数器一旦开始工作后,CPU 就可以去做别的工作了,等计数器计到预定时间, 就可以去做别的工作了,等计数器计到预定时间,便自动形成 一个输出信号,用来向CPU提出中断请求。 CPU提出中断请求 一个输出信号,用来向CPU提出中断请求。这种方法不但显著 提高了CPU的利用率,而且定时时间由软件设置, CPU的利用率 提高了CPU的利用率,而且定时时间由软件设置,使用十分灵 加上定时时间精确,使用十分广泛。 活,加上定时时间精确,使用十分广泛。
可编程定时器/计数器8253
8253可编程定时器 计数器的主要性能: 可编程定时器/计数器的主要性能 可编程定时器 计数器的主要性能: 个独立的16位计数器 有3个独立的 位计数器 个独立的 工作方式可编程控制 计数脉冲频率0~2MHz 计数脉冲频率 可以按二进制或BCD码计数 可以按二进制或BCD码计数 使用单一+5V电源 电源 使用单一

8253、8255应用举例

8253、8255应用举例

8255应用举例
8255A在IBM PC/XT上的应用
1.打印机接口的信号与时序 主机把数据送给引脚DATA0~DATA7 同时送出数据选通信号STROBE* 打印机在BUSY信号线上发出忙信号 打印机处理好输入的数据时 撤消忙信号 同时又送出一个响应信号ACK*
2.用8255A方式0与打印机接口
;从PC7送出控制低脉冲 ;置STROBE*=0 ;产生一定宽度的低电平 ;置=1 ;最终,STROBE*产生低脉 冲信号
;打印子程序:返回 pop dx pop ax ret printc endp
3.用8255A方式1与打印机接口
8255A方式1与打印机接口时序配合
8255A的初始化 mov dx,0f003h mov al,0a0h out dx,al mov al,0ch out dx,al …… mov cx,counter mov bx,offset buffer call prints ;打印子程序:输出 prints proc push ax push dx print1: mov al,[bx] mov dx,0f000h out dx,al
;检测(PC7)为1否? ;为0,说明打印机没有响应,继续检测 ;为1,说明打印机已接受数据 ;准备取下一个数据输出 ;打印结束,恢复寄存器 ;返回
;使INTEA(PC6)为0,禁止中断
;打印字节数送CX ;取字符串首地址 ;调用打印子程序
;保护寄存器ov dx,0f002h print2: in al,dx test al,80h jz print2 ;打印子程序:返回 inc bx loop print1 pop dx pop ax ret prints endp
扬声器开 speakon

8253定时功能的应用例子

8253定时功能的应用例子
8253最大初值65536clk2mhz可实现最大时间间隔6553621032769ms所以需要两个计数器串联一个计数器的输出作为另一个计数器的输入五8253的应用以2mhz输入8253实现每5秒定时中断设8253端口地址40h43h分析
8.2.1 8253定时功能的应用例子 1、用8253产生各种定时波形 在某个以8086为CPU的系统中使用了一块8253芯片,通道
的基地址为310H,所用的时钟脉冲频率为1MHZ,要求三个计
数通道分别完成: (1)通道0工作于方式3,输出频率为2KHZ的方波; (2) 通道1产生宽度为480µ s的单脉冲; (3)通道2用硬件方式触发,输出单脉冲,时间常数为26。
图8.11 8253定时波形产生电路
各通道时间常数确定 通道0:=1MHZ/2KHZ=500 通道1:=480US/1US=480 通道2:=26
五、8253的应用
3. 以2MHz输入8253,实现每5秒定时中断(设8253端口地址 40H~43H) 分析:8253最大初值65536,CLK=2MHz可实现最大时间间隔
65536/(2106)=32.769ms
所以需要两个计数器串联,一个计数器的输出作为另一个计数 器的输入
五、8253的应用
AL, 04H
;写低8位
0F2H, AL
;写高8位
8253应用讲解
五、8253的应用
3. 以2MHz输入8253,实现每5秒定时中断(设8253端口地址 40H~43H) 分析:8253最大初值65536,CLK=2MHz可实现最大时间间隔
65536/(2106)=32.769ms
所以需要两个计数器串联,一个计数器的输出作为另一个计数 器的输入
MOV AL,80H OUT 83H,AL

微机原理课_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应用(键盘演奏音乐程序)PC 机中,8253 定时器2,工作于方式3(输出方波),输入频率fin 、输出频率fout 及计数初值之间的关系: f o u tf i n 初值 (fin=1193200 =1234F0H ),(也可用533H*896H=123280H ) 例如:给定fout 在DI 寄存器中,DX 和AX 存放1.1932MHz 的十六进制值1234F0H ,则产生 fout 输出的计数初值的程序段:(初值存于AX 中)MOV DX, 12HMOV AX, 34F0H ; DX 和AX 存放 finDIV DI ;DI 存放fout 结果在AX 中10ms 秒软件延时程序: MOV CX , 2801DELAY : LOOP DELAY要得到10ms 秒的整数倍时间,可在BX 寄存器中放入倍数控制外循环次数,如产生1秒的程序: MOV BX, 100W AIT : MOV CX , 2801DELAY : LOOP DELAYDEC BXJNZ WAITdata segmentfreq dw 262,294,330,349,392l,440,494data endscode segmentassume ds:data, cs:codemain proc farstart : push dsmov ax,0push axmov ax,datamov ds,axmov al,10110111h ;8253定时器2初始化out 43h, alin al,61h ;读pb 口or al,03hout 61h,al ;pb0, pb1=’1’, 打开声音again : mov ah, 1 ;dos 功能调用,键盘输入并回显int 21h ;按键(键入的ascii 码值在al 中) cmp al,1bh ; ‘Esc ’退出jz exitlea si, freqand ax,0fh ;ax 中得到按键值1~7。

8253工作方式以及应用举例

8253工作方式以及应用举例

第27课 8253工作方式以及应用举例8253的六种工作方式,8253的实际应用举例。

本课主题:教学目的:掌握8253六种工作方式的特点以及使用方法,通过实际应用举例强化8253的使用方法。

教学重点:8253的硬件连接和软件初始化方法。

教学难点:8253的在系统中的应用。

授课内容:8253的每个通道都有6种不同的工作方式,下面分别进行介绍。

1.方式0--计数结束中断方式(Interrupt on Terminal Count)2.方式1--可编程单稳态输出方式(Programmable One-short)3.方式2--比率发生器(Rate Generator)4.方式3--方波发生器(Square Wave Generator)5.方式4--软件触发选通(Software Triggered Strobe)6.方式5--硬件触发选通(Hardware Triggered Strobe)由上面的讨论可知,6种工作方式各有特点,因而适用的场合也不一样。

现将各种方式的主要特点概括如下:对于方式0,在写入控制字后,输出端即变低,计数结束后,输出端由低变高,常用该输出信号作为中断源。

其余5种方式写入控制字后,输出均变高。

方式0可用来实现定时或对外部事件进行计数。

方式1用来产生单脉冲。

方式2用来产生序列负脉冲,每个负脉冲的宽度与CLK脉冲的周期相同。

方式3用于产生连续的方波。

方式2和方式3都实现对时钟脉冲进行n分频。

方式4和方式5的波形相同,都在计数器回0后,从OUT端输出一个负脉冲,其宽度等于一个时钟周期。

但方式4由软件(设置计数值)触发计数,而方式5由硬件(门控信号GATE)触发计数。

这6种工作方式中,方式0、1和4,计数初值装进计数器后,仅一次有效。

如果要通道再次按此方式工作,必须重新装入计数值。

对于方式2、3和5,在减1计数到0值后,8253会自动将计数值重装进计数器。

8.2 8253的应用举例一、8253定时功能的应用例子1(用8253产生各种定时波形在某个以8086为CPU的系统中使用了一块8253芯片,通道的基地址为310H,所用的时钟脉冲频率为1MHz。

8253的工作方式

8253的工作方式

方式1波形
方式2——频率发生器(分频器)

方式2是把输入的时钟频率进行n分频,得 到新的频率输出。n就是设定的计数初值。 当控制字写入后,输出端OUT以高电平为 初始状态并保持,当写入初值后开始计数。 当计数到1(注意不是减到0)时,OUT变 低,经过一个CLK周期,OUT恢复为高, 计数值重新装入,又开始一个新的计数过 程。方式2计数过程可以周而复始地进行, OUT输出一个连续的(n-1):1的周期性脉冲。
方式2波形
方式3——方波频率发生器

方式3类似于方式2,都是只需一次写入计 数初值,就可以连续输出周期性信号。不 同的是方式3输出的是一个方波频率。对于 计数初值为n,OUT端输出n个CLK周期的 方波频率。N为偶数时,OUT为高低电平持 续时间相等的标准方波;当n为奇数时,则 高电平持续(n+1)/2个CLK周期,而低 电平持续(n-1) ∕2个CLK周期,为近似方波。
8253的工作方式

8253有六种工作方式,3个计数器都可以分 别按照各自设置的方式独立工作。
ቤተ መጻሕፍቲ ባይዱ
方式0——计数结束产生中断
当设定为工作方式0时,输出端OUT变为低电平 并保持,GATE为高电平开始计数,当计数到达0 时,OUT变为高电平,并一直保持,除非计数器 被重新初始化,或被写入新的计数值。应用中, 常利用OUT由低电平变为高电平做中断请求信号, 所以方式0称为计数结束产生中断方式。 若在减1计数期间,GATE由高变低,则计数暂停, 直到GATE恢复为高,减1计数继续,若在减1计 数期间,写入新的计数初值,则按新的初值重新 计数。
方式4波形
方式4波形
方式5——硬件触发的选通信号发生器

方式5与方式4 相似,不同的是GATE的触 发条件。方式5的计数过程由GATE的上升 沿触发(硬件触发),硬件触发一次计数 一次,所以被称为硬件触发的选通信号发 生器。

第8章:定时计数器8253

第8章:定时计数器8253

一、内部结构
8253定时/计数器的工作原理 定时/计数器的核心部件为可预置初值计数器。 预置初值后开始计数,CLK信号每输入一个脉冲, 计数值减1,一直减到0,并且OUT脚同时产定时器 的容量即位数
GATE门控 信号 计数脉冲 CLK 输入
可预置初值计数器
允许 允许 ——
三、设置工作方式和计数值 对8253设置工作方式和设置计数值是连续 进行的。 步骤是:

1、对控制端口写:设置工作方式及计数值格式 2、对计数端口写:计数值低8位(可选) 3、对计数端口写:计数值高8位(可选)

控制字格式:
D7 SC1

D6 SC0
D5 RL1
D4 RL0
D3 M2
OUT 输出
计数初值

说明: 1、每个计数器各有三根I/O线 CLK:时钟信号输入 OUT:计数器输出 GATE:门控信号,用于启动或允许计数器工作
2、通过对控制寄存器写操作,来设置工作方式。 3、有A1A0两条地址线,在PC机中的端口地址是40H~43H。 A1 A0 端口 定义 0 0 40H 0#计数器 0 1 41H 1#计数器 1 0 42H 2#计数器 1 1 43H 控制寄存器
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位)
每次设置
方式 5
启动点
只设一次
启动方式的比较: 工作方式 方式 0 方式 1 启动方式 软件触发 硬件触发

8253举例

8253举例

•硬件连接 •控制字设置 •编程
光敏 电阻 驱 动 器
扬声器
0#计数器: 方式2;BCD计数;计数初值: 50
控制字 SC 0 1 SC 0 0 RW 0 1 RW 1 0 M 02 M 11 M 0 0 BCD 1 15H 1#计数器: 方式3;BCD计数;计数初值: 2.5×106/2000 =1250 控制字 77H SC 01 SC 1 0 RW 1 1 RW 1 0 M 02 M 11 M 10 BCD 1
mov dx, 305h
in al, dx cmp al, 0ffh jne l hlt
8253工作方式小结
1.与频率发生器有关的工作方式 方式2——提供负脉冲 方式3——提供方波 2.与计数器有关的工作方式 软件启动方式(GATE始终保持高电平) 方式0、方式4 硬件启动方式(GATE发生跳变时,触发计数器) 方式1、方式5
12
3. 8253计数通道的级联应用
例3
已知某8253占用I/O空间地址为320H~323H, 如下图所示,输入其 CKL1 端的脉冲频率为 1MHz, 要求用8253连续产生10秒的定时信号。 分析:8253的一个通道的最大计数范围为65536,本例 中要求输出10秒定时信号,则计数初值N=10/10-6=107, 超过了8253一个通道的最大计数值,此时可以使用2个 8253通道级连方式来实现。若级连前2个通道的初值为 N1和N2,则级连后作为一个整体的计数值为N=N1×N2。
4
总结性应用举例
1. 8253定时功能的应用
在计算机应用中,经常会遇到隔一定时间重复某一 个动作的应用。
例1
设某应用系统中,系统提供一个频率为10kHz的时 钟信号,要求每隔100ms采集一次数据。

8253的工作原理及应用

8253的工作原理及应用

8253的工作原理及应用一、工作原理8253是一种常见的计时/计数芯片,它能够完成各种定时和计数功能。

它采用了三个计数器,分别为计数器0、计数器1和计数器2。

每个计数器可以独立工作,同时也可以与其他计数器进行协同工作。

具体的工作原理如下:1.计数器的基本工作原理是将外部时钟信号分频后输出,根据计数器的工作模式,可以输出不同的周期信号。

2.8253有三个计数器,计数器0可以设置工作模式,计数器1和计数器2可以由计数器0通过控制字来选择工作模式。

3.通过控制字可以设置计数器的工作模式,比如设置为定时器工作模式、内部触发工作模式、软件触发工作模式等等。

4.计数器工作的时候,是通过输入控制字来设置计数器的初始值,然后按照设定的模式进行计数,当计数到达设定的值时,会触发相应的事件,例如输出一个脉冲信号或者产生一个中断。

二、应用领域8253芯片在计算机系统中有广泛的应用,主要包括以下几个方面:1.定时器功能:8253芯片可以实现定时器的功能,通过改变控制字设置的工作模式和初始值,可以产生定时脉冲信号,精确地控制计时间隔。

这在操作系统中非常常见,可以用于定时器中断、延时等。

此外,它还可以用于工业自动化领域中的精确控制和同步任务。

2.计数器功能:8253芯片也可以作为计数器使用。

例如,在测量系统中,可以通过外部输入信号的脉冲数量来进行计数,并配合计时功能实现测量和统计。

3.PWM信号生成:8253芯片可以实现PWM(脉宽调制)信号的生成。

通过改变初始值和周期,可以控制PWM信号的占空比,实现对电机速度、光强等参数的控制。

4.音频处理:8253芯片中的计数器可以用于实现音频处理。

通过设定计数器的频率,可以控制音频信号的采样率,从而实现音频的录制和播放。

5.高速脉冲生成:8253芯片可以产生高速脉冲,用于直流电机控制、步进电机控制等应用场景中。

三、优势与不足8253芯片具有以下几个优点:•多功能性:8253芯片具有丰富的工作模式,可以根据不同的需求灵活地配置和应用。

8253举例解析

8253举例解析

12
3. 8253计数通道的级联应用
例3
已知某8253占用I/O空间地址为320H~323H, 如下图所示,输入其 CKL1 端的脉冲频率为 1MHz, 要求用8253连续产生10秒的定时信号。 分析:8253的一个通道的最大计数范围为65536,本例 中要求输出10秒定时信号,则计数初值N=10/10-6=107, 超过了8253一个通道的最大计数值,此时可以使用2个 8253通道级连方式来实现。若级连前2个通道的初值为 N1和N2,则级连后作为一个整体的计数值为N=N1×N2。
10
A0 A1 外部事件产生
A3~A9
译码 电路
8253用于外部事件的计数
11
根据要求,可以选择方式0来实现,计数初值N=100。 8253初始化程序段如下:
MOV DX,203H MOV AL,10H OUT DX,AL MOV DX,200H MOV AL,64H OUT DX,AL ;设置计数器通道0的地址 ;计数初值为100 ;设置方式控制字地址 ;设定通道0为工作方式0,二进制计数,只写入 ;低字节计数值
mov al,BYTEH out dx,al
1
编程命令
例1:选择2号计数器,工作在3方式,计数初值为 533H,采用二进制计数,其初始化程序为:
mov dx,307h out dx,al mov dx,306h mov ax,533h out dx,al mov al,ah out dx,al
;设置方式控制字 方波发生器 ;设置计数初值 ;计数初值为533H ;先送低字节 ;后送高字节
断,CPU在中断服务程序中完成数据采集,同时按
原设定值重新开始计数,实现了计数值的自动重装。
7
(2) 确定计数初值

8253应用举例

8253应用举例

5
思路:用8253的计数通道1作为计数器,用于24个罐的 计数;计数通道2作为定时器,定时为4S。当计数通道 1的OUT脚出现0到1的跳变的时候,将启动计数通道2 开始定时,而计数通道2定时阶段将控制计数通道1停 止计数,只有其定时结束并停止定时阶段才可再次启 动计数通道1开始计数。 • 计数通道1工作在方式 D0~D7 CLK0 2,计数初值24 GATE0 RD • 计数通道2工作在方式 OUT0 1,计数初值8000 WR 流水线信号 CLK1 CS GATE1 A1 OUT1 A0 fCLK CLK2 GATE2 控制流水线停 OUT 和运行的信号 6 2
2、电路
1MHz 8253通道0 1KHz 8253通道1 OUT0 CLK0 OUT1 CLK1 GATE0 GATE1 +5V
3、工作方式选择
由于通道1要输出方波信号推动发光二极管,所 以通道1应选工作方式3。对于通道0,只要能起分 频作用就行,对输出波形不做要求,所以方式2和 方式3都可以选用。 这样对于通道0,我们取工作方式2,BCD计数; 对于通道1,我们取工作方式3,二进制计数(当 然也可选BCD计数)
1S 1000000 S N 1000000 1 S 1 S
由于8253一个通道最大的计数值是65536,所以 对于N=1000000这样的大数,一个通道是不可能完 成上述分频要求的。由于
N 1000000 1000 1000 N1 N2
即取两个计数器,采用级联方式。
1.分频器设计
8253应用举例
用8253(地址40H~43H)将5MHz的脉冲变为1Hz的脉冲。 初值=fCLK/fOUT=5×106>65536,怎么办? 需要2个T/C级联,T/C0采用方式3产生连续分频方波, 做T/C1的CLK,T/C1 采用方式2产生1Hz脉冲。两个 T/C的GATE统一控制。 MOV AL,00110111B;T/C0

8253工作方式应用

8253工作方式应用

实验四8253工作方式应用【实验目的】1. 熟悉8253定时器/计数器的工作方式2. (选做)会用8259中断控制器的应用编程【实验内容】1.对8253的工作方式逐一实验,通过观察输出端的状态变化(可以连接一个发光管观察),进一步熟悉6种工作方式。

2.让8253工作于方式3,产生的方波信号在发光二极管上观察。

改变输入的CLK的脉冲频率,重复之前动作。

3.将8253的工作方式一输出的信号作为8259的中断输入端,做计时间到,由8255驱动,将试验箱左下角的开关量k1~k8的值读入,相应的值在试验箱右上角的L1~L8的二极管灯亮。

结束程序。

【实验原理】1.8253工作方式2.8259应用编程3.8255应用【实验步骤】硬件连线(1)8253的GATE0 接+5V插孔;(2)8253的CLK0接T2插孔,时钟频率2MHz;(3)8253的CS3接EX0;(4)分频电路的T插孔连8MHz插孔;实验步骤1.按硬件原理图连好线路;2.运行试验程序;“P”状态秀下,先输入F000按下F1键,再输入9180,按EXEC键;3.用示波器观察OUT0插孔的输出方波,或用直流电压表测得OUT0输出电压2.5V。

4.编写实验程序。

CODE SEGMENTASSUME CS:CODETCONT EQU 0043HTCON0 EQU 0040HORG 9180HSTART:JMP T8253T8253:MOV DX,TCONTROMOV AL,36HOUT DX,ALMOV DX,TCON0MOV AL,00HOUT DX,AL【实验结果】硬件连接完成后,观察输出端的灯闪状态变化,有快有慢。

【实验心得体会】在本次实验中,我熟悉了8253定时器/计数器的工作方式,通过对程序和硬件的研究了解8253的6种工作方式及其各种方式的功能和区别,并学会去运用,亲自动手操作,中间出现了各种错误,但在老师的讲解和自己的反复实践中,得出了实验结果,收获挺多。

8253定时器工作方式

8253定时器工作方式

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

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

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

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

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

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

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

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

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

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

实验二 定时计数器8253工作方式

实验二 定时计数器8253工作方式

实验二定时/计数器8253工作方式一、实验目的1.熟悉8253在系统中的典型接法2.掌握8253的工作方式及应用编程二、实验设备Dais-8086H 教学实验系统1台仿真示波器1台三、实验内容及步骤8253是一种可编程定时/计数器,有3个16位计数器,其计数频率范围为0~2MHz,用+5V单电源供电。

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

四、程序流程四、实验电路五、实验步骤(1)按实验电路图连接线路:①8253的GATE0接+5V。

②8253的CLK0插孔接分频器74LS393的T2插孔,分频器的频率源为:4.9152MHZ。

③按照实验一中3.3的实验步骤②要求连接138译码电路,8253的CS孔与138译码器的Y0孔相连。

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

(2)运行实验程序在系统处于命令提示符“P.”状态下,输入3490,按EXEC键。

或从PC机发运行命令。

(3)用示波器测量8253的OUT0输出插孔有方波产生,仿真示波器查看CH1波形。

(4)按复位键RESET 返回“P.”六、实验程序CODE SEGMENTASSUME CS:CODE,DS:CODE,ES:CODE ORG 3490HH9: 。

JMP $ CODE ENDS END H9七、实验思考1. 为什么8253的方式3可以产生方波?2. 8253的CS 孔与138译码器的Y0孔相连,其作用是什么?扩展实验: 定时/计数器:8253方波(二)一、实验目的⑴ 掌握8253定时器/计数器的工作方式和编程原理。

8253的工作方式

8253的工作方式

8253的工作方式1.方式0 计数结束产生中断8253用作计数器时一般工作在方式0。

所谓计数结束产生中断,是指在计数值减到0时,输出端(OUT)产生的输出信号可作为中断申请信号,要求CPU进行相应的处理。

方式0有如下特点:① 当控制字写进控制字寄存器确定了方式0时,计数器的输出(OUT端口)保持低电平,一直保持到计数值减到0。

② 计数初值装入计数器之后,在门控GATE信号为高电平时计数器开始减1计数。

当计数器减到0时输出端OUT才由低变高,此高电平输出一直保持到该计数器装入新的计数值或再次写入方式0控制字为止。

若要使用中断,可以计数到0的输出信号向CPU发出中断请求,申请中断。

③ GATE为计数控制门,方式0的计数过程可由GATE控制暂停,即GATE=1时,允许计数;GATE=0时,停止计数。

GATE 信号的变化不影响输出OUT端口的状态。

④ 计数过程中,可重新装入计数初值。

如果在计数过程中,重新写入某一计数初值,则在写完新计数值后,计数器将从该值重新开始作减1计数。

2.方式1 可编程的单拍负脉冲可编程的单拍负脉冲又称为单稳态输出方式,简称单稳定时。

方式1的特点是:① CPU写入控制字后,计数器输出OUT端为高电平作为起始电平,在写入计数值后计数器并不开始计数(不管此时GATE 是高电平还是低电平),而要由外部门控GATE脉冲上升沿启动,并在上升沿之后的下一个CLK输入脉冲的下降沿开始计数。

② GATE上升沿启动计数的同时,使输出OUT变低,每来一个计数脉冲,计数器作减一计数,直到计数减为 0时,OUT 输出端再变为高电平。

OUT端输出的单拍负脉冲的宽度为计数初值乘以CLK端脉冲周期。

设计数初值为N,则单拍脉冲宽度为N个CLK时钟脉冲周期。

③ 如果在计数器未减到0时,GATE又来一触发脉冲,则由下一个时钟脉冲开始,计数器将从初始值重新作减1计数。

当减至0时,输出端又变为高电平。

这样,使输出脉冲宽度延长。

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

第27课 8253工作方式以及应用举例
8253的六种工作方式,8253的实际应用举例。

本课主题:
教学目的:掌握8253六种工作方式的特点以及使用方法,通过实际应用举例强化8253的使用方法。

教学重点:8253的硬件连接和软件初始化方法。

教学难点:8253的在系统中的应用。

授课内容:
8253的每个通道都有6种不同的工作方式,下面分别进行介绍。

1.方式0--计数结束中断方式(Interrupt on Terminal Count)
2.方式1--可编程单稳态输出方式(Programmable One-short)
3.方式2--比率发生器(Rate Generator)
4.方式3--方波发生器(Square Wave Generator)
5.方式4--软件触发选通(Software Triggered Strobe)
6.方式5--硬件触发选通(Hardware Triggered Strobe)
由上面的讨论可知,6种工作方式各有特点,因而适用的场合也不一样。

现将各种方式的主要特点概括如下:
对于方式0,在写入控制字后,输出端即变低,计数结束后,输出端由低变高,常用该输出信号作为中断源。

其余5种方式写入控制字后,输出均变高。

方式0可用来实现定时或对外部事件进行计数。

方式1用来产生单脉冲。

方式2用来产生序列负脉冲,每个负脉冲的宽度与CLK脉冲的周期相同。

方式3用于产生连续的方波。

方式2和方式3都实现对时钟脉冲进行n分频。

方式4和方式5的波形相同,都在计数器回0后,从OUT端输出一个负脉冲,其宽度等于一个时钟周期。

但方式4由软件(设置计数值)触发计数,而方式5由硬件(门控信号GATE)触发计数。

这6种工作方式中,方式0、1和4,计数初值装进计数器后,仅一次有效。

如果要通道再次按此方式工作,必须重新装入计数值。

对于方式2、3和5,在减1计数到0值后,8253会自动将计数值重装进计数器。

8.2 8253的应用举例
一、8253定时功能的应用例子
1(用8253产生各种定时波形
在某个以8086为CPU的系统中使用了一块8253芯片,通道的基地址为310H,所用的时钟脉冲频率为1MHz。

要求3个计数通道分别完成以下功能:
(1)通道0工作于方式3,输出频率为2kHz的方波;
(2)通道l产生宽度为480us的单脉冲;
(3)通道2用硬件方式触发,输出单脉冲,时间常数为26。

2.控制LED的点亮或熄灭
用8253来控制一个LED发光二极管的点亮和熄灭的例子,要求点亮10秒钟后再让它熄灭10秒钟,并重复上述过程。

假设这是一个8086系统,8253的各端口地址为81H、83H、85H和87H。

二、8253计数功能的应用例子
1.硬件电路设计
2.初始化编程
MOV AL, 01110001B ;控制字
OUT 0F6H, AL
MOV AL, 99H
OUT 0F2H, AL ;计数值低字节送计数器1 MOV AL, 04H
OUT 0F2H, AL ;计数值高字节送计数器1 3.计数值的读取
在读计数器现行值时,计数过程仍在进行,而且不受CPU的控制。

因此,在CPU读取计数器的输出值时,可能计数器的输出正在发生改变,即数值不稳定,可能导致错误的读数。

为了防止这种情况发生,必须在读数前设法终止计数或将计数器输出端的现行值锁存。

这可以采用下面两种方法:
一种方法是在读数前用外部硬件切断计数脉冲信号,或者使门控信号变为低电平,迫使8253停止计数。

这种方法的缺点是需要硬件电路配合。

此外,由于外部事件源被切断或正常的计数过程被禁止,干扰了实际的计数过程。

因此,这不是一种好的方法,在我们这个例子里,就不宜采用这种读数方法。

另一种方法是先用计数器锁存命令锁存现行计数值,然后将它读出。

上例中,在要读取箱子中的现行工件数时,可执行下面的程序段:
MOV AL, 01000000B ;锁存计数器1命令
MOV DX, 0F6H ;控制口
OUT DX, AL ;发锁存命令
MOV DX, 0F2H ;计数器1
1N AL, DX ;读取计数器1的低8位数
MOV AH, AL ;保存低8位数
IN AL, DX ;读取计数器1的高8位数
XCHG AH, AL ;将计数值置于AX中
在计数器的锁存命令发出后,锁存的计数值将保持不变,直至被读出为止。

计数值从锁存器读出后,数值锁存状态即被自动解除,输出锁存器的值又将随计数器的值而变化。

4.8254的读回功能
当利用8254的读回(Read Back)命令功能,向8254的控制字寄存器写入一个读回命令字时,每次可锁存1,3个通道的计数值。

此外,利用8254的读回功能,还可锁存1,3个计数通道的状态字,供CPU读取。

8254的读回命令的格式如图所示:
用户通过读取状态信息,可核查所选中通道的计数值、工作方式、输出引脚OUT的现行状态及计数器是否已写入计数通道等信息。

状态字的格式如图所示:。

相关文档
最新文档