8253的工作方式解析.docx

上传人:b****9 文档编号:25234202 上传时间:2023-06-06 格式:DOCX 页数:14 大小:378.31KB
下载 相关 举报
8253的工作方式解析.docx_第1页
第1页 / 共14页
8253的工作方式解析.docx_第2页
第2页 / 共14页
8253的工作方式解析.docx_第3页
第3页 / 共14页
8253的工作方式解析.docx_第4页
第4页 / 共14页
8253的工作方式解析.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

8253的工作方式解析.docx

《8253的工作方式解析.docx》由会员分享,可在线阅读,更多相关《8253的工作方式解析.docx(14页珍藏版)》请在冰豆网上搜索。

8253的工作方式解析.docx

8253的工作方式解析

 

8253的工作方式

1.

方式0计数结束产生中断

断,是指在计数值减到0时,输出端(OUT产生的输出信

可作为中断申请信号,要求CPU进行相应的处理。

方式0

有如下特点:

1当控制字写进控制字寄存器确定了方式0时,计数器的

输出(OUT端口)保持低电平,一直保持到计数值减

2计数初值装入计数器之后,在门控GATE言号为高电平时

计数器开始减1计数。

当计数器减到0时输出端OUT才由低

变高,此高电平输出一直保持到该计数器装入新的计数值或

再次写入方式0控制字为止。

若要使用中断,可以计数到0

的输出信号向CPU发出中断请求,申请中断。

③GATE为计数控制门,方式0的计数过程可由GATE空制暂

停,即GATE=1时,允许计数;GATE=0寸,停止计数。

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

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

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

2.方式1可编程的单拍负脉冲

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

方式1的特点是:

1

CPU写入控制字后,计数器输出OUT端为高电平作为起始

 

始计数。

 

个计数脉冲,计数器作减一计数,直到计数减为0时,OUT

输出端再变为高电平。

OUT端输出的单拍负脉冲的宽度为计

数初值乘以CLK端脉冲周期。

设计数初值为N则单拍脉冲

宽度为N个CLK时钟脉冲周期。

3

如果在计数器未减到0时,GATE又来一触发脉冲,则由

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

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

3.方式2分频脉冲发生器

方式2是一种具有自动予置计数初值N的脉冲发生器。

从OUT

号,

端可以输出连续脉冲信号,脉冲宽度等于时钟脉冲周期,而计数初值N决定了输出端两个负脉冲之间的宽度即输出脉冲周期。

方式2也叫N分频器,因为输出脉冲为输入脉冲的N

分频,即出现N个输入脉冲才输出一个脉冲。

方式2有如下

特点:

①N分频计数器,这种方式是输出对输入脉冲按计数器计数初值N分频后的连续脉冲。

2当CPU写入控制字后OUT端输出为高电平作为起始电平,

在写入计数值N后将立即自动开始对输入脉冲CLK计数,输

出端仍一直为高;当计数器减到1时,输出变低,计数器减

到0时又变为高,计数器重新按已写入的计数值N继续计

数,周而复始,在OUT端输出一个N分频脉冲,其正脉搏冲

冲周期。

3GATE用于控制计数,GATE=1允许计数;GATE=0停止计数。

因此,可以用GATE来使计数器同步

4在方式2下,不但高电平的门控信号有效,上升跳变的门信号也是有效的。

4.方式3分频方波发生器

方式3的特点是:

①方式3常用于波特率发生器。

方式3和方式2类似。

输出为方波或近似方波的矩形波。

2写入方式3控制字后输出为高电平。

写入计数值后计数器自动开始对输入CLK脉冲计数,输出OUT仍保持为高;在

计数完成一半时,输出OUT变为低电平,直到计数器全部完

成,输出OUT又变为高电平,并重复上述计数过程

3若计数值N为偶数时,OUT方波的占空比为1:

1;若N为奇数,其占空比为:

(N+1)/2:

(N-1)/2[即输出分频

波高电平宽度为(N+1)/2CLK周期,低电平周期为(N-1)/2CLK周期]。

5.方式4软件触发选通脉冲发生器

方式4是类似于方式0的工作方式,计数器是靠置入新的计数初值这个软件操作来触发计数器工作的,故称为软件触发。

方式4有如下特点:

①方式4是靠写入计数值来进行软件触发的“一次性有

效”的选通脉冲发生器。

写入控制字后输出端OUT变为高,

并一直保持。

在写入计数初值之后开始计数,当计数到输出端OUT变为低,维持一个CLK周期后又恢复为高,并

直保持为高,直到再次写入计数来进行“软件触发”才能

再次开始。

若GATE=1允许计数;GATE=0停止计数。

方式4的负脉冲输出常作为选通脉冲。

 

方式5有如下特点:

①方式5类似于方式4,所不同的是GATE端输入信号的作

 

后才发生的。

②方式5是靠门控脉冲GATE的上升沿来进行触发的选通脉

冲发生器。

写入控制字后输出端OUT为高,这是初始电平;

 

时钟周期后又恢复为高,并一直保持,直到下次门控脉冲触

发再次开始计数。

信号的上升沿到来,将把计数初值重新送入计数器,然后开始计数过程。

8253的控制字

D?

DeD』mDaDaDiDo

SCiSCoJmIM2MlMdIBCD

>k>Vi丿I

foo:

—Joi:

10:

11:

1:

BCD计数

0:

2进制计数

000:

方式0

001:

方式1

JX10:

方式2)Xlb方式3100:

方式4计数器锁存,供CPU读101:

方式戈只读/写计数器低字节只读/写计数器高字节

先读/写计数器低字节,后读f写高字节

'00;选择通道0,01=选择通道1■10:

选择通道2

11;无效

8253的控制字

 

道各有一个8位的控制字寄存器,而这三个控制字寄存器共

用同一个控制端口地址,所以控制字中设置SC1,SCo这两

位来确定CPU当前发出的控制字是写入哪个计数通道的控

制字寄存器中。

具体选择如图

 

计数通道进行读/写操作方式。

当CPU对8253进行16位读

/写操作时,可以只读/写高8位或只读/写低8位,也可以读/

写16位。

读/写16位时,先读/写低8位,后读/写高8位,

具体是哪种操作方式由RL1,RLo这两位的编码确定。

由于8253的数据线只有(D7〜Do),一次只能传送8位数据,故

传送16位数据时,要分两次进行。

种不同的工作方式,即方式0到方式5,M2M1M0这三类就

是用来选择具体的工作方式,具体选择如图。

 

用来具体确定采用哪种计数方式。

 

个字节)采用二进制计数,则其控制字为:

01110110=76H,

设控制口地址为043H,则将该控制字写入控制字寄存器的

指令如下:

MOVAL,076H

OUT043H,AL

•8253的初始化编程内容:

一是首先向控制寄存器写入控

制字,以选定计数通道(三个中之一),规定该计数的工作

 

初值。

8253初始化的要求:

为计数器的读/写格式由它的控制字决定。

(2)计数值必须按控制字所规定的格式写入。

若控制字规

定只写8位,只需写入一次(8位)计数值即可(规定写低

8位则高8位自动置0,规定写高8位则低8位自动置0);

规定写16位时必须写两次,先写低8位,后写高8位。

当初

值为0时,也要分两写入,因在二进制计数时,“0”表示65336,在BCD码计数时“0”表示10000=104。

(3)对所有方式计数器都可以在计数过程中或计数结束后

改变计数值,重写计数值也必须遵守控制字所规定的格式,

并且不会改变当前计数器的工作方式。

 

值寄存器中,并由写操作之后的下一个CLK脉冲将计数值寄存器的内容装入减1计数器开始计数。

(5)初始化编程必须明确各个计数器的控制字和计数值不

是写到同一个地址单元。

各个计数器的控制字各自独立确

定,但它们都写入同一个端口地址(控制字寄存器)中

 

的相应寄存器中。

 

062H和064H,控制口地址为066H,要求计数器0为方式1,

按BCD计数;计数初值为1800D,计数器1为方式0,按进制计数;计数初值为1234H,计数器2为方式3,按二进

制计数;当计数初值为065H时,试分别写出计数器0,1,2的初始化程序。

计数器0的初始化:

计数0的控制字:

00100011B=23H

MOVAL23H;计数器0的控制字

OUT066H,AL;控制字写入8253的控制器

MOVAL18H;取计数初值的高8位,低8位00可不送

OUT060HAL;计数初值送计数器0端口

计数器1和初始化:

计数器1的控制字:

01110000B=70H

MOVAL70H;计数器的控制字:

方式0,送高8位和低8

位,二进制计数

 

计数器2的初始化:

计数器2的控制字:

10010110B=96H

MOVAL96H;计数器2的控制字96H:

方式3,只送低8

位,二进制计数

 

例2:

要求读出计数器2的当前计数值,并检查是否为全

“1”。

8253在读取计数器的当前计数值时,必须分两步进行。

 

锁存到输出锁存器中。

第二步执行读操作,即用IN指令将

锁存器中内容读入CPU

 

066H,计数器2的口地址为064H):

KEEPMOVAL80H;计数器2的锁存命令

OUT066HAL;锁存命令写入控制寄存器

INAL,064H;读输出锁存器中的当前计数值

1”

端口读)

CMPAL0FFH;比较当前计数值是否为全“

JMEKEEP;非全“1”继续读

HLT;为全“1”暂停

•8253的应用举例

率为200kHz,试编写8253的初始化程序。

(1)计数初值N计算

已知输入时钟CLK频率为200kHz,则时钟周期为

T=1/f=1/200kHz=5卩s,于是计数初值N为:

N=5ms/T=5ms/5as=1000。

(2)确定控制字

按题意选计数器1,按BCD码计数,工作于方式0,由于计

数初值N=1000,控制字C5C4应为11,于是8253的控制字为:

01110001B=71H。

(3)选择8253各端口地址

 

(4)初始化程序如下

MOVAL,71H;控制字

MOVDX3F68H;控制

口地址

OUTDXAL;控制字送

8253控制寄存器

 

器1端口地址

 

值N=1000的低8位写入计数器1

 

8位写入计数器1

例2:

以8086为CPU的某微机系统中使用了一块8253芯片,

其通道端口地址为308H,30AH,30CH控制口地址为30EH

3个通道使用同一输入时钟,频率为2MHz要求完成如下功

厶匕

冃能:

利用计数器0采用硬件触发,输出宽度等于时钟周期的单脉冲,定时常数为36H;

利用计数器1输出频率为2kHz的对称方波;

利用计数器2产生宽度为0.6ms的单脉冲,

试设计该定时系统硬件电路和初始化程序。

(1)硬件电路设计

的连接。

根据给定的端口地址可知,地址总线低位部分的

氏〜A分别为:

AA3=11,A7〜A4=OOOO,AAA=100〜111,A0=0,

由它们经译码器译码产生8253的片选信号,8253的数据线D7〜DO必须与系统数据总线的低8位相连,8253的端口

的选择信号A1A0应连系统地址的A2A1。

根据上述要求,译码器应选3-8译码器74LS138。

该译码器有3个代码输入端(CB,A),输入3位代码决定译码信号从丫0〜丫7中哪

个输出,本例中显然应以丫2输出。

(2)初始化编程

根据题意要求,对3个通道的工作方式,计数初值确定如下:

由CLK〜CLK2=2MHz可得,时钟周期T=1/f=1/2MHz=0.5卩s。

选计数器0:

选择方式5,门控信号GATE应接一正跳变信号,

OUT端当计数为0时产生一个宽度等于时钟周期的单脉冲。

计数系数为36,用BCD计数。

所以,计数器0的控制字应

为00011011B=1BH

选计数器1:

选择方式3,GATE按+5V,CLK1=2MHZ俞出方波

频率为2kHz,所以,计数常数Ni=2MHz/2kHz=1000,采用BCD

 

选计数器2:

选择方式1,以构成一个单稳态电路,输出脉冲宽度由计数常数N2决定,计数常数

N2=600卩s/0.5卩s=1200,采用BCD计数,于是计数器2

的控制字为:

10110011B=B3H根据以上分析可得3个计数通道的初始化程序如下。

计数通道0的初始化程序:

 

低8位,方式5,BCD计数

 

OUTDX,

AL;控制字写入控制口

MOVDX

308H;计数器0的端口地址

MOVAL,

036H;计数初值的低8位

 

计数通道1的初始化程序:

MOVDX

30EH;8253的控制口地址

MOVAL,

77H;计数通道1的控制字,

先写低字节,后写高字节,方式

3,

BCD计数

OUTDX,

MOVDX

MOVAL,

OUTDX

MOVAL,

OUTDX

计数通道2的初始化程序

MOVDX

MOVAL,

先写低字节,后写高字节,方式

OUTDX,

MOVDX

MOVAL,

OUTDX,

MOVAL,

计数通道2初始化程序:

AL;

30AH

控制字写入控制口

;计数通道1的端口地

00H;计数初值的低字节

AL;低字节写入计数通道1

10D;计数初值的高字节

AL;高字节写入计数通道1

30EH;8253的控制口地址

B3H;计数通道2的控制字,

1,BCD计数

AL;控制字写入控制口

30CH;计数通道的端口地址

00H;计数初值的低字节

AL;低字节写入计数通道

12D;计数初值的高字节

 

入计数通道2

MOVAL,BOH;计数通道2的控制字

OUT05FH,AL;控制字写入控制器

MOVAL,068H;计数初值的低8位

OUT05DHAL;计数初值的低8位写

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1