您的位置 首页 基础

第9课 定时器

在对单片机应用项目进行编程时,经常需要插入一定的延时程序,此时一般有两种方案可选择,一是采用软件手段——插入一段延时程序,

在对单片机使用项目进行编程时,常常需求刺进必定的延时程序,此刻一般有两种计划可挑选,一是选用软件手法——刺进一段延时程序,二是选用单片机内部的硬件资源——守时器。关于软件手法,咱们在前面的课程现已详细讲到过,它最大的缺陷便是占用单片机的“机时”,也便是消耗单片机的“精力”,然后降低了单片机的作业效率。而守时器则不同,它是单片机内部一个独立的功用模块,守时器一旦设置后,守时器便主动开端计时,当计时时刻满后,便发生相应的中止,去处于中止函数内的程序,而在计时这段时刻内,守时器和CPU是别离独立作业的,CUP此刻就能够有时刻去做其它的作业。所以为了进步单片机的作业效率和完成准确的延时,现在简直一切的半导休出产厂商在规划单片机时,在内部都装备了守时器模块。下面51单片机内部的守时器进行介绍。

1、守时器/计数器概述
51单片机内部共有两个守时器/计数器模块T0和T1,关于52单片机内部又添加了守时器T3。它们即具有守时功用,也能够作计数功用,能够通过相应的寄存器进行设置。但不论是用于守时功用仍是计数功用,其基本原理都是相同的,如图1所示为守时器/计数器的结构图,内部为一个加1计数器,由高8位TH0(或TH1)和低8位TL0(或TL1)两个计数寄存器组成。TMOD是守时器/计数器的作业形式和作业方法寄存器,用来确定是处于守时形式仍是计数形式以及何种工种方法,这个后边解说寄存器的时会讲到。TCON为操控寄存器,用来操控守时器/计数器的发动、中止及溢出标志等的设置。
图1 守时器/计数器的结构框图
作业原理如图的所示,加1计数器相当于一个装数的容器,每来一个脉冲主动加1,当数装满后便主动溢出,假如此刻设置的中止,CPU便会中止当时正在履行的作业,去履行中止函数内的程序。这儿也能够形象把计数器看作一个装水的水桶,每来一滴水,水桶的水便会添加一点,当水装满了后,便会溢出。
加1计数器的计数脉冲有两个来历,一个是由体系时钟振荡器输出脉冲通过12分频后送来,一个是由外部引脚T0(P34引脚)和T1(P35引脚)送来的外部脉冲(一般为下降沿),前者首要用于守时,后者首要用于计数。每来一个脉冲时,计数器会主动加1,当加到全为1时,再来一个脉冲,计数器便会主动清0,且计数器此刻会溢出并使TCON寄存器中的TF0和TF1置1,假如此刻设置了守时器中止答应,便会主动的向CPU宣布中止请求。
图2 守时器/计数器的作业原图
或许咱们仍是不了解,这样为什么就能够用来进行守时和计数呢,这儿咱们以浅显的比如解说一下守时,仍是以水桶装水为例,假定水桶开端一滴水都没有(相当于计数器内部全为0),此刻来一滴水(相当于来一个脉冲),水桶的水便会添加一滴(相当于计数器主动加1),而水桶的容积是规则了的(相当于计数器最大计数值),水桶的水总会有满的时分(相当于计数器加到悉数为1),此刻假定每来一滴水的时刻咱们知道或许人为能够设置,水桶从一滴水没有到悉数装满就会有一个时刻,这个便是守时时刻值。
也便是说,咱们假如知道每来一个脉冲相应的时刻t,又知道加1计数器最大能够装多少量n,咱们就能够知道这个时刻值T,即T=nt。而这个T的时刻一般是固定的,实践使用时需求不同的守时时刻,咱们能够选用预先在计数器内装必定的初值(相当于在水桶内先装一些水),然后在这个初值的基本上再来相应脉冲,计数器主动加1,一直到溢出,咱们就能够得到恣意想要的守时时刻。
从图2中咱们还能够看出,守时器/计数器还有一个操控开关,此开关能够操控守时器计数器相应的发动和中止。而此开关的开闭首要是由图2左下部的TRX 、GATE等信号一起作用,这儿都是门电路,能够由数电的知道解说,由于比较简单,这儿我就不作阐明,后边结合的相关的寄存器进行介绍。
2、守时器/计数器相关寄存器
与守时器/计数器相关的寄存器首要有两个(编程时如涉及到中止,还要用到中止相关的寄存器,前面现已讲可),一个是作业形式及作业方法设置寄存器TMOD,一个便是跟操控有关(便是图2中开关的设置有关的)寄存器TCON,下面别离对其进行介绍。
留意:对单片机内部寄存器的阐明相当于对结构原理的解说,所以在单片机内部功用模块看不了解时,也能够凭借相关寄存器的阐明加以了解。
(1)守时器作业形式及作业方法寄存器TMOD
作业方法寄存器TMOD用于设置守时/计数器的作业形式及作业方法,低四位用于T0,高四位用于T1。其格局如下:
GATE:门控位。GATE=0时,只要用软件使TCON中的TR0或TR1为1,就能够发动守时/计数器作业;GATA=1时,要用软件使TR0或TR1为1,一起外部中止引脚或也为高电平时,才干发动守时/计数器作业。即此刻守时器的发动多了一条件。
C/T :守时/计数形式挑选位。C/T=0为守时形式;C/T =1为计数形式。
M1M0:作业方法设置位。守时/计数器有四种作业方法,由M1M0进行设置。详细阐明如下表:
(2)守时器/计数器操控寄存器TCON
TCON的低4位用于操控外部中止,已在前面介绍。TCON的高4位用于操控守时/计数器的发动和中止请求。其格局如下:
TF1(TCON.7):T1溢出中止请求标志位。T1计数溢出时由硬件主动置TF1为1。CPU呼应中止后TF1由硬件主动清0。T1作业时,CPU可随时查询TF1的状况。所以,TF1可用作查询测验的标志。TF1也能够用软件置1或清0,同硬件置1或清0的作用相同。
TR1(TCON.6):T1运转操控位。TR1置1时,T1开端作业;TR1置0时,T1中止作业。TR1由软件置1或清0。所以,用软件可操控守时/计数器的发动与中止。
TF0(TCON.5):T0溢出中止请求标志位,其功用与TF1类同。
TR0(TCON.4):T0运转操控位,其功用与TR1类同。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/jichu/317344.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部