8253的内部结构与工作方式
- 格式:doc
- 大小:109.00 KB
- 文档页数:13
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是一种通用计数器/定时器芯片,由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的内部结构由三个计数器模块组成,分别用于不同的定时和计数功能。
通过设置不同的模式和计数值,可以实现各种计时和频率发生的应用。
标签:82538253工作原理8253具有3个独立的计数通道,采用减1计数方式。
在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。
当计数脉冲是已知周期的时钟信号时,计数就成为定时。
一、8253内部结构8253芯片有24条引脚,封装在双列直插式陶瓷管壳内。
1.数据总线缓冲器数据总线缓冲器与系统总线连接,8位双向,与CPU交换信息的通道。
这是8253与CPU之间的数据接口,它由8位双向三态缓冲存储器构成,是CP U与8253之间交换信息的必经之路。
2.读/写控制读/写控制分别连接系统的IOR#和IOW#,由CPU控制着访问8253的内部通道。
接收CPU送入的读/写控制信号,并完成对芯片内部各功能部件的控制功能,因此,它实际上是8253芯片内部的控制器。
A1A0:端口选择信号,由CPU输入。
8253内部有3个独立的通道和一个控制字寄存器,它们构成8253芯片的4个端口,CPU可对3个通道进行读/写操作3对控制字寄存器进行写操作。
这4个端口地址由最低2位地址码A1A0来选择。
如表9.3.1所示。
3.通道选择(1) CS#——片选信号,由CPU输入,低电平有效,通常由端口地址的高位地址译码形成。
(2) RD#、WR#——读/写控制命令,由CPU输入,低电平有效。
RD#效时,CPU读取由A1A0所选定的通道内计数器的内容。
WR#有效时,CPU将计数值写入各个通道的计数器中,或者是将方式控制字写入控制字寄存器中。
CPU对8253的读/写操作如表9.3.2所示。
4.计数通道0~2每个计数通道内含1个16位的初值寄存器、减1计数器和1个16位的(输出)锁存器。
8253内部包含3个功能完全相同的通道,每个通道内部设有一个16位计数器,可进行二进制或十进制(BCD码)计数。
采用二进制计数时,最大计数值是FFFFH,采用BCD码计数时。
最大计数值是9999。
与此计数器相对应,每个通道内设有一个16位计数值锁存器。
河北专接本微机原理8253工作方式8253是一种三个定时/计数器的可编程计时器/计数器,主要用于计时、计数、频率测量等应用。
它的工作方式如下:
1.设置8253的计数模式:该模式确定计数器如何工作,如定时器模式、计数器模式、PWM模式等。
2.设置计数器初值:当计数器启动时,它会从预设的初值开始计数,计数值将减少或增大移位寄存器的值。
3.计数器工作:当8253启动计数器时,计数器会开始计数,直到计数器的值达到初始值。
在定时器模式下,计数器的值减少到0时会产生一个中断请求信号。
4.处理计数器的中断请求信号:当计数器的值减少到0时,它会发出一个中断请求信号,CPU会在下一次中断请求事件时响应,并执行中断服务程序。
5.重新设置计数器初值并继续工作:当计数器计数完毕后,可以重新设置计数器的初始值,并将其重新启动,以进行下一轮计数。
总之,8253的工作方式可以通过选择计数模式、设置计数器初值、处理中断请求、重新设置计数器来实现。
微型计算机原理与接口技术实验报告指导教师:姓名:学号:班级:一:实验时间:2014年11月25二:实验地点:2601号机房三:实验名称:认识8253/8254和8255芯片四:实验目的:通过对比,熟悉8253/8254和8255芯片的基本功能结构、工作方式及其工作原理。
五:实验内容及步骤:(一)8253/8254和8255芯片的基本功能结构(1)8253芯片的基本功能结构:8253芯片有24条引脚,封装在双列直插式陶瓷管壳内。
下图为:可编程定时器8253内部结构框图D0 ~ D7:8位数据线,用来传送控制字和计数初值CS*片选信号,低电平有效。
该信号有效说明系统选中该芯片,此时,CPU可以对本片8253进行读/写操作。
RD*读信号,低电平有效。
该信号有效时,表示CPU正在对8253的一个计数器进行读当前计数值的操作。
WR*写信号,低电平有效。
该信号有效时,表示CPU正在向8253的控制寄存器写入控制字或者向一个计数器写入计数初值。
A1 ~ A0:是用来对3 个计数器通道和控制寄存器进行寻址的引脚,由A1和A0的四种编码来选择四个端口之一。
(2)8254芯片的基本功能结构8254芯片主要由四部分组成:数据总线缓冲器数据总线缓冲器是一个三态、双向8位寄存器主要作用是与cpu进行数据交换,8位数据线D7~D0与CPU的系统数据总线连接,构成CPU和8254之间信息传送的通道,CPU通过数据总线缓冲器向8254写入控制命令、计数初始值或读取计数值。
读写逻辑读写逻辑是芯片的控制部分,编程人员通过控制信号的选择来选择芯片的工作方式。
读/写控制逻辑用来接收CPU系统总线的读、写控制信号和端口选择信号,用于控制8254内部寄存器的读/写操作。
控制字寄存器控制寄存器是一个只能写不能读的8位寄存器,系统通过指令将控制字写入控制寄存器,设定8254的不同工作方式。
计数器8254内部有三个结构完全相同而又相互独立的16位减“1”计数器,每个计数器有六种工作方式,各自可按照编程设定的方式工作。
8253芯片基本概述intel8253是NMOS工艺制成的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异,例如8253(2.6MHz),8253-5(5MHz)8253内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同。
每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。
每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。
每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。
执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的。
输出锁存器的值是通过程序设置的。
输出锁存器OL用来锁存计数执行部件CE的内容,从而使CPU可以对此进行读操作。
顺便提一下,CR、CE和OL都是16位寄存器,但是也可以作8位寄存器来用。
工作原理8253具有3个独立的计数通道,采用减1计数方式。
在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。
当计数脉冲是已知周期的时钟信号时,计数就成为定时。
一、8253内部结构8253芯片有24条引脚,封装在双列直插式陶瓷管壳内。
1.数据总线缓冲器数据总线缓冲器与系统总线连接,8位双向,与CPU交换信息的通道。
这是8253与CPU之间的数据接口,它由8位双向三态缓冲存储器构成,是CPU与8253之间交换信息的必经之路。
2.读/写控制读/写控制分别连接系统的IOR#和IOW#,由CPU控制着访问8253的内部通道。
接收CPU送入的读/写控制信号,并完成对芯片内部各功能部件的控制功能,因此,它实际上是8253芯片内部的控制器。
A1A0:端口选择信号,由CPU输入。
8253内部有3个独立的通道,加上控制字寄存器,构成8253芯片的4个端口,CPU可对3个通道进行读/写操作3对控制字寄存器进行写操作。
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时,输出端又变为高电平。
这样,使输出脉冲宽度延长。
8253的内部结构和工作方式
8253具有3个独立的计数通道,采纳减1计数方式。
在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。
当计数脉冲是已知周期的时钟信号时,计数就成为定时。
一、8253内部结构
8253芯片有24条引脚,封装在双列直插式陶瓷管壳内。
1.数据总线缓冲器
数据总线缓冲器与系统总线连接,8位双向,与CPU交换信息的通道。
这是8253与CPU之间的数据接口,它由8位双向三态缓冲存储器构成,是CPU与8253之间交换信息的必经之路。
2.读/写操纵
读/写操纵分不连接系统的IOR#和IOW#,由CPU操纵着访问8253的内部通道。
接收CPU送入的读/写操纵信号,并完成对芯片内部各功能部件的操纵功能,因此,它实际上是8253芯片内部的操纵器。
A1A0:端口选择信号,由CPU输入。
8253
内部有3个独立的通道和一个操纵字寄存器,它们构成8253芯片的4个端口,CPU可对3个通道进行读/写操作3对操纵字寄存器进行写操作。
这4个端口地址由最低2位地址码A1A0来选择。
如表9.3.1所示。
3.通道选择
(1) CS#——片选信号,由CPU输入,低电平有效,通常由端口地址的高位地址译码形成。
(2) RD#、WR#——读/写操纵命令,由CPU输入,低电平有效。
RD#效时,CPU读取由A1A0所选定的通道内计数器的内容。
WR#有效时,CPU将计数值写入各个通道的计数器中,或者是将方式操纵字写入操纵字寄存器中。
CPU对8253的读/写操作如表9.3.2所示。
4.计数通道0~2
每个计数通道内含1个16位的初值寄存器、减1计数器和1个16位的(输出)锁存器。
8253内部包含3个功能完全相同的通道,每个通道内部设有一个16位计数器,可进行二进制或十进制(BCD码)计数。
采纳二进制计数时,最大计数值是FFFFH,采纳BCD码计数时。
最大计数值是9999。
与此计数器相对应,每个通道内设有一个16位计数值锁存器。
必要时可用来锁存计数值。
当某通道用作计数器时,应将要求计数的次数预置到该通道的计数器中、被计数的事件应以脉冲方式从CLK端输入,每输入一个计数脉冲,计数器内容减“1”,待计数值计到“0”。
OUT 端将有输出。
表示计数次数到。
当某个通道用作定时器时。
由CLK输入一定频率的时钟脉冲。
依照要求定时的时刻长短确定所需的计数值。
并预置到计数器中,每输入一个时钟脉冲,计数器内容减“1”,待计数值计到“0”。
OUT将有输出,表示定时时刻到。
同意从CLK输入的时钟频在1~2MHz范围内。
因此,任一通道作计数器用或作定时器用,其内部操作完全相同,区不仅在于前者是由计数脉冲进行减“1”计数。
而后者是内时钟脉冲进行减“1”计数。
作计数器时,要求计数的次数可直接作为计数器的初值预置到减“1”计数器中。
作定时器时,计数器的初值即定时系数应依照要求定时的时刻进行如下运算才能得到:定时系数=需要定时的时刻/时钟脉冲周期
①设置通道:向方式操纵字寄存器端口写入方式选择操纵字,用于确定要设置的通道及工作方式;
②计数/定时:向通道写入计数值,启动计数操作;
③读取当前的计数值:向指定通道读取当前计数器值时,8253将计数器值存入锁存器,从锁存器向外提供当前的计数器值,计数器则接着作计数操作。
④计数到:当计数器减1为0时,通过引脚OUT i向外输出“到”的脉冲信号。
计数初值输入存放在初值寄存器中,计数开始或重装入时被复制到计数器中。
锁存器在非锁存状态,其值随计数器的变化而变化;一旦锁存了计数器的当前值,直到锁存器值被读取后才能解除锁存状态。
5.方式选择操纵字
二、8253的通道工作方式
8253中各通道可有6种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能。
8253的各种工作方式如下:
1.方式0:计数结束则中断
工作方式0被称为计数结束中断方式,它的定时波形如图9.3.4所示。
当任一通道被定义为工作方式0时, OUT i输出为低电平;若门控信号GATE为高电平,当CPU利用输出指令向该通。