




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第九章定时/计数器12本章内容9.1概述
9.1.1定时/计数的基本概念
9.1.2实现定时和计数的方法9.2可编程计数器/定时器82539.2.18253的主要功能
9.2.28253的引脚结构及功能说明
9.2.38253的工作方式
9.2.48253的方式控制字和初始化编程
9.2.58253的应用设计举例31、定时器概述定时器(TIM):提供时间标准,每过一定时间,产生一个事件。(时钟信号)。一切需要按一定周期进行的工作。计算中心对用户服务,系统任务调度,周期性检测、控制等。计数器(CNT):记录在一段的时间内发生的事件次数,(频率计:在一定时间内的周期数)。捕捉器(CCP):捕捉外部某一事件(电平、脉冲)发生的时刻。在计算机中定时器与计数器、捕捉器是同样的电路,工作在不同的模式下。1、定时器概述实现定时器的主要方法有:CPU软件延时;简单的硬件电路定时;可编程芯片的硬件定时;专用时钟芯片。41、定时器概述设计循环程序,通过精心计算循环次数,和循环中每条指令的执行时间。执行一次这个程序段,就产生一个延时时间。例如编程中常见的DELAY程序优点是不需硬件,缺点是占用CPU时间,并且不容易实现精确定时。在不同的系统时钟频率下,同一个软件延时程序的定时时间也会相去甚远,因此这种方法常用在对延时时间小,并且不需精确定时的场合,如等待模数变换等。软件定时器51、定时器概述简单硬件定时器采用不可编程的器件,实现数字分频器电路。如74LS191、74LS194等。计数、分频电路。采用单稳电路
简易定时电路(如常用的555时基电路),外接RC电路。这样的定时电路实现简单。它的缺点仍是定时精度差,并且调试过程复杂。使用不方便。
61、定时器概述简单硬件定时器----用触发器的分频电路71、定时器概述简单硬件定时器----NE555分频电路81、定时器概述简单硬件定时器----专用时钟芯片如DALLAS的时钟芯片DS12887。内部带锂电池,可保持十年。有多种时间表示形式,二进制或BCD码。12小时或24小时计时。提供:秒、分、时、天、星期、日期、月、年。内部有128字节RAM,掉电时信息不丢失。其中114字节为通用RAM。中断请求:每秒一次到每天一次可设。
122ms~500ms周期可设。92、可编程定时器目前微机系统中最常用的方法,方便灵活。定时值和定时范围可用程序确定和改变,定时精度高。具有多种工作方式,可以产生多种不同形式的输出信号。其中Intel公司的8253和8254等是常见的可编程定时器芯片。当定时器芯片为周期性输入时,称定时器;若为非周期性输入时,称计数器。102、可编程定时器-8253定时计数器可编程间隔定时器(ProgrammableIntervalTimer)Intel8254是8253的改进型,内部工作方式和外部引脚与8253完全相同,只是增加了一个读回命令和状态字的功能。8253的读写操作对系统时钟没有特殊要求,因此它几乎可以应用于任何一种微机系统中,可作为可编程的事件计数器、分频器、方波发生器、实时时钟及单脉冲发生器等。112、可编程定时器-8253定时计数器8253功能说明(1)具有三个独立的16位计数通道;(2)每个计数器通道都可按照二进制或BCD计数;(3)每个计数器通道的计数速率最高可达2MHz;(4)每个计数器通道有6种工作方式,均可由程序设置和改变;(5)所有输入输出都与TTL电平兼容。122、可编程定时器-8253定时计数器8253引脚图地址总线数据总线片选信号读、写线定时器专用信号:输入(CLK)、输出(OUT)、门控(GATE)132、可编程定时器-8253定时计数器8253功能结构图14数据总线缓冲器读/写控制逻辑控制字寄存器CLK0GATE0OUT0通道0CLK2GATE2OUT2通道2CLK1GATE1OUT1通道1CSD0-D7内部总线RDWRA0A1152、可编程定时器-8253定时计数器8253功能结构图2、可编程定时器-8253定时计数器8253与处理器接口16
各信号配合实现8253的读/写操作/:读/写控制信号,低电平有效。:片选信号,低电平有效。A0、A1、、、各信号配合实现8253的读/写操作,如表8.2所示。2、可编程定时器-8253定时计数器8253与外界接口CLK时钟输入信号:在计数时,此引脚上每输入一个时钟信号的下降沿,计数器的值减1。它的工作还受门控信号影响。GATE门控输入信号:控制计数器工作的外部信号。在不同工作方式下,作用不同;可分成电平控制和上升沿触发控制两种类型;OUT计数器输出信号:当一次计数过程结束(即计数值减为0时),OUT引脚上产生一个输出信号。其波形取决于工作方式。172、可编程定时器-8253定时计数器8253的工作方式方式0--计数结束中断:每次初始化后,进行一次计数。方式1--可编程单稳脉冲:硬件触发一次计数。方式2—频率发生器:连续工作,即使8088CPU停止工作,8253仍可保持工作。方式3--方波发生器:与工作方式2类似,只是输出波形为方波。方式4--软件触发选通:工作方式与方式0类似。只是输出信号不同。方式5--硬件触发选通:工作方式与方式1类似。只是输出信号不同。182、可编程定时器-8253定时计数器方式0----计数结束中断198253的方式0为一次性计数。①设置工作方式。当设置为方式0后,输出OUT信号随即变为低电平。2、可编程定时器-8253定时计数器方式0----计数结束中断20②写计数初值。在下一时钟周期计数初值装入减1计数器后,若GATE为高,开始计数。OUT输出仍保持低电平。2、可编程定时器-8253定时计数器方式0----计数结束中断21③计数器开始计数。CLK引脚每出现一个下降沿,计数值减1。2、可编程定时器-8253定时计数器方式0----计数结束中断④当计数值减为0,OUT变为高电平。由于写入计数值后,第一个时钟脉冲是将计数初值写入计数器,因此整个计数过程有N+1个周期。并且一直持续到重新装入计数值或重新设置工作方式为止。计数结束时,OUT端的跳变信号,可用来向CPU请求中断。222、可编程定时器-8253定时计数器方式0----计数结束中断⑦计数过程中,若门控信号变低,停止计数值,当门控信号恢复为高时,继续计数过程。232、可编程定时器-8253定时计数器方式0----计数结束中断计数过程中,写入新计数值,按新值重新开始。当GATE=0时写入计数值N,在下一时钟周期计数初值仍会写入计数器。但不开始减一计数。当GATE=1后,才开始减一计数,此时N脉冲即完成计数过程。242、可编程定时器-8253定时计数器方式0----计数结束中断------特点25方式0的特点和应用计数过程由软件启动GATE的作用是开放计数或禁止计数OUT端由低变高表示计数过程结束2、可编程定时器-8253定时计数器方式0----计数结束中断------应用26典型的事件计数用法:CLK端作为事件计数输入信号;计数执行单元CE为零时OUT端变为高电平,可作为中断请求信号OUT的特点:写入工作模式后变低;计数到0时变高,直到一个新的工作模式或新的计数值写入才会变低2、可编程定时器-8253定时计数器方式1----可编程单稳脉冲所谓单稳,是说只有一个稳定状态,(高或低)。另一个是不稳定状态。当电路处于不稳定状态时,过一段时间后会自动回复到稳定状态。方式1:硬件触发,一次计数:由门控信号启动一次计数过程,在计数过程中,若又有门控信号,则重新开始新的计数过程。272、可编程定时器-8253定时计数器方式1----可编程单稳脉冲①设置工作方式。当设置为方式1后,输出OUT信号随即变为高电平,并保持高。②计数初值写到预置寄存器。此时,OUT输出仍保持高电平。282、可编程定时器-8253定时计数器方式1----可编程单稳脉冲③门控信号的上升沿,启动减法计数,并且门控信号的电平不影响计数过程。④下一时钟脉冲的下降沿,使输出变低,并开始减一计数。292、可编程定时器-8253定时计数器方式1----可编程单稳脉冲⑤计数值从一减到0时,停止计数过程;使OUT变高,并保持高电平。⑥在计数过程中,计数过程中,若门控信号变低,不影响计数过程。若门控端有脉冲上跳沿出现,则再次将预置值装入减一计数器,并重新开始计数。302、可编程定时器-8253定时计数器方式1----可编程单稳脉冲在计数过程中,可以对预置寄存器写入新预置值。它并不中断计数过程。直到减一计数器从1减到0,OUT变高,并停止计数过程。直到新的门控脉冲(上升沿),将新预置值装入减一计数器,开始按新值的计数过程。312、可编程定时器-8253定时计数器方式1----可编程单稳脉冲若在计数过程中,不断有门控脉冲出现(减一计数器不出现从1减到0的情况),计数过程永远不会停止。OUT也一直保持为低电平(暂态)。(WATCHDOG看门狗)。322、可编程定时器-8253定时计数器方式1----可编程单稳脉冲----特点和应用33计数器的启动只能由Gate的上升沿产生即只能用硬件启动OUT输出为一个单稳态负脉冲在形成单稳态脉冲过程中可以重触发在微机实时控制系统中常用作监视时钟WatchdogTimer2、可编程定时器-8253定时计数器方式2----频率发生器方式2的特点是能够连续工作。如果计数值为N,则每输入N个CLK脉冲,OUT就输出一个负脉冲。这种方式象一个频率发生器或分频器。它的典型应用是产生实时时钟信号,可用来作为CPU定时中断信号。当初始化为方式2后,输出OUT变高,写入计数值后,输出OUT继续保持高电平,并立即开始减法计数。当计数值减为1时,OUT脚出现一个时钟周期的低脉冲。并恢复计数初值,开始新的计数周期。342、可编程定时器-8253定时计数器方式2----频率发生器352、可编程定时器-8253定时计数器方式2----频率发生器初始化后、及计数过程中,OUT保持为高,计数值减为1时,OUT输出一个周期的低电平并重新开始计数362、可编程定时器-8253定时计数器方式2----频率发生器计数过程中装入新值,不影响当前计数工作;但从下个周期开始按新计数值计数。372、可编程定时器-8253定时计数器方式2----频率发生器在计数过程中,若GATE出现低电平,将禁止计数,输出保持高。GATE恢复高电平时,将重新装入预置计数值,开始计数。通过GATE,能用硬件对多个计数器进行同步。382、可编程定时器-8253定时计数器方式2----频率发生器若在输出脉冲期间(OUT=0),GATE出现低电平,输出立即变高。并在下一时钟周期重新装入计数值,开始计数。模式2,计数值不能设为1。392、可编程定时器-8253定时计数器方式2----频率发生器----特点和应用40CR内容能自动地、重复地装入到CE中OUT端上能连续地输出周期性分频信号改变计数初值即可获得不同速率的OUT输出信号负脉冲宽度均为一个CLK脉冲的周期。主要作为分频器和时基信号2、可编程定时器-8253定时计数器方式3----方波发生器41除OUT输出方波之外和方式2相似方波的重复周期是计数初值个CLK脉冲周期之和2、可编程定时器-8253定时计数器方式3----方波发生器门控信号GATE=1,允许计数,=0,禁止计数。在计数过程中,写入新的计数值,不影响当前计数过程;在本次计数结束后,从新计数初值开始工作。若写入新计数值后,若门控信号(GATE=0)出现在输出OUT为高电平期间,门控信号结束后,下一时钟周期,从新值开始重新工作。若出现在输出OUT为低电平期间,则从下一周期从新值开始工作。方式3的工作形式与方式2十分相似,只是输出低电平持续时间不一样。常作为波特率发生器使用。422、可编程定时器-8253定时计数器方式3----方波发生器432、可编程定时器-8253定时计数器方式3----方波发生器方式3,8253计数器每次进行减二操作。对偶数计数值,每次输出发生变化时,重新装入计数值,并进行减二计数。对奇数计数值,将初值装入后,或每次输出发生高跳变时,第一次减一,以后每次减二;而当输出发生低跳变时,重新装入计数值后,下一时钟周期执行一次减三操作,然后执行每次减二操作。这样高电平的持续时间比低电平多一个时钟周期。442、可编程定时器-8253定时计数器方式3----方波发生器452、可编程定时器-8253定时计数器方式3----方波发生器----特点和应用46计数过程是CE内容减2/3改变计数初值则OUT端将输出不同频率主要应用作为方波发生器和波特率发生器2、可编程定时器-8253定时计数器方式4----软件触发选通
47SoftwareTriggeredstrobe写入方式控制字CW后OUT端输出高电平在写入计数初值后的一个CLK脉冲开始减1计数CE为零时使OUT输出变为低电平OUT低电平持续一个CLK脉冲周期后又恢复到高电平与方式0不同是输出OUT的相位相反。方式5硬件方式0结束后中断2、可编程定时器-8253定时计数器方式4:软件触发选通信号发生(一次性)置方式4后,输出OUT变高,写入计数值后,输出仍保持高。从下一时钟装入计数值,开始计数,到计数值为0时,OUT变低,并持续一个时钟周期,再变高,并停止计数。48方式4----软件触发选通
2、可编程定时器-8253定时计数器若GATE=0,写入计数值后,不开始计数工作,直到GATE=1,开始计数。若计数未完成,重新写入计数值,将从新值重新开始。49方式4----软件触发选通
2、可编程定时器-8253定时计数器若计数未完成,重新写入计数值,将从新值重新开始。50方式4----软件触发选通
2、可编程定时器-8253定时计数器方式5----硬件触发选通51HardwareTriggeredStrobe方式5和方式1有些相似CE到零时OUT端产生宽度为1个CLK脉冲周期的负脉冲选通输出信号2、可编程定时器-8253定时计数器方式5----硬件触发选通方式5与方式1的工作过程类似,也是输出信号不同。当写入方式5的控制字后,OUT为高,写入计数初值后,并不开始计数。由GATE上升沿启动计数过程(硬件启动)。当计数到0时,OUT变低,持续一个时钟周期,OUT恢复为高,并停止计数。522、可编程定时器-8253定时计数器方式5----硬件触发选通在计数过程中GATE可以为高电平,也可以为低电平。在计数过程中,又有触发信号GATE(上升沿),计数器在下一时钟周期重新装入计数初值,且从新开始计数。532、可编程定时器-8253定时计数器方式5----硬件触发选通计数过程中装入新计数值,不影响当前计数过程。等待新的触发GATE到来后开始新的计数过程5455方式0:一旦写入控制字输出即为低计数结束,输出即为高该上升沿可作中断请求信号一次有效方式1:产生单个负脉冲脉宽为计数值一次有效方式2:分频器但负脉冲的宽度为一个时钟宽连续有效方式3:方波发生器占空比为0.5(偶)或略大于0.5(奇)连续有效方式4:软件置计数值负脉冲为一个时钟宽度一次有效方式5:硬件(门控信号)触发计数负脉冲为一个时钟宽度, 以后初值自动装入,但不触发六种工作方式对比六种工作方式对比562、可编程定时器-8253定时计数器工作方式小结572、可编程定时器-8253定时计数器8253的编程58写入方式控制字三个通道用的控制字端口地址是相同的三个控制字写入后存入通道对应的寄存器中写入计数初始值读计数值以普通对计数器端口读的方法取得当前计数值锁存计数器的当前计数值2、可编程定时器-8253定时计数器8253的编程8253每一计数器均有一控制字,三个控制字格式相同,如下592、可编程定时器-8253定时计数器8253的编程----方式控制字1)计数器选择(D7、D6)3个计数器共用一个控制字地址,D7D6两位决定当前控制字是哪一个通道的控制字。在8253中,D7D6=11的编码是非法,而8254利用它作为读回命令。2)读写格式(D5、D4)8253的数据线为8位,一次只能进行一个字节的数据交换,但计数器是16位的,所以8253设计了几种不同的读写计数值的格式。602、可编程定时器-8253定时计数器8253的编程----方式控制字3)工作方式(D3、D2、D1)8253的每个通道的6种不同工作方式,由这三位决定。4)数制设定(D0)8253的每个通道有两种计数制:二进制和十进制(BCD码)0~FFFFH(65535D),0~9999D。612、可编程定时器-8253定时计数器8253的编程----写入计数值
每个计数器通道都有对应的计数器I/O地址,用于读写计数值。读写计数值时,必须按方式控制字规定的读写格式进行。因为计数器是先减1,再判断是否为0,所以,写入0实际上代表最大计数值。在二进制时,代表65536。选择十进制(BCD码)时,计数值范围为0000~9999,其中0000代表最大值10000。622、可编程定时器-8253定时计数器8253的编程----读取计数值
利用计数器I/O地址,可以读取计数器的当前计数值。但对8位数据线的8253来说,读取16位计数值需要分两次。由于计数在不断进行,在前后两次执行输入指令的过程中,计数值可能已经变化。所以,如果计数过程可以暂停,可在读取计数值时,使GATE信号为低(对方式1和方式5无效)。否则应该将当前计数值先行锁存,然后读取。632、可编程定时器-8253定时计数器8253的编程顺序1)写方式控制字,设定工作方式。2)写预置寄存器,设定计数初值。3)对方式1和方式5,需要硬件启动,即GATE端出现一个上升沿信号;对其它方式不需要这个过程,直接进入下一步,即设定计数值后软件启动。4)CLK端的下一个下降沿,将预置寄存器的计数初值送入减1计数器。5)计数开始,当GATE为高电平时,CLK端每出现一个下降沿,计数器减1;当GATE为低电平时,不进行计数(方式1、5除外)。6)当计数值减至0,一次计数过程结束;通常OUT端在计数值减至0时发生改变,以指示一次计数结束。642、可编程定时器-8253定时计数器8253的编程顺序需要注意:处理器写入8253的计数初值只是写入了预置寄存器,之后到来的第一个CLK输入脉冲(需先由低电平变高,再由高变回低),才将预置寄存器的初值送到减1计数器。从第二个CLK信号的下降沿,计数器才真正开始减1计数。因此,若设置计数初值为N,则从输出指令写完计数初值到计数结束,CLK信号的下降沿有N+1个,但从第一个下降沿到最后一个下降沿之间正好又是N个完整的CLK信号。652、可编程定时器-8253定时计数器8253的工作过程方式0和方式4,如果不重新设定计数初值,计数器就停止计数过程。方式1和方式5,由GATE端的硬件启动信号(上升沿),重新开始计数过程。方式2和方式3,计数值减至0后,8253自动将预置寄存器的计数初值送入减1计数器,同时重复计数过程,直到写入新的方式控制字才停止。即使CPU停止工作,8253也会继续工作。662、8253定时计数器应用举例用8253监视一个生产流水线67预定义:8253cs0x40 8255cs0x80
2、8253定时计数器应用举例用8253监视一个生产流水线68主程序为:
MOVAL,15H ;00010101 OUT43H,AL MOVAL,50H OUT40H,AL STI LOP:HLT JMPLOP2、8253定时计数器应用举例用8253监视一个生产流水线69中断服务程序为:
MOVAL,01H OUT80H,AL ;8255PA接口
MOVAL,77H ;01110111 OUT43H,AL MOVAL,50H OUT41H,AL MOVAL,12H OUT41H,AL CALLprocess
MOVAL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版二年级数学下册期末测试卷(含答案)
- 湖南省九校联盟2025届高三上学期第一次联考-生物试题(含答案)
- 人教版(2019)高中化学必修第一册第一章1.1物质的分类及转化第一课时教案+学案+习题精炼(含答案)
- 第17课《短文两篇》课件 2024-2025学年统编版语文七年级下册
- 初中数学简单的轴对称图形第2课时线段垂直平分线的性质课件 2024-2025学年七年级数学下册北师大版2024
- 【核心素养】第2课《学做“快乐鸟”》第1课时《我很快乐和也有不开心的事》+公开课一等奖创新教案+素材
- 智能物流配送管理制度
- 八年级体育 教学设计 人教新课标版
- 高钾血症患者的护理
- 第一单元第1课《网络发展简述》教学设计 2023-2024学年浙教版(2020)初中信息技术八年级下册
- 算法设计与分析 课件 7.10-回溯法 - 典型应用 - 两种实现 - n皇后问题
- 防性侵安全教育课件
- 《食品仪器分析技术》项目七质谱法及其在食品分析中的应用
- 北京市2024年中考历史真题试卷(含答案)
- 职业技能大赛-鸿蒙移动应用开发赛初赛理论知识考试及答案
- 2024年全国高考日语试卷(新题型)(含答案与解析)
- 部编版六年级下册《第14课 文言文二则》2024年同步练习卷
- 报销单据明细表Excel模板
- 2024-2030年中国低空监视雷达行业市场发展趋势与前景展望战略研究报告
- 学习《吴军阅读与写作》 (50讲 )
- 12J003《室外工程图集》
评论
0/150
提交评论