在计算机控制系统中,经常需要进行定时控制和延时,对外部事件进行计数和检测,通常采用一下三种方法来实现定时和计数:
1) 硬件法。通过搭建硬件电路完成,优点是不占用CPU时间,但要求改变定时时间时,只能通过改变电路中的元件参数来实现,缺点时很不灵活。
2) 软件法。软件定时是执行一段循环程序来进行时间延时,优点时无额外的硬件开销。缺点是牺牲了CPU的时间,且不容易得到比较精确的时间。
3) 可编程定时器/计数器。最大特点是可以通过软件编程来实现定时时间的改变,通过中断或查询方法来完成定时功能或计数功能。定时器达到定时时间或者计数满时,置位溢出标志。
89C52单片机系列有三个16位可编程定时器/计数器:0/1/2。每个定时器/计数器都可以对系统时钟进行计数,也可以对外部信号进行计数。定时器/计数器由特殊寄存器TH0/TL0、TH1/TL1、TH2/TL2组成。
注意:检测一个由1到0的跳变需要两个机器周期,故外部信号的最高计数频率为时钟频率的1/24,如果晶振频率为 12Mhz,则最高计数频率为0.5Mhz.
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !