您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 第8章 8253及其应用
微机原理与接口学习可编程接口芯片的方法可编程接口芯片从以下几个方面掌握:•芯片的功能•芯片的工作方式•芯片的编程方法•与CPU如何连接•完成各种实际应用第八章可编程计数器/定时器8253及其应用了解8253的功能熟悉8253的工作方式掌握8253的编程方法掌握每种工作方式下GATE对OUT的影响学会使用8253计数和定时功能第八章计数器/定时器:通常按计数的实现方法可将计数器操作分为增量计数器和减量计数器两种。增量计数器是指当计数脉冲(事件)到来后,计数的计数值加“1”;减量计数器反之。增量计数器常用于对事件的累计,而减量计数常用于限量计数。增量计数关心的是当前计数的量,减量计数关心的是计数终到的时刻。在微机系统或微机应用系统,特别是控制系统中,经常有计数和计时的要求。如汽车里程表的公里计数,电话通话时间计时等。这些应用在计算机中的处理方法不外乎两种:软件方法和硬件方法。第八章可编程硬件定时:采用可编程的计数/定时芯片完成。定时值及其可调整范围,都可以通过软件编程确定和改变,功能灵活使用方便。(软硬件结合)可编程计数器/定时器Intel8253就是这种芯片。硬件定时:采用电子器件构成定时或延时电路。电路触发后延时时间的长短由电路中的定时元件的RC值(RC时间常数)所决定,这种定时方法的缺点是,要改变定时间隔必须改变电路元件,不灵活。(纯硬件)软件定时:就是根据所需要的时间常数来设计一个延迟子程序,这样作的优点是节省硬件,但耗费CPU的资源较多,降低了CPU效率,且编写软件略显麻烦,通常延迟时间较小且重复次数有限的情况下,使用该方法。8.18253的工作原理计数器/定时器的功能:对外部事件发生次数进行计数;产生计算机系统需要的定时信号。计数和计时本质上是相同的,它们都是对一个输入脉冲进行计数。计数器的输入信号可以是随机信号,定时器的输入信号要求具有固定周期。计数器/定时器需要做到三个基本功能:1.可以设定工作方式、计数值2.可以控制何时开始计数,还可以暂停或重新写入计数值3.计数/计时结束时要有提示如果输入脉冲的频率一定,那么记录脉冲的个数与所需的时间是一一对应的关系。例如输入脉冲频率为2MHz,那么计数2106计时1秒。8253的工作原理一个计数器/定时器的组成:控制字寄存器——决定工作模式(8位)状态寄存器——反映工作状态初值寄存器——计数的初值(16位)计数输出寄存器——当前计数值(16位)。计数器——执行计数操作,CPU不能访问。(16位)输入计数器脉冲门控信号输入端输出端8253的工作原理计数器/定时器的组成:首先,CPU把控制字写入控制寄存器,计数初值写入初值寄存器;开始技术后,计数从初值开始,每当CLK脉冲信号出现一次,计数值在门控信号GATE控制下决定是否减1;当计数值减到0,从OUT端输出规定的信号;CLK信号出现时,计数器是否减1,由门控信号GATE控制。8253的工作原理一、8253A的内部结构和引脚信号8253的内部结构图接CPU或系统总线8253的工作原理一、8253A的内部结构和引脚信号123456789101112242322212019181716151413D7D6D5D4D3D2D1D0CLK0OUT0GATE0GNDCLK1OUT1GATE1CLK2OUT2GATE2A1A0VCCWRRDCS82538253管脚图8253的三个计数通道在结构上和功能上完全一样,每个通道均有两个输入引脚CLK和GATE,一个输出信号引脚OUT。8253是24引脚双列直插式芯片,它与CPU的接口引线如下:D7~D0是数据线引脚,RD和WD分别是读写控制引脚,CS是片选信号。A1,A0是片内地址选择引脚。由CPU输入的控制信号CS、RD和WR与A1,A0组合实现的功能见教材P322表8-1。8253的工作原理一、8253A的内部结构和引脚信号8253输入信号组合的功能表CSRDWRA1A0功能0001001对计数器A1A0设置计数初值1001011设置控制字或给一个命令0000101从计数器A1A0读出计数值108253的工作原理一、8253A的内部结构和引脚信号8253作为定时器使用时,其定时时间计算公式为:例:在某系统中,8253的CLK上的计数脉冲频率为0.5MHz,8253计数器的初值是n=500。定时时间=时钟脉冲周期tclk预置的计数初值n注意:8253外部输入引脚CLKi上的时钟脉冲频率不能大于2MHz。0.5MHz的时钟脉冲周期为T=2s,则定时时间=2s500=1ms8253的工作原理一、8253A的内部结构和引脚信号在对8253进行编程时,由CPU向它写控制字,来选定计数器通道,并规定所选计数器的工作方式。控制字格式:D7D6D5D4D3D2D1D0SC1SC0RW1RW0M2M1M0BCD00:选择通道001:选择通道110:选择通道211:无效00:计数器锁存01:读写低字节10:读写高字节11:先低,后高000:方式0001:方式1X10:方式2X11:方式3100:方式4101:方式51:BCD0:2进制BCD:0000~9999H;二进制:0000~FFFFH;BCD:1200H=1200;二进制:1200H=4608微机原理与接口计数初值为0000时,如何计数?初值写进去之后,门控信号允许时,计数过程是:1、初值放入计数当前值寄存器2、CLK到来一个脉冲当前值寄存器减13、判断当前值是否为0,如果不为0,返回2,否则当前一次计数结束。BCD:初值可以为0000~9999H;当初值为0时,先减1得9999H,到最后减为0,进行了10000次计数,所以初值0相当于10000二进制:0000~FFFFH;初值0000H相当于65536CLK确定的情况下,一个定时器的最长定时时间=??对应的计数初值是??8253的工作原理二、8253的初始化步骤和门控信号的功能1.初始化步骤:(1)写入控制字;(2)按控制字要求写入计数初值。计数初值N=fCLK/fOUT=TOUT/TCLK例(P309):8253的地址为3F0H、3F2H、3F4H、3F6H要求8253的计数器0工作于方式3,BCD码计数,计数器初值n=1234H,初始化程序为:MOVAL,37HMOVDX,3F6HOUTDX,ALMOVAL,34HMOVDX,3F0HOUTDX,ALMOVAL,12HOUTDX,AL8253的工作原理二、8253的初始化步骤和门控信号的功能2.门控信号控制功能:门控信号GATE的控制功能如教材P310表8-2所示,由表可知:方式0,4时:门控信号为电平触发方式1,5时:门控信号为上升沿触发方式2,3时:门控信号为电平或上升沿触发三、8253的工作方式(P310)工作方式决定以下内容:1)门控信号的影响高电平允许:当GATE=0,即使出现CLK,也不计数——方式0,2,3,4上升沿允许(上升沿触发)——方式1,5,2,38253的工作原理三、8253的工作方式写入控制字后,OUT的状态计数过程中,OUT的状态计数终了,OUT的状态3)计数操作可否重复不可重复——模式0,4自动重复——模式2,3条件重复——模式1,5工作方式决定以下内容:2)OUT信号的状态8253的工作原理三、8253的工作方式1.方式0:计数结束中断方式特点:CLKWRCWOUTN=44321GATE0可作为INTR信号写入计数初值的下一个时钟周期开始计数,写一次初值计数器只计数一遍,并且计数要在门控信号为高电平的前提下才进行;计数过程中,如何暂停计数?在计数过程中写入新值后?计数器按新值重新开始计数8253的工作原理三、8253的工作方式2.方式1:可编程单稳态输出方式若计数值为N,则输出脉冲宽度为N*CLK;只要Gate出现上升沿,则从初值寄存器里取出初值在下一个CLK开始计数。即计数的开始是以Gate上升沿为导火线。CLKWRCWOUTN=3321GATE3若计数过程中,CPU改变计数值,计数过程不受影响,Gate再次触发后,按新值重新计数。8253的工作原理三、8253的工作方式3.方式2:比率发生器(分频器)写入初值后,只要Gate为高,则在下一个CLK开始循环计数。即每次计到0后,再从初值寄存器取出初值开始计数。计数过程中,若GATE变低,计数器暂停工作,GATE变高后,计数器重新取出初值,开始计数;计数过程中,若写入新的初值,对当前的计数过程无影响,但下一个计数过程,以新的初值开始计数;CLKWRCWOUTN=44321GATE43218253的工作原理三、8253的工作方式4.方式3:方波发生器同方式2的三个特点,不同的是:初值为偶数时,每来一个脉冲,计数值减2初值为奇数时,第一个CLK使计数器减“1”,其后每一个CLK使计数器减“2”,到“0”后,改变输出状态,同时重新装入计数值。接着第一个CLK使计数值减“3”,以后每个CLK使计数值减“2”,直到计数值为“0”,重复上述过程。CLKWRCWOUTN=44242GATE42428253的工作原理三、8253的工作方式5.方式4:软件触发选通N值写入后,如Gate为高,则下一个CLK开始计数,相当于软件启动;GATE=“1”,允许计数,GATE=“0”,禁止计数,因此,要做到软件启动,必须使GATE=“1”;CLKWRCWOUTN=44321GATE0写一次初值,只计一次;计到0时,产生低电平维持一个周期后变高计数过程中改变计数值,按新值重新计数到0;8253的工作原理三、8253的工作方式6.方式5:硬件触发选通N值写入后,计数器并不计数,当GATE的上升沿出现时,取出初值开始计数;计数过程中改变计数值,若没有GATE的触发,不影响计数过程,当计数到“0”后,若有GATE触发,则按新的计数值计数.CLKWRCW特点:OUTN=54321GATE0555微机原理与接口8253的工作原理三、8253的工作方式6种工作方式主要区别:OUT输出波形不同。启动计数器的触发方式不同。计数过程中门控信号GATE对计数操作的影响不同。有的工作方式具备“初值自动重装”的功能。初值自动重装的功能是:当计数值减到规定的数值(通常为0)后,计数初值将会自动地重新装入计数器。8253的工作原理三、8253的工作方式6种工作方式小结:方式0:计数初值N写入CR后,当GATE为高电平时,经过N个时钟脉冲之后OUT由0到1跳变每写一次初值仅仅计数一次Gate变低会暂停计数,变高后继续减1方式1:计数初值N写入CR后,由GATE上升沿触发,OUT输出一个负的单脉冲。计到0之前,只要Gate产生上升沿则自动重装初值并开始计数。方式2:计数初值N写入CR后,当GATE为高电平时,输入端每输入N个时钟脉冲,在输出端出现一个负的时钟脉冲——N分频器。自动重装入初值。8253的工作原理三、8253的工作方式6种工作方式小结:方式4:计数初值N写入CR后,触发计数(此时GATE必须为高电平),经N个时钟脉冲,输出端产生选通负脉冲信号,宽度=1个CLK只计一次方式3:计数初值N写入CR后,当GATE为高电平时,n为偶数时OUT输出一系列方波(N分频器)。N值为奇数时,输出矩形波,高低电平时间不同(差一个时钟周期)。自动重装入初值。方式5:计数初值N写入CR后,硬触发(GATE输入一个正脉冲)后,经N个时钟脉冲,输出端产生选通负脉冲信号,宽度=CLK.到0后自动重装初值,但是必须等到Gate上升沿才开始计数不必每次都写初值微机原理与接口8.28253的应用举例实际应用例子的解题思路:确定端口地址—确定计数初值-确定工作方式—确定电路图——编程(写入控制字、初值)8253的编程只需要初始化。初始化之后,芯片自动工作,无需程序干扰注意:用到多个通道时,对每个通道都要依次写控制字,写初值。微机原理与接口8255的工作原理接口芯片地址注意:端口地址及片选信号的产生选择8253A的A1、A0:与8086CPU的A2、A1相连;与8088CPU的A1、A
本文标题:第8章 8253及其应用
链接地址:https://www.777doc.com/doc-3404845 .html