51单片机系列-单片机定时器

news2024/10/6 2:30:42

🌈个人主页:会编辑的果子君 

💫个人格言:“成为自己未来的主人~”  

软件延时的缺点

延时过程中,CPU时间被占用,无法进行其他任务,导致系统效率降低,延时时间越长,该缺点就越明显,因此软件延时只适用于短暂延时或简单项目。

定时/计数器

单片机中有多个小闹钟,可以帮助我们实现延时,这些小闹钟就是“定时器”

1T单片机最多支持4个16位定时器,2个和传统51单片机完全一致,为T0,T1,另外2通道捕获/比较单元(PWM/PCA/CCP),也可用来在实现两个定时器

我们只讲T0,每个定时/计数器既可以实现定时功能,也可以实现计数功能

定时/计数器0的工作原理

在定时方式1下,定时/计数器0的核心是一个16位宽的由计数脉冲触发的按递增规律(即累加方式)工作的循环累加计数器(TH0+TL0),从预先设定的初始值开始,每来一个计数脉冲就+1,当加到计数器为全1时,再输入一个脉冲,就会发生溢出现象,计数器回零,同时产生溢出中断请求信号(TF0置1),如果定时/计数器工作于定时模式,则表示定时时间已到

1T的8051单片机,为了兼容传统8051,定时器0和定时器1复位后是传统8051的速度,即12分频,也就是每12个震荡周期产生一个计数脉冲

定时器溢出

什么是溢出?

任何一个计数范围有限的系统,均存在溢出现象,系统的可表达数的个数,成为模

定时器溢出时会导致定时器溢出中断请求,和该中断是否使能无关

80C51的定时/计数器

实现定时功能,比较方便的办法是利用单片机内部的定时/计数器,也可以采用下面三种方法

软件定时 

软件定时不占用硬件资源,但占用了CPU时间,降低了CPU的利用率

采用基电路定时:

例如采用555电路,外接必要的元器件(电阻和电容),即可构成硬件定时电路,但在硬件连接号以后,定时值与定时范围不能由软件进行控制和修改,即不可编程

采用可编程芯片定时

这种定时芯片的定时值及定时范围很容易用软件来确定和修改,此种芯片定时功能强,使用灵活,在单片机的定时/计数器不够用时,可以考虑进行拓展

定时/计数器的结构和工作原理

定时/计数器的结构

定时/计数器的是指加1计数器(16位),由高8位和低8位两个寄存器组成,TMOD是定时/计数器的工作方式寄存器,确定工作方式和功能:TCON是控制寄存器,控制T0,T1的启动和停止及设置溢出标志

加1计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经12分频后送来:一个是T0或T1引脚输入的外部脉冲源,每来一个脉冲计数器加一,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向CPU发出中断请求(定时/计数器中断允许时)。如果定时/计数器工作于定时模式,则表示定时时间已到,如果工作于计数模式,则表示计数值已满

可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值

设置为定时器模式时,加一计数器是对内部机器周期计数(一个机器周期等于12个震荡周几,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy就是定时时间t

设置为计数器模式,外部事件计数脉冲由T0或T1引脚输入到计数器,在每个机器周期的S5P2期间采样T0,T1引脚电平,当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加一,更新的计数值在下一个机器周期的S3P1期间装入计数器,由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少需要维持一个机器周期,当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2微秒

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1523472.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

esp8266调试记录

连接笔记本电脑 使用笔记本电脑的USB接口为NodeMCU开发板供电,你需要确保电压和电流在安全范围内。虽然NodeMCU的输入输出电压限制为3.3V,但是大多数开发板都内置了电压调节器,可以从5V的USB电源降压到3.3V。因此,通常情况下&…

通用的springboot web jar包执行脚本,释放端口并执行jar包

1、通用的springboot web jar包执行脚本,释放端口并执行jar包: #!/bin/bash set -eDATE$(date %Y%m%d%H%M) # 基础路径 BASE_PATH/data/yitu-projects/yitu-xzhq/sftp # 服务名称。同时约定部署服务的 jar 包名字也为它。 SERVER_NAMEyitu-server # 环境…

【图论】拓补排序 - 邻接表

文章目录 题目:310. 最小高度树题目描述代码与注释 题目:310. 最小高度树 题目描述 代码与注释 func findMinHeightTrees(n int, edges [][]int) (ans []int) {if n 1 {return []int{0}}g : make([][]int, n)degree : make([]int, n) // 记录每个节点…

Android Studio字体大小调节

外观页面字体调节 settings->Appearance->User cunstom font 代码字体调节 Settings->Editor->Font此时logcat窗口、Build窗口和Ternimal窗口字体大小也会同步调节(2023.2.1版本上验证)

FFmpeg查看所有支持的编码/解码器/封装/解封装/媒体格式/滤镜

查看所有支持的编码器与解码器 ffmpeg -codecs 只查看所有编码器: ffmpeg -encoders 只查看所有解码器: ffmpeg -decoders 只查看H264编码器: ffmpeg -h encoderh264 只查看H264解码器: ffmpeg -h decoderh264 查看所有支持的封装: ffmpeg -muxers 查看所有支持的解封装…

【算法】数论(求质数)——蓝桥杯笔记、2.质数、7.质数、质数数目、纯质数、函数判断顺序的优化

文章目录 蓝桥杯2.质数7.质数质数数目纯质数 蓝桥杯 2.质数 求质数的几种方法&#xff1a; #include<iostream> #include<algorithm> using namespace std;bool is_primer1(int n) {if (n < 2) return n;//for (int i 2; i < n; i)for (int i 2; i < …

简历信息泄露?如何用图数据库技术解决简历泄露事件的反欺诈挑战

“金三银四”&#xff0c;又到了春招黄金期&#xff0c;但个人简历泄露的数据安全问题诸见报端&#xff0c;甚至在此前的3.15晚会报道中就揭露过招聘平台上的简历信息被泄露&#xff0c;不法分子通过各种渠道获取到简历&#xff0c;并用于欺诈活动&#xff0c;形成了一套庞大的…

ZK vs FHE

1. 引言 近期ZAMA获得7300万美金的投资&#xff0c;使得FHE获得更多关注。FHE仍处于萌芽阶段&#xff0c;是未来隐私游戏规则的改变者。FHE需与ZK和MPC一起结合&#xff0c;以发挥最大效用。如&#xff1a; Threshold FHE&#xff1a;将FHE与MPC结合&#xff0c;实现信任最小…

【Sql Server】通过Sql语句批量处理数据,使用变量且遍历数据进行逻辑处理

欢迎来到《小5讲堂》&#xff0c;大家好&#xff0c;我是全栈小5。 这是《Sql Server》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解&#xff0c; 特别是针对知识点的概念进行叙说&#xff0c;大部分文章将会对这些概念进行实际例子验证&#xff0c;以此达到加深对…

c语言案例03-流程控制-if语句

c语言打卡-流程控制-if语句 一.在 C/C&#xff0c;if 函数或关键字具有判断功能&#xff0c;而判断这一操作必须基于给定条件&#xff0c;同样的&#xff0c;程序中使用 if 函数同样需要将判断条件作为参数传入&#xff0c;描述判断条件的代码语句简称为条件语句。如同现实生活…

【Python编程基础】第一节.Python基本语法(上)

文章目录 前言⼀、Python介绍二、Python环境配置三、Pycharm 书写代码四、Python基本语法 4.1 print 函数的简单使用 4.2 注释 4.3 Python 代码中三种波浪线和 PEP8 4.4 在 cmd 终端中运⾏ Python 代码 4.5 变量 4.6 数据类型 4.7 类型转换…

数码管的静态显示(二)

1.原理 要按照上图的顺序传递位选和段选的数据。 因为q0是最高位&#xff0c;共阳极数码管结构是dp....a&#xff0c;所以应该先传入低位a&#xff0c;而a在上图中的8段2进制编码中是seg[7]&#xff0c;所以段选信号的顺序是seg[0],...seg[7]。 因为输出信号是两个时钟&#x…

裁员潮下,打工人的自我修养

法律规定的 裁员补偿&#xff1a; 1、平等协商解除的&#xff0c;底线是N1&#xff0c;上限能谈多少法律都支持 2、有客观原因解除的&#xff0c;是N1 3、强制违法辞退的&#xff0c;是2N Tips&#xff1a;基数是每月的全额税前工资&#xff0c;包括奖金绩效等&#xff0c…

光伏电站信息化管理系统如何优化能源管理

随着可再生能源的快速发展&#xff0c;光伏电站作为其中的重要组成部分&#xff0c;其运营管理面临着越来越多的挑战。为了提升光伏电站的能源管理效率&#xff0c;信息化管理系统成为了不可或缺的工具&#xff0c;那么如何优化能源管理呢&#xff1f; 1.数据实时监控 信息化管…

GPU密集型计算性能优化的方法和技术

对GPU密集型计算进行性能优化的方法和技术多种多样。通过一些优化策略和技术需要综合考虑应用程序的具体需求、所使用的GPU硬件、以及编程模型和库的选择。通过不断地分析和调整&#xff0c;可以实现GPU计算性能的持续提升。以下是一些常用的优化策略和技术&#xff1a; 算法优…

论文阅读——EarthPT

EarthPT: a time series foundation model for Earth Observation 一个Earth Observation (EO)预训练的Transformer。EarthPT是一个7亿参数解码Transformer基础模型&#xff0c;以自回归自监督方式进行训练&#xff0c;并专门针对EO用例进行开发。我们证明了EarthPT是一个有效的…

尚硅谷vue全家桶(上)

vue2 简介第一天第二天 第三天第四天第五天 第六天第七天第八天 第九天 网课链接&#xff08;半个月拿下&#xff09; 简介 需要提前会的东西 中文文档链接点下面 vue.js 要会查文档用API 第一天 清除提示1 再文档中下载开发版本浏览器安装vue devtools插件 打开允许访问URL…

【网络编程基础(一)】网络基础和SOCKET

这里写目录标题 1、网络三要素2、IPV4和IPV6区别3、网络交互3.1、交互模型图3.2、基础通信协议3.3、OSI参考模型与TCP/IP参考模型对应关系 4、SOCKET网络套接字4.1、SOCKET分类4.2、基于流式套接字的编程流程4.3、网络通信雏形4.4、socket函数4.4.1、socket函数示例 4.5、bind函…

小红书图片怎么提取?小红书图片提取原图方法!

说到小红书&#xff0c;不少女性群体都知道这个&#xff0c;他的价值很高而且变现对于大多数做自媒体的小伙伴来说&#xff0c;也是不错的选择&#xff01; 小红书对于普通大众还是互联网创作者来说&#xff0c;都太实用了&#xff0c;唯一的缺点可能就是当我们需要存储他的图…

计算机设计大赛 题目:基于深度学习卷积神经网络的花卉识别 - 深度学习 机器视觉

文章目录 0 前言1 项目背景2 花卉识别的基本原理3 算法实现3.1 预处理3.2 特征提取和选择3.3 分类器设计和决策3.4 卷积神经网络基本原理 4 算法实现4.1 花卉图像数据4.2 模块组成 5 项目执行结果6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基…