定时器与计数器浅析

(整期优先)网络出版时间:2014-07-17
/ 2

定时器与计数器浅析

庞新法

庞新法PANGXin-fa

(陕西省委党校科技教研部,西安710061)

(DepartmentofScienceandTechnology,ShaanxiProvincialPartySchool,Xi'an710061,China)

摘要:工业控制中,经常要用到定时器/计数器,本文分析了三种定时/计数器各自的优缺点,重点浅析了可编程定时/计数器8253。

Abstract:Thetimerandcounterareoftenusedinindustrialcontrol.Thispaperanalyzestheadvantagesanddisadvantagesofthreekindsoftimersandcountersandfocusesonanalyzingtheprogrammabletimerandcounter8253.

关键词:可编程定时/计数器;单片机;CPUKeywords:programmabletimerandcounter;MCU;CPU

中图分类号:TM571文献标识码:A文章编号:1006-4311(2014)20-0191-02

1绪论

随着时代的进步,定时/计数器的应用越来越广泛,电子定时器在家用电器中经常用于延时自动开关、定时。延时自动开关可用于电视机、收音机、录音机、催眠器等其它电器的延时断电和延时自停电源。定时可用于照相定时曝光、定时闪光、定时调速、定时烘箱、冰箱门定时报警、定时水位报警。

2定时/计数的概念

微机系统中的定时可分为内部定时和外部定时两类:内部定时是计算机本身运行的时间基准或时序关系,计算机每个操作都是按照严格的时间节拍来执行的;外部定时是外部设备实现某种功能时,本身所需要的一种时序关系。计算机内部定时由CPU硬件结构确定,是固定的时序关系,无法更改。

外部定时由于外设或被控对象的任务不同,其功能各异,无一定模式,往往需要用户根据I/O设备的要求进行安排。当然,用户在考虑外设和CPU连接时,不能脱离计算机的定时要求,应以计算机的时序关系为依据来设计外部定时机构,以满足计算机的时序要求,这就叫做时序配合。

3软件定时

软件定时是利用CPU内部定时机构产生的,一般根据所需的时间常数来设计一个延时子程序。延时子程序中包含一定的指令,设计者要对这些指令的执行时间进行周详的计算或精确的测试,以便确定延迟时间是否符合定时的要求,再运用软件编程,循环执行一段子程序,即可产生等待延时。这是一种常用的定时方法,主要用于短时延时。优点:是不需增加硬设备,只需编制相应的延时程序以备调用即可。

缺点:淤占用CPU资源。CPU执行延时程序的等待时间增加了CPU的时间开销,降低了CPU的效率,浪费了CPU的资源,降低了CPU的执行效率。于设计延时子程序要用指令执行时间来拼凑延时时间,显得比较麻烦。盂软件延时时间随主机频率的不同而变化,即定时程序的通用性差。在实际中这种方法还是经常被使用的,尤其在已有系统上进行软件开发,以及延时时间较小而重复次数又有限时,常采用软件方法来实现定时。

4数字逻辑电路定时

根据实际需要,设计数字逻辑电路达到定时的目的。常采用分频器、单稳电路或简易定时电路控制定时间。如NE555定时电路。

优点:不占用CPU资源。缺点:通用性、灵活性较差。要改变计数/定时的要求,必须改变电路参数。

5软硬结合定时

硬件定时采用可编程通用的定时/计数器或单稳态延时电路来产生定时或延时,即将专门的定时/计数器作为主要硬件,在简单的软件控制下,产生准确的时间延迟,故称为可编程定时/计数器,它结合了软件定时、数字逻辑电路定时的优点,是一个非常好的折中的办法。

这种方法的主要思想是:根据需要的定时时间,用指令设置时间常数,并用指令启动定时/计数器开始计数,计数到确定的值之后,便自动产生一个定时/计数输出。这样,在定时/计数器开始工作以后,CPU就不必去管它,而可以去做别的工作,它与CPU并行工作,不占用CPU的时间,利用定时/计数器产生中断信号,就可能建立多作业的环境,从而大大提高了CPU的利用率。由于定时/计数器本身的开销并不大,因此得到了广泛的应用。

优点:淤不占用CPU的时间。于定时时间长。盂使用灵活。定时时长可由编程初值定义。榆定时准确。虞定时时间不受主机频率的影响。愚定时程序具有通用性;缺点:必须用专用芯片。

6计数器和定时器之间的异同

相同点:均属于计数器的减“1”;不同点:计数器,在减到“0”后,输出一个信号便结束。仅计数一次。定时器,在减到“0”后,输出一个信号不结束。重复计数,不断产生一定时间间隔的信号。

7可编程定时/计数器8253特性

定时计数器8253是24脚双列直插式芯片,+5V电源供电。每个芯片内部有3个独立的计数器(计数通道),每个计数器都有自己的时钟输入CLK、计数输出OUT和门控制信号GATE。通过编程选择计数器和设置工作方式,计数器既可作计数器用,也可作定时器用,故称定时/计数器,记做T/C。其引脚分配如图1所示。

8253芯片内部组成部分:

7.1数据总线缓冲器(8位、三态、双向)数据中线缓冲器是8253与系统数据总线相连接时用的接口电路,它由8位双向三态缓冲器构成。

7.2读/写控制逻辑读/写控制逻辑接收系统控制总线送来的输入信号,经组合后形成控制信号,对各部分操作进行控制。可接收的控制信号有:CS:片选信号,低电平有效;RD:读信号,低电平有效;WR:写信号,低电平信号;A0A1:端口选择信号。A0A1=00时,选中0通道;A0A1=01时,选中1通道;A0A1=10时,选中2通道;A0A1=11时,选中控制寄存器。8253的输入信号组合功能表如表1所示。

7.3计数器0~2三个完全相同的16位减计数器。每个通各有3个引脚,它们是:CLK0~CLK2计数器0~2的输入时钟脉冲此引脚输入;OUT0~OUT2计数器0~2的输出端;GATE0~GATE2计数器0~2的门控脉冲输入端。

7.4控制字寄存器控制字寄存器是一种只写寄存器,在对8253编程时,由CPU用输出指令向它写入控制字,来选定计数器通道,规定各计数器的工作方式,读写格式和数制。其格式如图2所示。

7.58253芯片的工作方式方式0:计数结束中断方式。方式1:可编程单稳态输出方式。方式2:比率发生器。方式3:方波发生器。方式4:软件触发选通。方式5:硬件触发选通。

88253的应用

8253既可以连接CPU8086,也可以连接单片机AT89C51。主要用于计数、定时、频率信号发生器。

参考文献:

[1]王国明.微机原理与接口技术[M].武汉大学出版社,2007.

[2]郭军.单片机原理及应用[M].西安电子科技大学出版社,2009.

[3]李群芳.单片机原理及应用[M].武汉大学出版社,2006.