第八章 可编程定时-计数控制器_第1页
第八章 可编程定时-计数控制器_第2页
第八章 可编程定时-计数控制器_第3页
第八章 可编程定时-计数控制器_第4页
第八章 可编程定时-计数控制器_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、教学重点教学重点 8253的内部结构及其计时的内部结构及其计时/定时的定时的6种工作方式,对种工作方式,对8253进行初始化编程和读回当前计数值。进行初始化编程和读回当前计数值。 知识目标:知识目标: 1了解定时了解定时/计数的基本概念计数的基本概念 2掌握掌握8253的结构和特点的结构和特点 3掌握掌握8253的工作方式的工作方式重点:重点: 8253的内部结构的内部结构;6种工作方式。种工作方式。 定时定时/计数的基本概念计数的基本概念定时与计数的作用:定时与计数的作用:如何定时?如何定时? 为获得稳定准确的定时,必须有稳定准确的时间基准。定为获得稳定准确的定时,必须有稳定准确的时间基准。

2、定时的本质是计数,把若干小片的时间单元累加起来,就获时的本质是计数,把若干小片的时间单元累加起来,就获得一段时间。得一段时间。定时的方法定时的方法1. 软件定时方法软件定时方法2. 硬件定时方法硬件定时方法软件定时:软件定时:利用利用CPU执行指令执行指令需要若干指令周期的原理,运需要若干指令周期的原理,运用软件编程,循环执行一段程用软件编程,循环执行一段程序产生延时,配合简单输出接序产生延时,配合简单输出接口向外送出定时控制信号。口向外送出定时控制信号。优点:优点:硬件简单,只需要编制硬件简单,只需要编制相应的延时程序。相应的延时程序。缺点:缺点:增加增加CPU的时间开销,的时间开销,浪费浪

3、费CPU的资源。的资源。不可编程硬件定时:不可编程硬件定时:专用的专用的多谐振荡器件或单稳器件。多谐振荡器件或单稳器件。优点:优点:定时电路简单、定时定时电路简单、定时时间可以在一定范围改变时间可以在一定范围改变缺点:缺点:使用不方便。使用不方便。当前采用技术:当前采用技术:可编程通用可编程通用定时器定时器/计数器芯片。计数器芯片。3. 软硬件定时方法软硬件定时方法可编程硬件定时:可编程硬件定时:软软件硬件相结合、用可件硬件相结合、用可编程定时器芯片构成编程定时器芯片构成定时电路定时电路优点:优点:具有多种工作具有多种工作方式、能够输出多种方式、能够输出多种控制信号控制信号可编程计数器可编程计

4、数器/定时器具有两种功能:定时器具有两种功能:可编程计数器可编程计数器/ /定时器的工作原理定时器的工作原理设置好计数值后,计数器启动,每当设置好计数值后,计数器启动,每当一个计数脉冲到来时,进行减一个计数脉冲到来时,进行减1计数,计数,直至减到直至减到0,输出一个信号。,输出一个信号。设置好定时器后,定时器工作,在固设置好定时器后,定时器工作,在固定频率的时钟脉冲驱动下,进行减定频率的时钟脉冲驱动下,进行减1计数,并按定时常数不断地输出为时计数,并按定时常数不断地输出为时钟周期整数倍的定时间隔。钟周期整数倍的定时间隔。数据总线 RD地址线WRCLK CS A0 GATE OUT 预置计数值寄

5、存器计数器控制寄存器译 码器状态寄存器计数器输出寄存器1A可编程定时可编程定时/计数器计数器Intel 8253Intel 8253:3个独立个独立16位计数器通道;位计数器通道;6种工作方式;按二进制计数种工作方式;按二进制计数或或BCD码计数;码计数;2.6MHz;单;单+5V电源,电源,24条引脚双列条引脚双列直插式封装;输入输出引脚都与直插式封装;输入输出引脚都与TTL兼容。兼容。作为可编程的方波频率发生器、分频器、实时时钟、事作为可编程的方波频率发生器、分频器、实时时钟、事件计数器和单脉冲发生器等。件计数器和单脉冲发生器等。Intel 8253的内部结构的内部结构8位双向三态缓冲器。

6、对位双向三态缓冲器。对8253进行读计数器当前计进行读计数器当前计数值和写计数初值及设置数值和写计数初值及设置8253的工作方式。的工作方式。只能写入而不能读出。只能写入而不能读出。A1A0=11B时,时,访问控制字寄存器,接收控制字,由控访问控制字寄存器,接收控制字,由控制字的制字的D7D6决定控制字写入哪个计数器决定控制字写入哪个计数器的控制寄存器,由控制字,决定计数器的控制寄存器,由控制字,决定计数器通道的工作方式、选择计数器是按二进通道的工作方式、选择计数器是按二进制或制或BCD码计数、选择每个计数器初值码计数、选择每个计数器初值的写入顺序。的写入顺序。计数器计数器0、计数器、计数器1

7、、计、计数器数器2完全独立、结构相完全独立、结构相同,同,16位可预置的减法位可预置的减法计数器构成。计数器构成。7计数器的结构计数器的结构8253的每个计数器包括:的每个计数器包括:(1)16位的计数初值寄存器位的计数初值寄存器CR存放由存放由CPU编程设定的计数初值;编程设定的计数初值;(2)16位计数执行部件位计数执行部件CE是是一个减一个减1计数器,初值是计数器,初值是CR的内容。的内容。CE只对只对CLK脉冲计数,一旦计数器脉冲计数,一旦计数器被启动后,每出现一个被启动后,每出现一个CLK脉冲,脉冲,CE减减1。当减为。当减为0时,通过时,通过OUT输输出指示信号,表明出指示信号,表

8、明CE为为0;计数执行单元CE输出锁存器OL计数值寄存器CR内部总线CLKGATEOUT*当当CLK是一个非周期性信号时,起计数功能;是一个非周期性信号时,起计数功能;* 当当CLK是周期性时钟信号时,起定时功能。作定时器用时,是周期性时钟信号时,起定时功能。作定时器用时,定时系数要求的定时时间定时系数要求的定时时间/输入的时钟脉冲周期,作为计数输入的时钟脉冲周期,作为计数初值预置入初值预置入CR,2022-3-128计数器的结构计数器的结构计数执行单元CE输出锁存器OL计数值寄存器CR内部总线CLKGATEOUT(3)16位输出锁存器位输出锁存器OL跟随跟随CE的内容变化,当接的内容变化,当

9、接受到受到CPU发来的锁存命令时,就锁定当前的计数值,而发来的锁存命令时,就锁定当前的计数值,而不跟随不跟随CE变化,直到变化,直到CPU从中读取锁存值后,才恢复跟从中读取锁存值后,才恢复跟随随CE。(4)GATE门控脉冲输入。门控脉冲输入。 * 高电平时高电平时,允许计数器工作;允许计数器工作; * 低电平时,禁止计数器工作。低电平时,禁止计数器工作。Intel 8253的内部结构的内部结构计数通道结构计数通道结构CPU不能直接访不能直接访问问CE;CPU随随时可以用输入指时可以用输入指令,将计数器的令,将计数器的当前值从输出锁当前值从输出锁存器存器OL中读出中读出9计数初值计数初值在在CL

10、K的的下降沿下降沿时,计数器执行部件从初值时,计数器执行部件从初值开始作减开始作减1计数;计数;其中其中0是最大初值,是最大初值,1是最小初值是最小初值;读计数值读计数值将某计数器的计数值读到将某计数器的计数值读到CPU中中 读到的是执行输入指令瞬间计数器的现行值。读到的是执行输入指令瞬间计数器的现行值。16位位计数值要分两次读至计数值要分两次读至CPU,故必须将数据锁存。,故必须将数据锁存。计数器初始值计数器初始值=时钟频率时钟频率T(T为定时时间)为定时时间)若以二进制数制计数,则0相当于216=65536若以BCD(十进制)数制计数,则0相当于104=1000010Intel 8253的

11、内部结构的内部结构8253内部控制电路,从系统控制内部控制电路,从系统控制线上接收输入信号,转变成线上接收输入信号,转变成8253内部操作的各种控制信号。内部操作的各种控制信号。118253的外部引脚的外部引脚1. 与定时计数电路相连接的引脚与定时计数电路相连接的引脚CE对对CLK输入脉冲输入脉冲进行计数;系统时钟进行计数;系统时钟脉冲、分频、其它脉脉冲、分频、其它脉冲源提供;均匀、连冲源提供;均匀、连续、周期精确;不均续、周期精确;不均匀、不断续、周期不匀、不断续、周期不定的。定的。12注意:注意:8253作作分频器分频器,工作于,工作于定时器方式定时器方式:CLK输入是连续输入是连续的、周

12、期精确的时钟脉冲,的、周期精确的时钟脉冲,OUT输出必定是频率降低的、输出必定是频率降低的、周期精确的时钟脉冲。周期精确的时钟脉冲。8253作作计数器计数器:CLK输入只是脉冲的数量,不是脉冲输入只是脉冲的数量,不是脉冲的时间间隔,的时间间隔,CLK可以输入周期不定的脉冲,也可以输可以输入周期不定的脉冲,也可以输入周期确定的脉冲。当计数到预置的初值后,从入周期确定的脉冲。当计数到预置的初值后,从OUT端端输出一个脉冲。输出一个脉冲。CLK的脉冲周期不定,的脉冲周期不定,OUT输出的脉冲输出的脉冲周期也不确定。周期也不确定。8253的基本工作方式:对外部输入到的基本工作方式:对外部输入到CLK引

13、脚上的脉冲引脚上的脉冲进行计数。定时方式还是计数方式,取决于输入脉冲的进行计数。定时方式还是计数方式,取决于输入脉冲的性质和用户的需要。性质和用户的需要。8253的外部引脚的外部引脚138253的外部引脚的外部引脚1. 与定时计数电路相连接的引脚与定时计数电路相连接的引脚减减1计数到零计数到零/定时时定时时间到的脉冲输出;当间到的脉冲输出;当计数器减计数器减1计数到零计数到零时,有电平或脉冲信时,有电平或脉冲信号输出;取决于工作号输出;取决于工作方式,它可以是电平、方式,它可以是电平、脉冲或方波等。脉冲或方波等。148253的外部引脚的外部引脚1. 与定时计数电路相连接的引脚与定时计数电路相连

14、接的引脚外部控制计数器工作;外部控制计数器工作;作用取决于作用取决于8253的工的工作方式:作方式:当为低电平当为低电平时,禁止通道的计数时,禁止通道的计数单元计数、由低电平单元计数、由低电平向高电平变跳过程中向高电平变跳过程中会触发一次新的计数。会触发一次新的计数。158253的外部引脚的外部引脚 地址信号地址信号 数据信号数据信号 控制信号控制信号面向系统的面向系统的引脚信号按引脚信号按照其传输信照其传输信息的种类不息的种类不同同2. 与系统相连接引脚与系统相连接引脚168253的外部引脚的外部引脚2. 与系统相连接引脚与系统相连接引脚内部口地址的选内部口地址的选择,输入。择,输入。825

15、3内部共有内部共有4个端口:个端口:A口,口,B口,口,C口口和控制口;和控制口;178253的外部引脚的外部引脚2. 与系统相连接引脚与系统相连接引脚片选,输入,用片选,输入,用来决定芯片是否来决定芯片是否被选中,由地址被选中,由地址总线高位经译码总线高位经译码电路产生电路产生18表表 8253A端口地址分配表端口地址分配表A1 A0操 作数据传送方式0 0 1 0 00 0 1 0 10 0 1 1 00 1 0 0 00 1 0 0 10 1 0 1 00 1 0 1 10 0 1 1 11 读读0计数器计数器读读1计数器计数器读读2计数器计数器写写0计数器计数器写写1计数器计数器写写2

16、计数器计数器写控制口写控制口8253无操作无操作未选中未选中0计数器计数器OL 数据总线数据总线1计数器计数器OL 数据总线数据总线2计数器计数器OL 数据总线数据总线数据总线数据数据总线数据 0计数器计数器CR数据总线数据数据总线数据 1计数器计数器CR数据总线数据数据总线数据 2计数器计数器CR数据总线数据数据总线数据 控制口控制口数据总线高阻状态数据总线高阻状态数据总线高阻状态数据总线高阻状态8253的外部引脚的外部引脚CSRDWR198253的外部引脚的外部引脚8位,双向,位,双向,三态,用来三态,用来与系统数据与系统数据总线相连总线相连读信号,输入,控读信号,输入,控制制8253将数

17、据或将数据或状态信息送给状态信息送给CPU写信号,输入,控写信号,输入,控制制CPU将数据或控将数据或控制信息送到制信息送到82532. 与系统相连接引脚与系统相连接引脚208253的控制字的控制字4个功能段:个功能段:控制字控制字在在8253的初始化编程中,第一个写入的一定是的初始化编程中,第一个写入的一定是方式控制字,规定方式控制字,规定8253的工作方式。的工作方式。21设置初值命令用来设置计数的初始值。根据在控制字中D5D4位的约定,计数初始值可以是8位,也可以是16位。 设置初值命令设置初值命令 8253在设置初值后就开始工作了。锁存命令是为了配合CPU读取计数器当前值而设置的。锁存

18、命令锁存命令22(1) 8253初始化编程初始化编程编程时必须遵守以下两条原则:编程时必须遵守以下两条原则:其二,初始值设置时,要符合控制字中其二,初始值设置时,要符合控制字中的格式规定。是只写低字节,还是只写的格式规定。是只写低字节,还是只写高字节,或者是先写低字节,后写高字高字节,或者是先写低字节,后写高字节。节。其一,对计数器设置计数初始值前必其一,对计数器设置计数初始值前必须先将控制字写入须先将控制字写入23248253的控制字的控制字(2)8253的读的读/写操作写操作* 写入操作写入操作设置控制字,设置计数初值和设置锁存设置控制字,设置计数初值和设置锁存命令;命令; 使用前,首先初

19、始化:先写入方式控制字,随后写入使用前,首先初始化:先写入方式控制字,随后写入计数初值(注意格式)。计数初值(注意格式)。控制字写入控制寄存器端口,计数初值写入计数器端口。控制字写入控制寄存器端口,计数初值写入计数器端口。 锁存命令锁存命令D7D6指定要锁存的计数器,指定要锁存的计数器,D5D4 00。* 读出操作读出操作CPU读取计数器当前的计数值。读取计数器当前的计数值。在计数过程中,输出锁存器在计数过程中,输出锁存器OL跟随计数执行部件跟随计数执行部件CE变变化,在接到化,在接到CPU发来的锁存命令时,当前计数值锁存于发来的锁存命令时,当前计数值锁存于OL中,中,OL不再变化,保持至不再

20、变化,保持至CPU用输入指令读取该计用输入指令读取该计数器端口的数器端口的OL值后,输出锁存器自动解除锁存状态,再值后,输出锁存器自动解除锁存状态,再次跟随次跟随CE258253的的工作方式的的工作方式8253提供提供6种工作方式,遵循以下基本原则:种工作方式,遵循以下基本原则:(1)控制字写入计数器,所有的控制逻辑电路复位,输出)控制字写入计数器,所有的控制逻辑电路复位,输出端进入初始状态;端进入初始状态;(2)初始计数值写入后,经过一个)初始计数值写入后,经过一个CLK脉冲后,才由计数脉冲后,才由计数初值寄存器初值寄存器CR送入计数执行部件送入计数执行部件CE开始计数。在输入脉冲开始计数。

21、在输入脉冲的的CLK的下降沿,计数器作减的下降沿,计数器作减1计数;计数;(3)通常,在输入脉冲)通常,在输入脉冲CLK的上升沿,门控信号的上升沿,门控信号GATE被被采样。不同的工作方式,采样。不同的工作方式,GATE信号的触发方式有不同的规信号的触发方式有不同的规定,电平触发、边沿触发或两者都允许;定,电平触发、边沿触发或两者都允许;(4)8253内部没有中断控制电路,也没有专用的中断请求内部没有中断控制电路,也没有专用的中断请求线,若需中断,可将线,若需中断,可将OUT端作为中断请求信号,通过外部端作为中断请求信号,通过外部电路实现对该中断管理(比如接到电路实现对该中断管理(比如接到82

22、59A的的IRi)。8253的工作方式的工作方式6种种工作方式:工作方式: 方式方式0方式方式5区别:区别: OUT输出的波形不同;输出的波形不同; 计数过程中计数过程中GATE信号对计数操作的影响不同;信号对计数操作的影响不同; 启动计数器的触发方式不同启动计数器的触发方式不同262022-3-1227方式方式0 0是典型的事件计数用法是典型的事件计数用法,CLK作为事件计数输入信号,作为事件计数输入信号,当计数执行部件当计数执行部件CE为为0时,时,OUT端变为高电平,可以作为端变为高电平,可以作为中断请求信号。中断请求信号。工作原理工作原理:当写入控制字后,:当写入控制字后,OUT变为低

23、电平,变为低电平,CPU将计将计数初值写入计数初值寄存器数初值写入计数初值寄存器CR后,利用下一个后,利用下一个CLK脉冲的脉冲的下降沿将下降沿将CR的内容装入的内容装入CE中;中;再从下一个再从下一个CLK脉冲的下降沿开始,脉冲的下降沿开始,CE执行减执行减1计数,减计数,减到到0时,时,OUT变为高电平,并保持。除非重新装入计数初值变为高电平,并保持。除非重新装入计数初值或复位。或复位。 GATE是门控信号,高电平开放计数,低电平禁止计数。是门控信号,高电平开放计数,低电平禁止计数。1方式方式0计数结束时中断方式计数结束时中断方式(Interrupt on Terminal Count)

24、在此种方式下,控制字写入在此种方式下,控制字写入8253的控制字的控制字寄存器后,使寄存器后,使OUT输出端变低。输出端变低。开始计数要有两个条件:开始计数要有两个条件:其一是门控其一是门控GATE信号必须为高电平信号必须为高电平其二是写入计数器初值。其二是写入计数器初值。满足以上两个条件计数器开始计数,直到计满足以上两个条件计数器开始计数,直到计数到数到“0”时,时,OUT输出端变高输出端变高281方式方式0计数结束时中断方式计数结束时中断方式(Interrupt on Terminal Count)方式0波形图CW:8253控制字;控制字;LSB:低:低8位计数值;位计数值;MSB:高:高

25、8位计数值位计数值29GATE=1初值初值N,OUT在写入在写入命令执行后,第命令执行后,第N+1个个CLK脉冲之后,变脉冲之后,变为高电平为高电平1方式方式0计数结束时中断方式计数结束时中断方式(Interrupt on Terminal Count)301方式方式0计数结束时中断方式计数结束时中断方式(Interrupt on Terminal Count)(b)方式0GATE作用311方式方式0计数结束时中断方式计数结束时中断方式(Interrupt on Terminal Count)32方式方式0特点特点第一,计数器只计数一遍。第一,计数器只计数一遍。第三,在计数过程中,可由门控信号

26、控制暂停。第三,在计数过程中,可由门控信号控制暂停。第四,在第四,在8253计数过程中可以改变计数值。计数过程中可以改变计数值。第五,若用于中断方式,可把第五,若用于中断方式,可把OUT输出信号接输出信号接到到8259的中断请求输入端,以满足中断要求。的中断请求输入端,以满足中断要求。第二,在第二,在CPU执行向执行向8253输出计数指令的输出计数指令的 信号上升沿,信号上升沿,8253将计数值写入通道的可予置将计数值写入通道的可予置计数值寄存器中。计数值寄存器中。WR方式方式0主要用于事件计数,主要用于事件计数,OUT信号可作为中断请求信号可作为中断请求信号。信号。332022-3-1234

27、工作方式工作方式0例:设例:设8253的端口地址是的端口地址是70H73H,若计数器若计数器1工作在方式工作在方式0,计数次,计数次数为数为130次,试编写初始化程序。次,试编写初始化程序。解:初始化程序段解:初始化程序段MOV AL,71H ;01 11 000 1,计数器计数器1,BCD计数计数OUT 73H,AL;控制字写入控制寄存器控制字写入控制寄存器MOV AL,30H;先送低先送低8位位OUT 71H,AL;低低8位送计数器位送计数器1MOV AL,01H;先送低先送低8位位OUT 71H,AL;高高8位送计数器位送计数器12方式方式1可编程单稳态触发器可编程单稳态触发器(Prog

28、rammable Oneshort)方式1波形图由外部门控信由外部门控信号号GATE上升上升沿触发,使输沿触发,使输出端变为低电出端变为低电平,产生一个平,产生一个单拍负脉冲信单拍负脉冲信号,脉冲宽度号,脉冲宽度由计数值决定。由计数值决定。352方式方式1可编程单稳态触发器可编程单稳态触发器(Programmable Oneshort)362 2 方式方式11可重复触发的单稳态触发器可重复触发的单稳态触发器在这种方式下,在这种方式下,CPUCPU执行输出指令向执行输出指令向82538253写入控制字之后,写入控制字之后,输出输出OUTOUT将保持为高电平(若原为低,则变为高)。将保持为高电平(

29、若原为低,则变为高)。当当CPUCPU又写入计数值后,计数器并不开始计数,要等到外又写入计数值后,计数器并不开始计数,要等到外部门控脉冲部门控脉冲GATEGATE启动之后的下一个输入启动之后的下一个输入CLKCLK脉冲的下降沿开脉冲的下降沿开始计数。始计数。该方式可输出一个单稳脉冲,若外部再次触发启动,则再该方式可输出一个单稳脉冲,若外部再次触发启动,则再次产生一个单稳脉冲。次产生一个单稳脉冲。开始计数时输出开始计数时输出OUTOUT变低,在整个计数过程中,输出变低,在整个计数过程中,输出OUTOUT都都维持为低电平,直到计数到维持为低电平,直到计数到0 0,输出,输出OUTOUT方变为高。方

30、变为高。372方式方式1可编程单稳态触发器可编程单稳态触发器(Programmable Oneshort)382方式方式1可编程单稳态触发器可编程单稳态触发器(Programmable Oneshort)39在方式在方式1 1下,下,82538253的主要特点的主要特点第三,在计数过程中,第三,在计数过程中,CPUCPU改变初始计数值,这时计改变初始计数值,这时计数过程不受影响。只有再次触发启动后,计数器才数过程不受影响。只有再次触发启动后,计数器才开始按新计数值对应的脉冲宽度输出单稳脉冲。开始按新计数值对应的脉冲宽度输出单稳脉冲。第一,若设置的初始计数值为第一,若设置的初始计数值为N N,则

31、输出的单稳脉,则输出的单稳脉冲的脉宽为冲的脉宽为N N个个CLKCLK时钟周期。时钟周期。第二,可重复触发。第二,可重复触发。第四,在计数过程中,若外部第四,在计数过程中,若外部GATEGATE触发脉冲提前到来触发脉冲提前到来(即计数器未减至(即计数器未减至0 0时),则在触发脉冲上升沿之后时),则在触发脉冲上升沿之后的下一个的下一个CLKCLK脉冲的下降沿时,计数器将重新开始计脉冲的下降沿时,计数器将重新开始计数。数。402022-3-1241工作方式工作方式1例:设例:设8253的端口地址是的端口地址是70H73H,若计数器若计数器1工作在方工作在方式式1,计数次数为,计数次数为20次,试

32、编写初始化程序。次,试编写初始化程序。解:初始化程序段解:初始化程序段MOV AL,52H ;01 01 001 0,计数器计数器1,二进制计数,二进制计数OUT 73H,AL;控制字写入控制寄存器控制字写入控制寄存器MOV AL,14H;OUT 71H,AL; 计数次数送计数器计数次数送计数器13 3 方式方式22速率发生器、分频器速率发生器、分频器当计数到当计数到1 1时,输出时,输出OUTOUT变低,经过一个变低,经过一个CLKCLK周期输出周期输出OUTOUT变高,并且计数器开始重新计数。变高,并且计数器开始重新计数。在这种方式下,在这种方式下,CPUCPU向向82538253输出控制

33、字后,输出控制字后,计数器输出计数器输出OUTOUT变高。在写入计数值后,计数变高。在写入计数值后,计数器在下一个器在下一个CLKCLK的下降沿对输入时钟的下降沿对输入时钟CLKCLK计数。计数。423方式方式2速率发生器、分频器速率发生器、分频器(Rate Generator)N分频计数器分频计数器433方式方式2速率发生器、分频器速率发生器、分频器(Rate Generator)443方式方式2速率发生器、分频器速率发生器、分频器(Rate Generator)45方式方式2 2的主要特点的主要特点第一,不用重新设置计数值,通道能连续第一,不用重新设置计数值,通道能连续工作,输出固定频率的

34、脉冲。工作,输出固定频率的脉冲。第三,在计数过程中可以改变计数值,这对第三,在计数过程中可以改变计数值,这对正在进行的计数过程没有影响正在进行的计数过程没有影响. .方式方式2 2改变计改变计数值是在下次计数周期有效。数值是在下次计数周期有效。第二,计数过程可以由门控脉冲第二,计数过程可以由门控脉冲GATEGATE控制。控制。当当GATEGATE为低电平时,暂停计数。为低电平时,暂停计数。GATEGATE变为高变为高电平后的下一个电平后的下一个CLKCLK脉冲使计数器按原初始值脉冲使计数器按原初始值重新开始计数。重新开始计数。462022-3-12478253的的工作方式的的工作方式2例:例:

35、 8253的计数器的计数器2用作分频器,将频率为用作分频器,将频率为1.19MHz的输入脉冲转变的输入脉冲转变成频率为成频率为500Hz的脉冲信号。的脉冲信号。8253的端口地址为的端口地址为70H73H。试编写试编写初始化程序段。初始化程序段。解解: N1.19106/500 = 2380 094CH则其初始化程序段为:则其初始化程序段为: MOV AL,0B4H;10110100,计数器计数器2方式方式2二进制计数二进制计数OUT 73H,AL ;控制字送入控制寄存器控制字送入控制寄存器MOV AL,4CHOUT 72H,AL ;计数值低计数值低8位送入计数器位送入计数器2MOV AL,0

36、9HOUT 72H,AL ;计数值高计数值高8位送入计数器位送入计数器2 注:注:N也称为分频系数也称为分频系数4 4 方式方式33方波发生器方波发生器方式方式3 3和方式和方式2 2的工作类似,它们的输出都是周期性的,的工作类似,它们的输出都是周期性的,但方式但方式3 3的输出为方波。方式的输出为方波。方式3 3下,计数过程中下,计数过程中OUTOUT有一半有一半时间为高,另一半时间为低。所以,若计数值为时间为高,另一半时间为低。所以,若计数值为N N,则方,则方式式3 3的输出是周期为的输出是周期为N N个个CLKCLK脉冲的方波。脉冲的方波。这种方式下,当这种方式下,当CPUCPU将控制

37、字用输出指令写入将控制字用输出指令写入82538253后,后,其输出其输出OUTOUT为高,为高,CPUCPU继续写入计数值后就自动开始计数,继续写入计数值后就自动开始计数,输出保持为高。当计数到一半计数值时,输出变为低,输出保持为高。当计数到一半计数值时,输出变为低,直至计数到直至计数到0 0,输出又变高,重新从初始计数值开始计数。,输出又变高,重新从初始计数值开始计数。484方式方式3方波发生器方波发生器(Square Wave Generator)对称方波(偶数)对称方波(偶数);近似对称方波(奇数)近似对称方波(奇数)494方式方式3方波发生器方波发生器(Square Wave Gen

38、erator)504方式方式3方波发生器方波发生器(Square Wave Generator)514方式方式3方波发生器方波发生器(Square Wave Generator)52方式方式3 3的主要特点的主要特点第一,第一, 若计数值为偶数,若计数值为偶数, 在装入计数值后,在装入计数值后, 每一每一个个CLKCLK脉冲使计数值减脉冲使计数值减1 1, 当计数到当计数到N/2N/2时,时, 一方面一方面使输出改变状态,使输出改变状态, 另一方面又继续计数至另一方面又继续计数至1 1, 此过此过程将周而复始地重复进行。程将周而复始地重复进行。第二,第二,GATEGATE信号能使计数过程重新开

39、始。原则上,信号能使计数过程重新开始。原则上,GATE=1GATE=1允许计数,允许计数,GATE=0GATE=0禁止计数。禁止计数。第三,若在计数期间写入一个新的计数值,并不影第三,若在计数期间写入一个新的计数值,并不影响现行的计数过程。响现行的计数过程。53方式方式0 0方式方式1 1方式方式2 2方式方式3 3功能功能计最后一个计最后一个数中断数中断硬件触发单硬件触发单稳触发器稳触发器分频器分频器方波发生器方波发生器启动条件启动条件写入计数写入计数值值外部触发外部触发写入计数值写入计数值写入计数值写入计数值重复条件重复条件写计数值写计数值外部触发外部触发自动重复自动重复自动重复自动重复N

40、 N与与CLKCLK和和OUTOUT关关系系写入写入N N后后过过N N1 1个个CLKCLK后输后输出变高出变高单个输出脉冲单个输出脉冲宽度为宽度为N N个个CLKCLK每每N N个个CLKCLK输出一输出一个个CLKCLK宽度脉冲宽度脉冲写入写入N N后(偶)后(偶)输出输出N/2N/2个个CLKCLK高高N/2N/2个个CLKCLK低低改变计数值改变计数值立即有效立即有效外部触发后有外部触发后有效效下一计数操作下一计数操作周期有效周期有效下一计数操作下一计数操作周期有效周期有效写入控制字后写入控制字后的的OUTOUT立即为低立即为低高高高高高高54G GA AT TE E低或低或变低变低

41、禁止计数禁止计数禁止计数输禁止计数输出变高出变高禁止计数输出禁止计数输出变高变高上升沿上升沿从初值开始重从初值开始重新计数新计数从初值开始重从初值开始重新计数新计数从初值开始重从初值开始重新计数新计数高高允许计数允许计数允许计数允许计数允许计数允许计数计数器最小计数器最小值值1 11 12 22 2计数器最大计数器最大值值0 00 00 00 0计数到计数到0 0后状后状态态继续减继续减1 1计数计数继续减继续减1 1计计数数自动装初值自动装初值后计数后计数自动装初值后自动装初值后计数计数方式方式0 0方式方式1 1方式方式2 2方式方式3 3555方式方式4软件触发选通方式软件触发选通方式(

42、Software Triggered Strobe)565方式方式4软件触发选通方式软件触发选通方式(Software Triggered Strobe)575方式方式4软件触发选通方式软件触发选通方式(Software Triggered Strobe)586方式方式5硬件触发选通方式硬件触发选通方式(Hardware Triggered Strobe)硬件触发计数方式,即门控信号硬件触发计数方式,即门控信号GATE上升沿触发计数。上升沿触发计数。596方式方式5硬件触发选通方式硬件触发选通方式(Hardware Triggered Strobe)606方式方式5硬件触发选通方式硬件触发选通

43、方式(Hardware Triggered Strobe)617工作方式小结工作方式小结(1)方式方式0在写入控制字后在写入控制字后OUT变为变为低电平,其它低电平,其它5种方式种方式在写入控制字后在写入控制字后OUT输出输出高电平高电平.(2)预置值)预置值N与输出波形的关系与输出波形的关系:方式初值N与波形的关系0写入初值写入初值N后,经后,经N+1个个CLK输出变为高电平输出变为高电平1输出一个宽度为输出一个宽度为N个个CLK的负脉冲的负脉冲2每每N个个CLK脉冲,输出一个宽度为脉冲,输出一个宽度为CLK周期的负脉冲周期的负脉冲3方波输出,周期为方波输出,周期为N个个CLK周期,周期,N

44、为奇数时高电平比低电平多一个为奇数时高电平比低电平多一个CLK周周期期4写入初值写入初值N后,计数结束后输出一个宽度为后,计数结束后输出一个宽度为CLK周期的负脉冲周期的负脉冲5写入初值写入初值N后,由门控触发,计数结束后输出一个宽度为后,由门控触发,计数结束后输出一个宽度为CLK周期的负脉冲周期的负脉冲627工作方式小结工作方式小结(3)方式方式2,4,5相同之处相同之处:计数到终点,输出宽度为:计数到终点,输出宽度为1个个CLK周期的低电平脉冲。周期的低电平脉冲。 不同点为:不同点为:方式方式2为自动启动为自动启动,重复计数、,重复计数、输出低电平脉冲;输出低电平脉冲;方式方式4也为自动启

45、动,也为自动启动,仅仅输出一个低电平脉输出一个低电平脉冲冲;方式方式5需等待需等待GATE上升沿的到来才开始计数,只上升沿的到来才开始计数,只输出一输出一个低电平脉冲个低电平脉冲。(4)方式方式2,3相同之处:输出周期性信号,每当计数到终点,相同之处:输出周期性信号,每当计数到终点,初始化时预置的初值都会被自动重新装入初始化时预置的初值都会被自动重新装入(减减1计数器计数器)。637工作方式小结工作方式小结门控信号门控信号GATE在不同工作方式下的作用在不同工作方式下的作用方式方式GATEGATE引脚输入状态所起的作用引脚输入状态所起的作用输出波形输出波形高电平高电平低电平低电平下降沿下降沿上

46、升沿上升沿0 0允许允许禁止禁止暂停暂停继续继续计数过程中为低计数过程中为低, ,计数值减为计数值减为0 0时时, ,变高变高 ( (单单次次) )1 1不影响不影响不影响不影响不影响不影响开始或重新开始或重新开始开始宽度为宽度为n n个个CLKCLK的低电平(单次)的低电平(单次)2 2允许允许禁止禁止停止停止重新开始重新开始周期为周期为n n个个CLKCLK,宽度,宽度1 1个个CLKCLK的负脉冲(重复)的负脉冲(重复)3 3允许允许禁止禁止停止停止重新开始重新开始周期为周期为n n个个CLKCLK的方波(重复)的方波(重复)4 4允许允许禁止禁止停止停止重新开始重新开始减为减为0 0时

47、输出宽度为时输出宽度为1 1个个CLKCLK的负脉冲的负脉冲( (单次单次) )5 5不影响不影响不影响不影响不影响不影响开始或重新开始或重新开始开始减为减为0 0时输出宽度为时输出宽度为1 1个个CLKCLK的负脉冲的负脉冲( (单次单次) )648253应用举例应用举例在使用在使用82538253芯片时,首先要对其进行初始化编程。芯片时,首先要对其进行初始化编程。初始化编程包括写入控制字和写入计数值两个步骤。初始化编程包括写入控制字和写入计数值两个步骤。第二步,写入计数初始值。第二步,写入计数初始值。计数初始值经由各通道计数初始值经由各通道的端口地址写入。的端口地址写入。第一步,写入控制字

48、。第一步,写入控制字。任一通道的控制字都要从任一通道的控制字都要从82538253的控制口地址写入,控制哪个通道由控制字的的控制口地址写入,控制哪个通道由控制字的D D7 7D D6 6位来决定。位来决定。8253的应用举例的应用举例1. 8253的初始化的初始化两种方法:两种方法:(1)对每个计数器分别进行初始化,先写控制字,后写对每个计数器分别进行初始化,先写控制字,后写计数值。计数值。如果计数值是如果计数值是16位的,则先写低位的,则先写低8位(位(LSB)再写高再写高8位(位(MSB)。)。(2)先写所有计数器的方式控制字,再写各个计数器的先写所有计数器的方式控制字,再写各个计数器的计

49、数值。计数值。如果计数值是如果计数值是16位的,则先写低位的,则先写低8位再写高位再写高8位。位。668253的应用举例的应用举例例:假设一个例:假设一个8253在某系统中的端口地址在某系统中的端口地址40H43H,如果,如果要将计数器要将计数器0设置为工作方式设置为工作方式3,计数初值为,计数初值为3060H,采用,采用二进制计数法二进制计数法.MOV AL, 36H;计数器;计数器0,方式,方式3,计数值,计数值16位,位, ; 二进制计数二进制计数OUT 43H,AL ;写入控制寄存器;写入控制寄存器MOV AX, 3060H;设置计数值;设置计数值OUT 40H,AL;写低;写低8位至

50、计数器位至计数器0MOV AL,AHOUT 40H,AL;写高;写高8位至计数器位至计数器0678253的应用举例的应用举例2. 8253的读操作的读操作原因及过程(注意原因及过程(注意16位):位):两种方法:两种方法:(1)读之前先停止计数)读之前先停止计数 在读之前用在读之前用GATE信号,控制计数器暂停计数,或由外部信号,控制计数器暂停计数,或由外部逻辑禁止所要读的计数通道的逻辑禁止所要读的计数通道的CLK脉冲输入。脉冲输入。 原因:原因:计数值计数值16位,位,CPU要执行两次读入指令,还要把读要执行两次读入指令,还要把读入的数存入寄存器或存储单元中。入的数存入寄存器或存储单元中。

51、两次读入有时间间隔。两次读入有时间间隔。(2)读之前先送计数器锁存命令)读之前先送计数器锁存命令68(1)读之前先停止计数)读之前先停止计数例:读计数器例:读计数器0。这种读入要求软件和硬件配合,即先使。这种读入要求软件和硬件配合,即先使GATE为低电平,禁止计数器计数,再执行如下读入程序段为低电平,禁止计数器计数,再执行如下读入程序段(端口地址(端口地址40H43H):):INAL, 40H ;读入计数器;读入计数器0的的OL低低8位位MOV BL, ALIN AL, 40H ;读入计数器;读入计数器0的的OL高高8位位MOV BH, AL8253的应用举例的应用举例698253的应用举例的

52、应用举例 RL1、RL0为为00的一种特殊形式,的一种特殊形式,写入的端口地址写入的端口地址是控制字地址。是控制字地址。SC1、SC0编码,编码,决定所要锁存的决定所要锁存的计数器。锁存命计数器。锁存命令的低令的低4位无效,位无效,可以为可以为0000B。假设要读计数器假设要读计数器2的计数值:的计数值:MOV AL,80H;计数器计数器2锁存命令锁存命令OUT 43H,AL ;写入计数器写入计数器2控制寄存控制寄存 器器IN AL,42H;读计数器读计数器2输出锁存器输出锁存器 OL低低8位位MOV BL,ALIN AL,42H;读计数器读计数器2输出锁存器输出锁存器 OL高高8位位M0V

53、BH,AL(2)读之前先送计数器锁存命令)读之前先送计数器锁存命令70(2)读之前先送计数器锁存命令)读之前先送计数器锁存命令必须先有一次送锁存命令的写操必须先有一次送锁存命令的写操作,然后才能进行读操作。作,然后才能进行读操作。当执行完当执行完OUT指令后,计数值指令后,计数值被锁存在被锁存在OL内。内。当没有接到锁存命令之前,在计当没有接到锁存命令之前,在计数器的计数过程中,每个计数器数器的计数过程中,每个计数器的计数值输出锁存器随计数单元的计数值输出锁存器随计数单元CE计数值的变化而变化。当接计数值的变化而变化。当接到锁存命令后,到锁存命令后,OL中的计数值中的计数值就被锁存住了,不再随

54、计数单元就被锁存住了,不再随计数单元变化。变化。MOV AL, 80H;计数器;计数器2锁存命令锁存命令OUT 43H,AL ;写入计数器;写入计数器2控控 制寄存器制寄存器IN AL, 42H;读计数器;读计数器2输出锁存器输出锁存器OL低低8位位MOV BL, ALIN AL, 42H;读计数器;读计数器2输出锁存器输出锁存器OL高高8位位M0V BH, AL8253的应用举例的应用举例71 当当读走读走OL中的数据中的数据或或重新编程重新编程后,计数输出锁存器后,计数输出锁存器解解除锁存状态除锁存状态,又开始随计数单元的计数值变化。,又开始随计数单元的计数值变化。 读计数值时,可以不停止

55、计数器的计数。读计数值时,可以不停止计数器的计数。CPU可以在任可以在任何时刻先送锁存命令再读计数值。何时刻先送锁存命令再读计数值。 送完锁存命令之后不管什么时候读计数值,读到的总是送完锁存命令之后不管什么时候读计数值,读到的总是发出锁存命令那个时刻的计数值。发出锁存命令那个时刻的计数值。 每次读计数值之前都必须先送锁存命令。如果读之前使每次读计数值之前都必须先送锁存命令。如果读之前使用了两次锁存命令,则第二个命令是无效的。读入的计数值用了两次锁存命令,则第二个命令是无效的。读入的计数值是执行第一次锁存命令时所锁存的计数值。是执行第一次锁存命令时所锁存的计数值。 8253的应用举例的应用举例7

56、22022-3-1273习题习题某系统中某系统中8253的端口地址为的端口地址为F280HF283H,请按如下要求编制初始化程请按如下要求编制初始化程序:序:1)计数器)计数器0工作于方式工作于方式3,BCD计数,计数,CLK02.5MHz,要求要求OUT0输出速输出速率为率为1kHz的方波。的方波。解:计数器解:计数器0的计数初值的计数初值 N CLK的频率的频率/ OUT的频率的频率 2.5MHz/1kHz 2500初始化程序段:初始化程序段:MOV AL,37H ; 控制字控制字0011 0111,计数器计数器0方式方式3,先低字节后高字节,先低字节后高字节,BCD计数计数MOV DX,

57、0F283H;控制寄存器端口大于地址控制寄存器端口大于地址8位,送位,送DX OUT DX,AL ;控制字写入控制端口,完成初始化控制字写入控制端口,完成初始化MOV DX,0F280H;计数器计数器0的地址送的地址送DXMOV AL,00H;计数初值低字节送计数器计数初值低字节送计数器0OUT DX,AL;MOV AL,25H;计数初值高字节送计数器计数初值高字节送计数器OUT DX,AL;完成送计数初值完成送计数初值 2022-3-1274习题习题2)计数器)计数器1工作于方式工作于方式2,BCD计数,计数,CLK12MHz,要求要求OUT1输出输出1kHz频率的脉冲波。频率的脉冲波。解:

58、计数器解:计数器1的计数初值的计数初值NCLK的频率的频率/ OUT的频率的频率 2MHz/1kHz 2000初始化程序段:初始化程序段:MOV AL,65H ;控制字控制字0110 0101,计数器,计数器1方式方式2,先低字节后高字节,先低字节后高字节,BCDMOV DX,0F283H;大于大于8位的控制器端口地址送位的控制器端口地址送DXOUT DX,AL;控制字写入控制器端口控制字写入控制器端口MOV DX,0F281H;计数器计数器1端口地址送端口地址送DXMOV AL,00H;低字节送计数器低字节送计数器1OUTDX,ALMOV AL,20H;高字节送计数器高字节送计数器1OUTD

59、X,AL;完成送计数初值完成送计数初值2022-3-1275习题习题3)计数器)计数器2工作于方式工作于方式4,用,用OUT1输出作计数脉冲输出作计数脉冲CLK2,计数值为计数值为1000,二进制计数,二进制计数,计数器计到计数器计到0,给出一个控制脉冲沿。,给出一个控制脉冲沿。解:计数器解:计数器2的计数初值的计数初值 N1000=03E8H初始化程序段:初始化程序段:MOV AL,0B8H ;控制字控制字1011 1000,计数器,计数器2方式方式4,先低字节后高字节,二进制计数先低字节后高字节,二进制计数MOV DX,0F283H;大于大于8位的控制器端口送位的控制器端口送DXOUT D

60、X,AL;控制字送控制器端口,完成初始化控制字送控制器端口,完成初始化MOV DX,0F282H;计数器计数器2的端口地址送的端口地址送DXMOV AL,0E8H;低字节送计数器低字节送计数器2OUT DX,ALMOV AL,03H;高字节送计数器高字节送计数器2OUT DX,AL ;完成送计数初值完成送计数初值2022-3-1276习题习题已知某已知某8253的输入时钟为的输入时钟为1.193MHz。请用该芯片产生请用该芯片产生1Hz频率的脉冲频率的脉冲波。设芯片的端口地址为波。设芯片的端口地址为40H43H。解:输入脉冲频率为输入脉冲频率为1.193MHz,要求输出要求输出1Hz频率的脉冲

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论