您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 第九章定时器计数器8253
第十章可编程定时器/计数器接口芯片8253内容提要:1.8253的内部结构;2.8253的引脚功能;3.8253的工作方式;4.8253的编程;5.8253的应用举例。6.8253应用实验学习目标:1.掌握8253的工作方式和编程;2.掌握8253的编程结构及其引脚功能;3.掌握8253的应用。难点:8253的工作方式异同。学时:5实验学时:0作业:一、单项选择题1.8253有个独立的计数器。A)2B)3C)4D)62.当写入计数初值相同,8253的方式0和方式1不同之处为。A)输出波形不同B)门控信号方式0为低电平而方式1为高电平C)方式0为写入后即触发而方式1为GATE的上升边触发D)输出信号周期相同但一个为高电平一个为低电平。3.如果计数初值N=9,8253工作在方式3,则高电平的周期为个CLK。A)5B)6C)3D)44.8253的控制信号为CS=0、RD=0、WR=1、A1=0、A0=0表示。A)读计数器1B)读计数器0C)装入计数器1D)装入计数器05.与8253工作方式4输出波形、相同的是。A)方式1B)方式3C)方式2D)方式5二、多项选择题1.8253计数器工作在方式时,GATE的上升沿启动计数。A)0B)1C)2D)3E)4F)52.当8253的GATE信号由高变低时,方式停止计数。A)0B)1C)2D)3E)4F)5G)以上都不是3.8253计数器的计数值可以为。A)二进制数B)BCD数C)八进制数D)ASCII码4.8253六种工作方式中具有自动加载功能的是。A)方式0B)方式1C)方式2D)方式3E)方式4F)方式5三、填空题1.实时定时和计数有和两种实现方法。2.硬件定时分为和两种方法。四、应用题某系统利用8253-5定时器/计数器通道产生1KHZ重复方波,问通道0应工作在什么工作方式?若CLK0=2MHZ,试写出通道0的初始化程序。设8253-5端口地址为2F0H、2F2H、2F4H、2F6H。一、8253的内部结构1.数据总线缓冲器是8253与CPUDB连接的8位双向三态缓冲器,CPU通过它向8253写方式控制字到控制字寄存器中,写计数初值到计数通道,读取计数通道的当前计数值。2.读/写控制逻辑控制8253内部操作。当无效,8253的DB处于高阻状态,当有效,和A1、A0、、组合,对3个计数通道、控制字寄存器进行读/写操作,见表10.1。注意点:CPU对控制字寄存器只能写,不能读;CPU对计数通道写的是计数初值,读的是当前计数值。3.控制字寄存器8253初始化编程时,CPU写控制字到控制字寄存器,以选择计数通道及相应的工作方式。4.数通道0~28253内部包括3个功能完全相同和操作完全独立的计数通道,每个计数通道由16位减法计数器、16位计数初值寄存器和16位计数值锁存器组成。初始化时,向计数通道装入的计数初值,先送到计数初值寄存器中保存,然后送到减法计数器。计数器启动后,减法计数器对CLK的下降沿进行减1计数,在未锁定时把结果送入16位计数值锁存器中。当计数值减到0时,输出OUT信号,一次计数结束。计数初值寄存器的内容,在计数过程中保持不变。计数初值寄存器和计数值锁存器占用一个端口地址(即该计数通道口地址),CPU读取计数通道的当前计数值来自计数值锁存器。各通道可工作在计数器方式,此时被计数的事件以脉冲方式从CLK输入;各通道可工作在定时器方式,此时确定频率的时钟脉冲从CLK输入。计数初值=定时时间÷CLK周期各通道的启动、禁止、允许计数与门控信号GATE有关,GATE的作用OUT的输出波形随各通道工作方式不同而不同。二、8253的引脚功能1.与CPU相连的引脚D7~D0:双向三态DB;:读,:写,低电平有效;:片选;A1A0:片内端口选择。2.计数通道引脚CLK2~CLK0:计数脉冲输入;OUT2~OUT0:当计数值减到0时,OUT有输出,输出波形取决于通道工作方式;GATE2~GATE0:门控信号输入,是控制计数器工作的一个外部信号,它的作用是用来禁止、允许或启动计数过程的。每个计数通道均有6种不同工作方式,GATE信号的控制作用不同。GATE信号总是在CLK的上升沿被采样。三、8253的工作方式Intel8253的每个计数通道都有6种工作方式可供选用。这6种工作方式主要有5点不同。一是启动计数器的触发方式和时刻不同;二是计数过程中门控信号GATE对计数操作的影响不同;三是OUT输出波形不同;四是在计数过程中重新写入计数初值对计数过程的影响不同;五是计数过程结束,减法计数器是否恢复计数初值并自动重复计数过程不同。上述五点不同,有相互关联,学习时应灵活运用。1.方式0—计数结束时中断当写入控制字后,OUT立即变为低电平;启动计数方式:软启动。即仅当GATE为高电平时,在写入计数初值后的第一个CLK下降沿到来时,计数初值寄存器的内容装入到减法计数器中,此后减法计数器对每一个CLK下降沿作减法计数,直到计数结束。在计数过程中,OUT一直维持低电平,直至减法计数器减到0时,OUT变高。见图10.1~10.3。具有以下特点:1)计数器只计一遍。当计到0时,减法计数器不恢复计数初值,不开始重新计数,且OUT保持高电平。只有重新写入计数初值后,OUT才变低,开始新的计数;2)启动计数方式:软启动。3)GATE为低电平时,计数暂停,当GATE变高后就接着计数。在计数过程中,GATE的变化不影响OUT的状态。4)计数过程中可重新写入计数初值。如果是8位计数初值,在写入新的计数初值后,计数器将按新的计数初值重新开始计数;如果是16位计数初值,在写入第一个字节后,计数器停止计数,在写入第二个字节后,计数器按照新的计数初值开始计数。5)8253没有中断控制电路,也没有专用中断请求线。若要中断,则可用OUT的正跳变作为中断请求信号。2.方式1—可编程序的单拍负脉冲当写入控制字后,OUT立即变高,计数初值写入后,计数器并不开始计数,启动计数方式是硬启动。即要有GATE上升沿触发,在GATE信号上升沿之后的第一个CLK下降沿到来时将计数初值装入减法计数器,OUT立即变低,然后开始减1计数过程。在整个计数过程中,OUT维持低电平,直至计到0,OUT变高。因此OUT输出一个单拍负脉冲。若想再输出一个单拍负脉冲,必须再次用GATE上升沿触发,否则OUT维持高电平。见图10.4~10.6。具有以下特点:1)启动计数方式是硬启动。2)若初值为N,则OUT输出的单负脉冲低电平宽度为N个CLK周期;3)当计到0后,可再次有GATE触动启动计数器计数,输出一个同样宽度的单负脉冲,而不必再次送计数初值;4)在计数过程中,若计数器没有减到0,又有GATE上升沿触发,则OUT仍为低,计数器重新计数,直至计到0,OUT变高,其作用使OUT输出的单负脉冲宽度加宽。5)在计数过程中,若写入一个新的计数初值,这时计数过程不受影响,要等GATE再次触发后,才按新的计数初值重新开始计数。3.方式2—频率发生器当写入控制字后,OUT立即变高,写入计数初值后,如果GATE为高,则计数器立即开始计数。在计数过程中,OUT维持高电平,对每个计数脉冲作减2计数直至计到1时,OUT由高变低,经过一个CLK周期,OUT恢复为高,若GATE仍为高,计数器又开始重新计数。见图10.7。具有以下特点:1)启动计数方式是硬启动或软启动。2)能够连续工作。若CLK为一定频率的时钟脉冲,计数初值为N,只要保持GATE为高电平,则OUT输出波形的周期为N个CLK周期,其中高电平宽度为N-1个CLK周期,低电平宽度为1个CLK周期,见图10.7。3)若在计数过程中,GATE变为低电平,则计数器立即停止计数。在GATE变为高后的下一个CLK使减1计数器恢复计数初值,重新开始计数。4)在计数期间,如果向计数器写入新的计数初值,这对正在进行的计数过程没有影响,但在计到1输出一个CLK宽度的负脉冲后,计数器将按新的计数初值开始计数。4.方式3—方波发生器与方式2基本相同,也具有自动装入计数初值的能力,OUT输出波形也是周期性的,唯一不同的是OUT输出波形占空比不同。若初值N为偶数,在装入计数初值后,每一个CLK使减法计数器减2,当减到0,一方面OUT输出改变状态,另一方面又重新装入计数初值开始新的计数,OUT输出波形为方波,其重复周期为N个CLK周期;若初值N为奇数,则在装入计数初值后,第一个CLK使减法计数器减1,以后每个CLK使计数器减2,当计到0,OUT输出改变状态,同时重新装入计数初值,这以后第一个CLK使计数器减3,以后每一个CLK使计数器仍减2,直至计到0,OUT恢复高电平,重复上述过程。OUT输出波形重复周期为N个CLK周期,其中高电平宽度为(N+1)/2个CLK周期,低电平宽度为(N-1)/2个CLK周期。见图10.8、10.9。具有以下特点:和方式2类似,唯一不同的是OUT输出重复波形占空比不同。5.方式4—软件触发当写入控制字后,OUT立即变为高电平,启动计数方式是软启动,启动计数后则计数器开始减1计数,当计到0时,OUT变低,经过一个CLK周期,OUT输出一个宽度为一个CLK周期的负脉冲,见图10.10。具有如下特点:1)启动计数为软启动;2)计数初值一次有效,只有再次输入计数初值,才开始新的计数;3)在计数过程中,若GATE变低,则停止计数,待GATE变高后,不是继续计数,而是恢复计数初值重新计数,GATE不影响OUT;4)若在计数过程中,写入一个新的计数初值,对本次计数过程无影响,而是等到计数过程结束,新初值才装入到减法计数器,使下一次计数按新的初值进行。6.方式5—硬件触发当写入控制字后,OUT立即变为高电平,启动计数为硬启动,启动计数后,作减1计数,当计到0时,OUT变低,经过一个CLK周期,OUT又变高,停止计数,待到下一次GATE触发,才能再次从初值开始计数。见图10.11。具有以下特点:1)启动计数为硬启动;2)输出波形与方式4相同;3)在计数过程中,若有GATE触发,则计数器重新从初值开始计数,但不影响OUT;4)在计数过程中,若写入一个新的计数初值,只要没有GATE触发,不影响计数过程。现行计数计到0后,若有GATE触发,则按新的计数初值开始计数。但在计数过程中,若写入一个新的计数初值后,有GATE触发,则立即按新的计数初值重新开始计数。四、8253的编程方式控制字:写到控制字寄存器。格式:D7D6D5D4D3D2D1D0SC1SC0RL1RL0M2M1M0BCDSC1SC0:计数器选择,00:计数通道0;01:计数通道1;10:计数通道2;11:非法。RL1RL0:规定CPU向计数通道写入的计数初值格式或规定CPU读取计数通道锁存器当前计数值格式。计数器可写入8位数据,也可写入16位数据,而写入的8位数据又可分为两种格式:仅写低8位,则高8位自动置0,或仅写高8位,则低8位自动置0。写入16位数据时,应先写入低8位,后写入高8位。若RL1RL0=00,锁存计数器当前值,使锁存器不随计数器值变化而变化;RL1RL0=01,只读/写低8位数据;RL1RL0=10,只读/写高8位数据;RL1RL0=11,读/写16位数据,先读/写低8位,后读/写高8位。M2M1M0:工作方式选择若M2M1M0=000,方式0;M2M1M0=001,方式1;M2M1M0=×10,方式2;M2M1M0=×11,方式3;M2M1M0=100,方式4;M2M1M0=101,方式5。BCD:BCD=1,计数器按BCD计数,计数初值0000~9999;BCD=0,计数器按二进制计数,计数初值0000~FFFFH。计数初值为0000时最大,对于BCD计数,0000代表10000;计数初值为0000时最大,对于二进制计数,0000代表10000H。计数初值必须跟在控制字之后,即先写控制字,后写计数初值。五、8253的应用举例例10.1用8253监视一个生产流水线,每通过100个工件。蜂鸣器响6s。频率为1000HZ。①硬件连接:硬件接口示意图如图10.12所示,工件从
本文标题:第九章定时器计数器8253
链接地址:https://www.777doc.com/doc-2184358 .html