51单片机-定时器概念

最新更新时间:2021-10-14来源: eefocus关键字:51单片机  定时器 手机看文章 扫描二维码
随时随地手机看文章

1.生活的例子

通过上一章大家已经有了对中断知识的了解,像外部中断这种需要物理动作才能触发中断函数执行,但很多情况下我们需要的是中断函数在适当时刻可以自动得去执行,所以就需要定时器来辅助了。


定时器是单片机内部的一个硬件资源。


用生活常见现象举例:定时器相当于一个闹钟,我们调5分钟后闹钟就响,在这5分钟里我们想做什么就做什么,相当于我们自己是主函数里的任务,想运行什么任务就运行什么,也不用去理会闹钟还剩多少时间就响,我们只是一直做我们想做的事就行。


之后闹钟响了,这时我们不能再任性去做主函数的事了,得赶紧把中断函数里的事办完先,也就是要去执行中断函数了,主函数的事要暂停不做先,执行完中断函数之后继续回到主函数做我们的事。可是又过了5分钟闹钟又响了,没办法,我们又要放停自己的事去执行中断函数了,当然闹钟是可以关闭的,这就相当于是把中断函数的触发开关给断开了。


2.溢出

我们知道秒表计时到59秒的时候,再过1秒就变成了00。同理,当我们的unsigned char类型的变量的数值为255时,再加1就变为0了, unsigned int的变量如果此时的值为65535,后面再加1也同样成为0,这些都叫溢出。


再举一个例子来理解定时器溢出概念,中学时我们做过一些化学实验,其中有一种容器叫做试管,如果试管是空的,我们用一个导管往试管里加水,导管的水流流速是均匀不变的,试管里的水要想溢出,需要的是x个单位的时间,如果我们想把距离溢出的时间缩短为一半,那我们提前把试管里的水装满到一半,这样就可以改变了溢出时间。


通过这个例子我们就可以明白,要想确定好定时器溢出产生中断的间隔时间,我们就要往这个“试管”提前装好合适的水量。


我们下一讲再继续讲解这个“试管”!


关键字:51单片机  定时器 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic545572.html

上一篇:51单片机-外部中断测脉冲个数
下一篇:51单片机-定时器工作模式

推荐阅读

51单片机流水灯控制(5种方法)
实现流程: 1. 新建一个工程(新项目) 2. 查看原理图确定需求(流水灯)对应LED引脚在单片机上的哪个引脚 3. 编写程序(通过查看原理图可以看到我们需要控制整个P2口以控制8个LED灯) 4. 编译程序,下载程序至开发板 5. 查看效果(调试)进制转换表(因为单片机首先处理的是十六进制的数据,所以我们需要将二进制控制需求转换成十六进制去写代码):控制代码:#include <REGX52.H> //头文件#include "Delay.h"#include "intrins.h"/* -----------------------------------------
发表于 2022-09-29
<font color='red'>51单片机</font>流水灯控制(5种方法)
stm32f103——滴答定时器
滴答定时器:定时器的本质就是计数器。我们设置一个定值,然后计数器开始计数,从我们给的定值开始往下一直数,当数到0时,就做相应的动作(也可以不做什么,当把它用作延时计时的时候)。滴答定时器systick是一个内核外设(即:内核自带的)所以在《STM32F10xxx参考手册中文版.pdf》手册中没有相关描述,我们需要参考内核手册《STM32F10xxx20xxx21xxxL1xxxx Cortex-M3 programming manual.pdf》Systick是一个24bit的系统定时器(stm32F407的寄存器名字与位数都与f103一样,但是有些芯片定时器位数不同),向下计数(从定值开始数到0),当计数到0时,在下一个时钟边沿,
发表于 2022-09-29
stm32f103——滴答<font color='red'>定时器</font>
stm32f103——基本定时器定时器中断
我们前面已经学过了滴答定时器,那么定时器的原理与它一样,只不过滴答定时器是在内核中的定时器,而定时器是片上外设。定时器分为:基本定时器和通用定时器。而基本定时器所拥有的功能,通用定时器都有。所以,通用定时器内集成了基本定时器。 定时器作用:产生一个精准的定时stm32f03中基本定时器为TIM6和TIM7:16位预分频器:将输入进来的72Mhz进行预分频,但是它是16位的,所以它的分配系数范围为1~65535。16位自动重装载累加器:用来装载我们设置的计数值。当16位计数单元计数完后,它就将设置的计数值传给计数单元,让计数单元重新开始计数。16位计数单元:它的内部就是定时器计数的过程,即从计数值开始计数。其内部的数值是变化的。定
发表于 2022-09-29
stm32f103——基本<font color='red'>定时器</font>与<font color='red'>定时器</font>中断
stm32f103——通用定时器输出PWM
通用定时器 ----输出 1,输出一个PWM 2,检测脉冲宽度 1》PWM---脉冲宽度调制 占空比:高电平占整个周期的百分比 2》PWM作用:调节灯的亮度,声音的大小,速度的快慢----平均电压值 什么是PWM信号?PWM,英文名Pulse Width Modulation,是脉冲宽度调制(记住这个名词)缩写,它是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以及幅值),对模拟信号电平进行数字编码,也就是说通过调节占空比的变化来调节信号、能量等的变化,占空比就是指在一个周期内,信号处于高电平的时间占据整个信号周期的百分比,例如方波的占空比就是50%.PWM脉冲宽度调制,实际上就是脉冲信号,但是这个
发表于 2022-09-29
stm32f103——通用<font color='red'>定时器</font>输出PWM
定时器A TIMER A 新认识|定时器A 划分几个独立时间间隔
定时器A TIMER A 新认识现在的认识:MSP430 5438 有3个时钟,分别是 TA0、TA1 和TB了解了定时器A的用法:定时器A可以分成几个独立的时间周期。这几个时钟周期共用一个计数器TA1R 或TA0R。在头文件中可以查到:TIMER0 含 TA0CCR0- TA0CCR4 五个TIMER1 含 TA1CCR0- TA1CCR2 三个TA0CCR0TA1CCR0 用于控制计数周期,也就是每当TA0RTA1R 计数到TA0CCR0TA1CCR0所设定的数值后就会清零。如:TA0CCR0 =8000; // CCR0必须最大,因为一计数到CCR0即立刻清0,用于
发表于 2022-09-28
51单片机 定时器时钟
1.main.c注:Sec,Min,Hour可不进行赋值#include <REGX52.H>#include "Delay.h"#include "LCD1602.h"#include "Timer0.h"unsigned char Sec=55,Min=59,Hour=23;void main(){ LCD_Init(); Timer0Init(); LCD_ShowString(1,1,"Clock:"); LCD_ShowString(2,1," : :"); while(1) { LCD_ShowNum(2
发表于 2022-09-28

推荐帖子

求助:烧程序过程中遇到了问题
我用MSPFET软件向1611片子里烧程序,设置是BSL格式,为什么运行起来总是显示同步错误?LED闪两下就不工作了求助:烧程序过程中遇到了问题
zhaojiang1 微控制器 MCU
直流电动机实际应用技巧
《直流电动机实际应用技巧》是“图解实用电子技术丛书”之一。《直流电动机实际应用技巧》汇集了电动机控制所需要的基础知识,介绍了近年来直流电动机控制领域的最新技术成果,反映了机电一体化技术的进步及其应用领域的变化。《直流电动机实际应用技巧》共11章,以大量图表介绍电动机的基本特性,转速控制方法,利用电动机自身特性的转速检测与控制,采用伺服控制技术的正规转速控制,具有高稳定性的数字控制方法,伺服控制系统灵敏度极稳定度的提高技术,基于PwM控制的电动机节能驱动方法,电动机的正、反
arui1999 下载中心专版
梦翼师兄课程笔记—炼狱传奇系列FPGA教程
本帖最后由梦翼师兄于2015-5-116:48编辑 大家好,我是至芯科技一个小工程师,我也是之前在至芯培训过FPGA的一名普通学员,培训过程中学到了很多以前从未接触过的知识,每天都过的很充实。结束以后大概一个月,就找到了第一份改变自己人生的职业——FPGA硬件工程师,从此我就正式的走上了漫漫开发路,辛苦而又兴奋,每天都享受着自己点点滴滴的成长。 承蒙至芯科技的关怀,参加工作一年以后的我现在又回到了至芯这个曾经熟悉的世界,这里依旧是“学风正浓,豪气干云”。我的能力来自至芯
梦翼师兄 FPGA/CPLD
LPC1500体验+@2-点亮LED【系列教程】
本帖最后由fxyc87于2014-7-411:11编辑 上次发表了LPC1500体验+@1-入门环境熟悉【系列教程】 这次再发表第二讲LPC1500体验+@2-点亮LED【系列教程】 声明:我的LPC1500系列体验文章全部为原创 工程代码如下:点击下载工程包 #include\"lpc15xx.h\" intmain(){ LPC_SYSCON->SYSAHBCLKCTRL0|=1 LPC_GPIO_PORT->DIR[0]=1 LPC_GPIO_PO
fxyc87 NXP MCU
stm32菜鸟级问题:TIMx输入时钟设置方面的
在STM32F10X参考手册上的第21(实际36)页,有一个时钟树。上面"APB1Prescaler/1,2,4,8,16"下面"TIM2,3,4*1,2Multiplier"是不是可倍频的意思呀?我没有找到这一项的设置呢?哪一个寄存器位是设置这一项?菜鸟正在学习,大家帮忙呀!谢谢啦!!!stm32菜鸟级问题:TIMx输入时钟设置方面的
radl stm32/stm8
小广播
设计资源 培训 开发板 精华推荐

何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved