文档库 最新最全的文档下载
当前位置:文档库 › STN32--定时器计数器(向上计数模式基本配置)

STN32--定时器计数器(向上计数模式基本配置)

STN32--定时器计数器(向上计数模式基本配置)
STN32--定时器计数器(向上计数模式基本配置)

实验一:TIMER-1:定时器上溢,查询溢出后取反LED.

故频率计算:f=(72M/(TIM_Prescaler+1)*(1+TIM_Period)) ;

定时器的基本设置:

1、设置预分频数,得到CK_CNT,

TIM_TimeBaseStructure.TIM_Prescaler = 7199;

CK_CNT 的计数频率=72M/(7199+1)=10K ;

2、设置自动重装载寄存器,当计数值达到这个寄存器锁存数值时,溢出产生事件

TIM_TimeBaseStructure.TIM_Period = 9999;

10K/(9999+1)=1HZ ,也就是1S 溢出一次;

3、设置计数模式

TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;

从0计数到ARR 产生溢出事件;

4、 设置时间分割值

TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1 ;

5、 初始化定时器2

TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);

6、清楚标志

TIM_ClearFlag(TIM2, TIM_FLAG_Update);

7、打开定时器

TIM_Cmd(TIM2, ENABLE);

8、在主函数中查询TIM_FLAG_Update 标志置位了就清除标志:

if(TIM_GetFlagStatus (TIM2,TIM_FLAG_Update )!=RESET)

{

TIM_ClearFlag (TIM2,TIM_FLAG_Update);

if( GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_8)==0)

GPIO_WriteBit(GPIOA,GPIO_Pin_8,Bit_SET);

else

GPIO_WriteBit(GPIOA,GPIO_Pin_8,Bit_RESET);

}

时钟预分频 CK_PSC 加减计数器 CK_CNT 达到ARR 的值产生事件

实验二、TIMER-1:定时器上溢,中断溢出后取反LED.

利用中断的方法:

步骤一:定时器的配置

1、设置预分频数,得到CK_CNT,

TIM_TimeBaseStructure.TIM_Prescaler = 7199;

CK_CNT的计数频率=72M/(7199+1)=10K;

2、设置自动重装载寄存器,当计数值达到这个寄存器锁存数值时,溢出产生事件

TIM_TimeBaseStructure.TIM_Period = 9999;

10K/(9999+1)=1HZ ,也就是1S溢出一次;

3、设置计数模式

TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;

从0计数到ARR产生溢出事件;

4、设置时间分割值

TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1 ;

5、初始化定时器2

TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);

6、打开中断溢出中断

TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);

7、打开定时器

TIM_Cmd(TIM2, ENABLE);

步骤二:编写中断配置

void NVIC_Configuration(void)

{

NVIC_InitTypeDef NVIC_InitStructure;

#ifdef VECT_TAB_RAM

/* Set the Vector Table base location at 0x20000000 */

NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);

#else /* VECT_TAB_FLASH */

/* Set the Vector Table base location at 0x08000000 */

NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);

#endif

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1) ;

NVIC_InitStructure.NVIC_IRQChannel=TIM2_IRQChannel;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;

NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;

NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;

NVIC_Init(&NVIC_InitStructure);

}

注意:加黑的部分,如果你在RAM中编程就要定义VECT_TAB_RAM ,如果在FLASH 编程,则需要NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);如果没有这条预编译语句的话,则很可能会存在进不去中断的错误。

步骤三:编写中断服务函数

void TIM2_IRQHandler(void)

{

if(TIM_GetITStatus(TIM2,TIM_IT_Update)!=RESET)

{

TIM_ClearITPendingBit(TIM2,TIM_IT_Update);

GPIO_WriteBit(GPIOD,GPIO_Pin_2,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOD,GPIO_Pin_2)));

GPIO_WriteBit(GPIOA,GPIO_Pin_8,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_8)));

}

}

进入中断判断是不是TIM_IT_Update置位了,如果是的话,清除标志位,将PA8,PD2控制的LED灯取反。

第5章习题解答

第5章思考题及习题5参考答案 一、填空 1.如果采用晶振的频率为3MHz,定时器/计数器T x(x=0,1)工作在方式0、1、2下,其方式0的最大定时时间为,方式1的最大定时时间为,方式2的最大定时时间为。 答:32.768ms,262.144ms,1024μs 2.定时器/计数器用作计数器模式时,外部输入的计数脉冲的最高频率为系统时钟频率的。 答:1/24 3.定时器/计数器用作定时器模式时,其计数脉冲由提供,定时时间与有关。 答:系统时钟信号12分频后,定时器初值 4.定时器/计数器T1测量某正单脉冲的宽度,采用方式可得到最大量程?若时钟频率为6MHz,求允许测量的最大脉冲宽度为。 答:方式1定时,131.072ms。 5. 定时器T2 有3种工作方式:、和,可通过对寄存器中的相关位进行软件设置来选择。 答:捕捉,重新装载(增计数或减计数),波特率发生器,T2CON 6. AT89S52单片机的晶振为6MHz,若利用定时器T1的方式1定时2ms,则(TH1)= ,(TL1)= 。 答:FCH,18H。 二、单选 1.定时器T0工作在方式3时,定时器T1有种工作方式。 A.1种 B.2种 C.3种D.4种 答:C 2. 定时器T0、T1工作于方式1时,其计数器为位。 A.8位 B.16位 C.14位 D.13位 答:B 3. 定时器T0、T1的GATE x=1时,其计数器是否计数的条件。

A. 仅取决于TR x状态 B. 仅取决于GATE位状态 C. 是由TR x和INT x两个条件来共同控制 D. 仅取决于INT x的状态 答:C 4. 定时器T2工作在自动重装载方式时,其计数器为位。 A.8位 B. 13位 C.14位 D. 16位 答:D 5. 要想测量INT0引脚上的正单脉冲的宽度,特殊功能寄存器TMOD的内容应为。 A.87H B. 09H C.80H D. 00H 答:B 三、判断对错 1.下列关于T0、T1的哪些说法是正确的。 A.特殊功能寄存器SCON,与定时器/计数器的控制无关。对 B.特殊功能寄存器TCON,与定时器/计数器的控制无关。错 C.特殊功能寄存器IE,与定时器/计数器的控制无关。错 D.特殊功能寄存器TMOD,与定时器/计数器的控制无关。错 2.定时器T0、T1对外部脉冲进行计数时,要求输入的计数脉冲的高电平或低电平的持 续时间不小于1个机器周期。特殊功能寄存器SCON与定时器/计数器的控制无关。错 3.定时器T0、T1对外部引脚上的脉冲进行计数时,要求输入的计数脉冲的高电平和低电平的持续时间均不小于2个机器周期。对 四、简答 1.定时器/计数器T1、T0的工作方式2有什么特点?适用于哪些应用场合? 答:方式2为初值自动装入的8位定时器/计数器,克服了在循环定时或循环计数应用时就存在用指令反复装入计数初值影响定时精度的问题。 2.TH x与TL x(x=0,1)是普通寄存器还是计数器?其内容可以随时用指令更改吗?更改后的新值是立即刷新还是等当前计数器计满后才能刷新? 答:THx与TLx(x = 0,1)是计数器,其内容可以随时用指令更改,但是更改后的新值要等当前计数器计满后才能刷新。 3.如果系统的晶振的频率为24MHz,定时器/计数器工作在方式0、1、2下,其最大定时时间各为多少? 答:晶振的频率为24MHz, 机器周期为0.5μs。

单片机定时器与计数器的工作方式解析

单片机定时器与计数器的工作方式解析 1 工作方式0 定时器/计数器的工作方式0称之为13位定时/计数方式。它由TL(1/0)的低5位和TH (0/1)的8位组成13位的计数器,此时TL(1/0)的高3位未用。 我们用这个图来讨论几个问题: M1M0:定时/计数器一共有四种工作方式,就是用M1M0来控制的,2位正好是四种组合。C/T:前面我们说过,定时/计数器即可作定时用也可用计数用,到底作什么用,由我们根据需要自行决定,也说是决定权在我们??编程者。如果C/T为0就是用作定时器(开关往上打),如果C/T为1就是用作计数器(开关往下打)。顺便提一下:一个定时/计数器同一时刻要么作定时用,要么作计数用,不能同时用的,这是个极普通的常识,几乎没有教材会提这一点,但很多开始学习者却会有此困惑。 GATE:看图,当我们选择了定时或计数工作方式后,定时/计数脉冲却不一定能到达计数器端,中间还有一个开关,显然这个开关不合上,计数脉冲就没法过去,那么开关什么时候过去呢?有两种情况 GATE=0,分析一下逻辑,GATE非后是1,进入或门,或门总是输出1,和或门的另一个输入端INT1无关,在这种情况下,开关的打开、合上只取决于TR1,只要TR1是1,开关就合上,计数脉冲得以畅通无阻,而如果TR1等于0则开关打开,计数脉冲无法通过,因此定时/计数是否工作,只取决于TR1。 GATE=1,在此种情况下,计数脉冲通路上的开关不仅要由TR1来控制,而且还要受到INT1管脚的控制,只有TR1为1,且INT1管脚也是高电平,开关才合上,计数脉冲才得以通过。这个特性能用来测量一个信号的高电平的宽度,想想看,怎么测? 为什么在这种模式下只用13位呢?干吗不用16位,这是为了和51机的前辈48系列兼容而设的一种工作式,如果你觉得用得不顺手,那就干脆用第二种工作方式。 2 工作方式1

第五章定时器/计数器

第五章MCS-51定时器/计数器及其应用 5.1定时方法概述 在单片机的应用中,可供选择的定时方法主要有: 1.软件定时 软件定时是靠执行一个循环程序以进行时间延迟。软件定时的特点是时间较精确,且不需外加硬件电路。但软件定时要占用CPU的时间,增加CPU开销,因此软件定时的时间不宜太长。 当单片机时钟确定后,每条指令的指令周期是确定的,在指令表中用振荡周期表示出来了。因此,根据程序执行所用的总的振荡周期数和振荡频率,可以较准确的计算,程序执行完所用的时间。软件延时是实际经常采用的一种短时间定时方法。 例4-16 ORG 1000H TIME:MOV R1, #0FAH ;12个振荡周期 L1 :MOV R0, #0FFH ;12个振荡周期 W1 :DJNZ R0 , W1 ;24个振荡周期 DJNZ R1 , L1 ;24个振荡周期 NOP ;12个振荡周期 NOP ;12个振荡周期 RET ;24个振荡周期 计算延时时间: N=12+(12+24×255+24)×250+12+12+24 =1539060个振荡周期 如果?=6MHz T?=1/?=1/6μs Tt=N×T?=1539060×1/6μS=256510μS=0.25651S 调整R 0和R 1 中的参数,可改变延时时间,如果需要加长延时间,可以增加循环嵌入。 当延时时间较长、不便多占用CPU时间的情况下,一般采用定时器方法。

2.内部可编程定时器 这种定时方法是通过对系统时钟脉冲的计数来实现的。计数值通过程序设定,改变计数值,也就改变了定时时间,使用起来既灵活又方便。此外,由于采用计数方法实现定时,因此可编程定时器都兼有计数功能,可以对外来脉冲进行计数。 3.外部扩展专用定时器 对于时间较长的定时,常使用外部扩展专用定时器完成。这种方法定时全部由硬件电路完成,不占用CPU时间。例如:DALLAS 公司的DS1302低功耗时钟芯片.它可以对年月日时分秒计时,并且有闰年补偿功能,它可以很方便地和单片机接口. 5.2 51单片机内部的定时器/计数器 作为基本组成内容,8051单片机共有两个可编程的定时器/计数器,分别称定时 器/计数器0和定时器/计数器1。它们都是十六位加法计数结构,分别由TH 0和TL 及TH 1和TL 1 两个8位计数器组成,它们具有计数和定时两种工作方式以及四种工作模 式。两个特殊功能寄存器(定时器控制寄存器TCON和定时器方式寄存器TMOD)用于确定定时器/计数器的功能和操作方式。图5-1给出了定时器/计数器的结构框图, 它反映了单片机中微处理器、寄存器TCON和TMOD与定时器T 0、T 1 之间的关系。计数 器的输入脉冲源可以是外部脉冲源或系统时钟振荡器,计数器对这两个输入脉冲之一进行递增计数。 顾名思义,MCS-51的每个定时器/计数器都具有定时和计数两种功能。

MCS-51单片机计数器定时器

80C51单片机内部设有两个16位的可编程定时器/计数器。可编程的意思是指其功能(如工作方式、定时时间、量程、启动方式等)均可由指令来确定和改变。在定时器/计数器中除了有两个16位的计数器之外,还有两个特殊功能寄存器(控制寄存器和方式寄存器)。 : 从上面定时器/计数器的结构图中我们可以看出,16位的定时/计数器分别由两个8位专用寄存器组成,即:T0由TH0和TL0构成;T1由TH1和TL1构成。其访问地址依次为8AH-8DH。每个寄存器均可单独访问。这些寄存器是用于存放定时或计数初值的。此外,其内部还有一个8位的定时器方式寄存器TMOD和一个8位的定时控制寄存器TCON。这些寄存器之间是通过内部总线和控制逻辑电路连接起来的。TMOD主要是用于选定定时器的工作方式;TCON主要是用于控制定时器的启动停止,此外TCON还可以保存T0、T1的溢出和中断标志。当定时器工作在计数方式时,外部事件通过引脚T0(P3.4)和T1 (P3.5)输入。 定时计数器的原理: 16位的定时器/计数器实质上就是一个加1计数器,其控制电路受软件控制、切换。 当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出为止。显然,定时器的定时时间与系统的振荡频率有关。因一个机器周期等于12个振荡周期,所以计数频率fcount=1/12osc。如果晶振为12MHz,则计数周期为: T=1/(12×106)Hz×1/12=1μs 这是最短的定时周期。若要延长定时时间,则需要改变定时器的初值,并要适当选择定时器的长 度(如8位、13位、16位等)。 当定时器/计数器为计数工作方式时,通过引脚T0和T1对外部信号计数,外部脉冲的下降沿将触发计数。计数器在每个机器周期的S5P2期间采样引脚输入电平。若一个机器周期采样值为1,下一个机器周期采样值为0,则计数器加1。此后的机器周期S3P1期间,新的计数值装入计数器。所以检测一个由1至0的跳变需要两个机器周期,故外部事年的最高计数频率为振荡频率的1/24。例如,如果选用12MHz 晶振,则最高计数频率为0.5MHz。虽然对外部输入信号的占空比无特殊要求,但为了确保某给定电平在变化前至少被采样一次,外部计数脉冲的高电平与低电平保持时间均需在一个机器周期以上。

实验报告五 定时器计数器实验

信息工程学院实验报告 课程名称:微机原理与接口技术Array 实验项目名称:定时器/计数器实验实验时间: 班级:姓名:学号: 一、实验目的 1. 掌握8254 的工作方式及应用编程。 2. 掌握8254 典型应用电路的接法。 二、实验设备 PC 机一台、TD-PITD+实验系统一套。 三、实验原理 8254 是Intel 公司生产的可编程间隔定时器。是8253 的改进型,比8253 具有更优良的性能。8254 具有以下基本功能: (1)有 3 个独立的16 位计数器。 (2)每个计数器可按二进制或十进制(BCD)计数。 (3)每个计数器可编程工作于 6 种不同工作方式。 (4)8254 每个计数器允许的最高计数频率为10MHz(8253 为2MHz)。 (5)8254 有读回命令(8253 没有),除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容。 (6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为: n=f CLKi ÷f OUTi、其中f CLKi 是输入时钟脉冲的频率,f OUTi 是输出波形的频率。 图5-1 是8254 的内部结构框图和引脚图,它是由与CPU 的接口、内部控制电路和三个计数器组成。8254 的工作方式如下述: (1)方式0:计数到0 结束输出正跃变信号方式。 (2)方式1:硬件可重触发单稳方式。 (3)方式2:频率发生器方式。 (4)方式3:方波发生器。 (5)方式4:软件触发选通方式。 (6)方式5:硬件触发选通方式。

图5-1 8254 的内部接口和引脚 8254 的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。控制字格式如表5-1~5-3 所示。 表5-1 8254 的方式控制字格式 表5-2 8254 读出控制字格式 表5-3 8254 状态字格式 8254 实验单元电路图如下图所示:

单片机计数器与定时器的区别

单片机计数器与定时器的区别 在的学习过程中,我们经常会发现中断、串口是学习的难点,对于初学者来说,这几部分的内容很难理解。但是我个人觉得这几部分内容是的重点,如果在一个学期的课堂学习或者自学中没有理解这几部分内容,那就等于还没有掌握51单片机,那更谈不上单片机的开发了,我们都知道在成品的单片机项目中,有很多是以这几部分为理论基础的,万年历是以定时器为主的,报警器是以中断为主的,联机通讯是以串口为主的。 在这几部分内容中,计数器/定时器对于初学者说很容易搞混淆,下面我将对这方面的内容结合自己的学习经验谈几点看法。 计数器和定时器相同的,他们都是对单片机中产生的脉冲进行计数,只不过计数器是单片机外部触发的脉冲,定时器是单片机内部在晶振的触发下产生的脉冲。当他们的脉冲间隔相同的时候,计数器和定时器就是一个概念。 在定时器和计数器中都有一个溢出的概念,那什么是溢出了。我们可以从一个生活小常识得到答案,当一个碗放在水龙头下接水的时候,过了一会儿,碗的水满了,就发生溢出。同样的道理,假设水龙头的水是一滴滴的往碗里滴,那

么总有一滴水是导致碗中的水溢出的。在碗中溢出的水就浪费了,但是在单片机的中溢出将导致一次中断。 在定时器计数器中,我们有个概念叫容量,就是最大计数量。 把水滴比喻成脉冲,那么导致碗中水溢出的最后一滴水的就是定时计数器的溢出的最后一个脉冲。 在各种单片机书本中,在介绍定时计数器时都讲到一个计数初值,那什么是计数初值呢?在这里我们还是假设水滴碗。假设第一百滴水能够使碗中的水溢出,我们就知道这个碗的容量是100。 在这里计数初值有3个,假设: 根据所得的初始值,再将其转换为,就可以进行计数或者定时了。后面讲解定时器初值的。 单片机, 计数器, 定时器

51单片机学习笔记(三)_定时器和计数器

51单片机学习笔记(三)_定时器和计数器 注:定时器与计数器原理与使用方法相似、此处计数器知识为基础普及、后 面详讲2 个定时器(寄存器)、定时器0、定时器1、(计数器0、计数器1) TMOD:定时器/计数器模式控制寄存器详见百度百科TMOD 每经过一个机器周期、寄存器+1TF:定时器溢出标志。溢出时自动置1。中 断时硬件清零否则必须软件清零。TR:定时器运行控制位。置1 开始计时、清 零停止计时。C/T:该位为0 时用作计时器、该位为1 时用作计数器。溢出时 时间-开始计时时间=预设定时时间 一个机器周期共有12 个振荡脉冲周期若设定时为0.02s,则: 12*(65535-X)/11059200=0.02s 定时器作加1 次数:X=47104=0xB800 次时间为0.02s 使用定时器的方法 1、设置特殊功能寄存器TMOD,使之工作在需求的状态。 2、设置计数寄存 器的初值,精确设定好定时时间。3、设置特殊功能寄存器TCON,通过打开 TR 来让定时器进行工作。 4、判断寄存器TCON 的FT0 位、检测定时器溢出情况。 假设我们使用定时器0、定时为0.02s,两个寄存器计时 TMOD=0x01; TMOD=0x01,指的是采用T0 方式,将M1 置0,M0 置1,是 方式一的定时器 高八位寄存器TH0=0xB8、低八位寄存器TL0=0x00 C 程序实现1s 钟定时 #include typedef unsigned char uint8;typedef unsigned int uint16;sbit led=P1;uint8 counter;void main(){TMOD=0x01;TH0=0xb8;TL0=0x00;TR0=1;

定时器计数器答案

定时器/计数器 6·1 80C51单片机内部有几个定时器/计数器?它们是由哪些专用寄存器组成? 答:80C51单片机内部设有两个16位的可编程定时器/计数器,简称为定时器0(T0)和定时 器l(Tl)。在定时器/计数器中的两个16位的计数器是由两个8位专用寄存器TH0、TL0,THl、TLl组成。 6·2 80C51单片机的定时器/计数器有哪几种工作方式?各有什么特点? 答:80C51单片机的定时器/计数器有4种工作方式。下面介绍4种工作方式的特点。 方式0是一个13位的定时器/计数器。当TL0的低5位溢出时向TH0进位,而TH0溢出时向中断标志TF0进位(称硬件置位TF0),并申请中断。定时器0计数溢出与否,可通过查询TF0是否置位或产生定时器0中断。 在方式1中,定时器/计数器的结构与操作几乎与方式0完全相同,惟一的差别是:定时器是以全16位二进制数参与操作。 方式2是能重置初值的8位定时器/计数器。其具有自动恢复初值(初值自动再装人)功;能,非常适合用做较精确的定时脉冲信号发生器。 方式3 只适用于定时器T0。定时器T0在方式3T被拆成两个独立的8位计数器TL0: 和TH0。其中TL0用原T0的控制位、引脚和中断源,即:C/T、GATE、TR0、TF0和T0 (P3.4)引脚、INTO(P3.2)引脚。除了仅用8位寄存器TL0外,其功能和操作与方式0、方式1 完全相同,可定时亦可计数。此时TH0只可用做简单的内部定时功能。它占用原定时器Tl 的控制位TRl和TFl,同时占用Tl的中断源,其启动和关闭仅受TRl置1和清0控制。6·3 定时器/计数器用做定时方式时,其定时时间与哪些因素有关?作计数时,对外界计数频率有何限制? 答: 定时器/计数器用做定时方式时,其定时时间与时钟周期、计数器的长度(如8位、13位、16位等)、定时初值等因素有关。作计数时,外部事件的最高计数频率为振荡频率(即时钟周期)的1/24。 6·4 当定时器T0用做方式3时,由于TR1位已被T0占用,如何控制定时器T1的开启和关闭? 答:定时器T0用做方式3时,由于TRl位己被T0占用,此时通过控制位C/T切换其定时器或计数器工作方式。当设置好工作方式时,定时器1自动开始运行;若要停止操作,只需送入一个设置定时器1为方式3的方式字。

单片机定时器详解

一、MCS-51单片机的定时器/计数器概念 单片机中的定时器和计数器其实是同一个物理的电子元件,只不过计数器记录的是单片机外部发生的事情(接受的是外部脉冲),而定时器则是由单片机自身提供的一个非常稳定的计数器,这个稳定的计数器就是单片机上连接的晶振部件;MCS-51单片机的晶振经过12分频之后提供给单片机的只有1MHZ的稳定脉冲;晶振的频率是非常准确的,所以单片机的计数脉冲之间的时间间隔也是非常准确的,这个准确的时间间隔是1微秒; MCS-51单片机外接的是12MHZ的晶振(实际上是,所以,MCS-51单片机内部的工作频率(时钟脉冲频率)是12MHZ/12=1MHZ=1000000次/秒=1000000条指令/秒=1000000次/1000000微秒=1次/微秒=1条指令/微秒;也就是说,晶振振荡一次,就会给单片机提供一个时钟脉冲,花费的时间是1微秒,此时,CPU会执行一条指令,经历一个机器周期;即:1个时钟脉冲=1个机器周期=1微秒=1条指令; 注:个人PC机上的CPU主频是晶振经过倍频之后的频率,这一点恰好与MCS-51单片机的相反,MCS-51单片机的主频是晶振经过分频之后的频率; 总之:MCS-51单片机中的时间概念就是通过计数脉冲的个数来测量出来的;1个脉冲=1微秒=1条指令=1个机器周期; MCS-51单片机定时器/计数器的简单结构图: 8051系列单片机有两个定时器:T0和T1,分别称为定时器和定时器T1,这两个定时器都是16位的定时器/计数器;8052系列单片机增加了第三个定时器/计数器T2;它们都有定时或事件计数功能,常用于时间控制、延时、对外部时间计数和检测等场合; 二、定时器/计数器的结构

89C51定时器和计数器精编版

AT89C51定时器/计数器 1.定时和计数功能: AT89C51有两个可编程的定时器和计数器:T0和T1。它们可以工作在定时状态也可以工作在计数状态。做定时器时不能用作计数,反之亦然。 2.计数器: 当定时器/计数器作“计数器”用时,可对接到14引脚(T0/P3.4)或15引脚(T1/P3.5)的脉冲信号数进行计数,每当引脚发生从“1”到“0”的负跳变时,计数器加1. 3.定时器: 当定时器/计数器作“定时器”用时,定时信号来自内部的时钟发生电路,每个机器周期等于十二个震荡周期,每过一个机器周期,计数器加1.当晶振频率为12MHz时,则机器周期为1微秒;在此情况下,若计数器为100, 则所定时的时间为:100 x 1 =100微秒。 1

4.与定时器/计数器有关的特殊功能寄存器 5.定时器/计数器的控制 AT89C51单片机定时器/计数器的工作由两个特殊的寄存器TMOD和TCON的相关位来控制, TMOD用于设置它的工作方式,TCON用于控制其启动和中断的请求。 1).TMOD用于设置定时器/计数器的工作方式,其字节地址为89H。低四位用于T0,高四位用于T1。虽有位名称, 2

但无位地址,不可进行位操作。 TMOD中的结构和各位名称 ○1M1,M0:工作方式选择位。M1、M0为两位二进制数,可表示四种工作方式,见下表: ○2C/T:计数/定时方式选择位。 C/T = 1,为计数工作方式,对输入到单片机T0、T1引用的外部信号脉冲计数,负跳变脉冲有效,用作计数器。C/T = 0,为定时工作方式,对片内机器周期(1个机器周期等于12晶振周期)信号计数,用作定时器。 3

第六章 定时计数计数单元测验2018

第六章定时计数计数单元测验 题量:20 满分:分显示答案 一.单选题(共5题,分) 1、12MHz晶振的单片机在定时工作方式下,定时器可能实现的最大定时时间是。 A、65536 u s B、8192 u S C、32768 u s D、1638 u s ` 正确答案: A 2、设MCS-51单片机晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率应为 A、2MHz B、1MHz C、500KHz D、250KHz 正确答案: C 计数频率不能超过晶振频率的1/24 3、定时器若工作在循环定时或循环计数场合,应选用哪种工作方式( )。 | A、方式0 B、方式1 C、方式2 D、方式3 正确答案: C 4、51单片机的定时器T0用作计数方式时是()。 A、由内部时钟频率定时,一个时钟周期加1 B、由内部时钟频率定时,一个机器周期加1 C、由外部计数脉冲计数,下降沿加1 * D、由外部计数脉冲计数,一个机器周期加1 正确答案: C 5、下列SFR中,与定时计数器控制无关的是() A、TCON B、SCON C、TMOD D、IE

正确答案: B 。 二.判断题(共10题,分) 1、特殊功能寄存器TCON,与定时器/计数器的控制无关 正确答案:错误 2、AT89S51单片机的定时/计数器用作计数时,计数脉冲来自晶振,最高频率为系统振荡器频率的1/24 正确答案:错误 3、51单片机定时/计数器用作定时时,其计数脉冲来自单片机的外部,其频率为振荡频率的1/12。 正确答案:错误 ! 4、当晶振频率为6MHz时,AT89C51单片机定时/计数器最大定时间为 正确答案:错误 5、MCS-51单片机定时工作方式0与定时工作方式l除了计数结构位数不同,别无差别。( ) 正确答案:错误 6、T0和T1都是减法定时器/计时器。( ) 正确答案:错误 7、MCS-51单片机的定时和计数都使用同一计数机构,所不同的只是计数脉冲的来源。来自于单片机内部的是定时,而来自于外部的则是计数。( ) ~ 正确答案:正确 8、定时计数器T0无论是定时还是计数本质上

相关文档 最新文档