51单片机学习记录———定时器
文章目录
- 前言
- 一、定时器介绍
- 二、STC89C52定时器资源
- 三、定时器框图
- 四、定时器模式
- 五、定时器相关寄存器
- 六、定时器练习
前言
一个学习嵌入式的小白~ 有问题评论区或私信指出~
提示:以下是本篇文章正文内容,下面案例可供参考
一、定时器介绍
定时器介绍:51单片机的定时器属于单片机的内部资源,其电路的连接和运转均在单片机内部完成。
定时器作用:
1.用于计数系统,可实现软件计时,或者使程序每隔一固定时间完成一项操作
2.替代长时间的Delay,提高CPU的运行效率和处理速度
…
二、STC89C52定时器资源
1.定时器个数三个(T0,T1,T2),TO和T1与传统的51单片机兼容,T2是此型号单片机增加的资源
注意:定时器的资源和单片机的型号是关联在1起的,不同的型号可能会有不同的定时器个数和操作方式,但一般来说,TO和T1的操作方式是所有51单片机所共有的。
三、定时器框图
定时器在单片机内部就像一个小闹钟一样,根据时钟的输出信号每隔一个时钟周期,数单元的数值就加以,当计数单元数值增加到“设定的闹钟提醒时候”时,计数单元就会向中断系统发出中断申请,产生“响铃提醒”,使得程序跳转到中断服务程序。

四、定时器模式
STC89C52的TO和T1均由四种工作模式
模式0:13位定时器/计数器
模式1:16位定时器/计数器(常用)
模式2:8位自动重装载模式
模式3:两个8位计数器
工作模式1框图:

Sysclk:系统时钟,即晶振周期,本开发板上的晶振为12MHZ
C/T=0>定时器,C/T=1->计数器
五、定时器相关寄存器


六、定时器练习
1.定时器定时闪烁灯
软件流程
- 初始化化定时器0
- 配置定时器0模式
- 配置初值
- 配置定时器中断
- 写定时器中断程序对灯状态取反
代码演示:
#include <REGX52.H>
#include "Timer0.h"void Timer0_Init()
{TMOD &= 0xF0;//保持T1不变TMOD |= 0x01;//配置T0模式TH0 = (65535-1000)/256;//高八位TL0 = (65535-1000)%256;//第八位TF0 = 0;//清除中断标志位TR0 = 1;//开中断ET0 = 1;//中断允许控制位EA = 1;//中断总允许PT0 = 1;//优先级高
}
void mian()
{TImer0_Init();while(1);
}void Timer0_Routine() interrupt 1
{static unsigned int T0Count;//记录US数TH0 = (65535-1000)/256;//重新配置初值TL0 = (65535-1000)%256;T0Count++;if(T0Count > 1000){LED = ~LED;}
}
相关文章:
51单片机学习记录———定时器
文章目录 前言一、定时器介绍二、STC89C52定时器资源三、定时器框图四、定时器模式五、定时器相关寄存器六、定时器练习 前言 一个学习嵌入式的小白~ 有问题评论区或私信指出~ 提示:以下是本篇文章正文内容,下面案例可供参考 一、定时器介绍 定时器介…...
C# 热插拔---插件开发
热插拔是以多态,文件监控,反射为基础的。所以用到的是FileSystemWatcher类和 Assembly 类,主要原理就是动态加载dll文件,而要监控dll文件,最好的就是用FileSystemWatcher类,它可以实时监控指定路径下的文件…...
hive优化之逻辑类似or逻辑重复
今天拿到一个二次开发的需求,只是增加一个业务类型,开发起来倒是也蛮轻松。 但是,对自己的要求不难这么低,否则可替代性也太高了。 除了完成自己的那部分开发,当然展现自己实力的,可以是优化。 1&#x…...
ES6+Vue
ES6Vue ES6语法 VUE基于是ES6的,所以在使用Vue之前我们需要先了解一下ES6的语法。 1.什么是ECMAScript6 ECMAScript是浏览器脚本语言的规范,基于javascript来制定的。为什么会出现这个规范呢? 1.1.JS发展史 1995年,网景工…...
如何将重量传感器 HX711 与 Arduino 一起使用
How to use a Weight Sensor / Load Cell HX711 with an Arduino 原文 OVERVIEW We’ve all used a scale to determine the weight of something at some point in our lives. Using a Load Cell or Weight sensor you can add this capability to your Arduino projects.…...
HarmonyOS Next开发学习手册——应用启动框架AppStartup
概述 AppStartup提供了一种简单高效的初始化组件的方式,开发者可以使用AppStartup来显示的设置组件的初始化顺序以及之间的依赖关系,支持异步初始化组件加速应用的启动时间。开发者需要分别为待初始化的组件实现AppStartup提供的 StartupTask 接口&…...
如何在Springboot中添加事务执行?(以MySQL为例)
目录 1. 添加依赖 2. 配置数据库连接 3. 启用事务管理 4. 创建实体类和存储库 5. 创建服务类并使用Transactional注解 6. 编写测试用例 7. 运行应用程序 在Springboot中开启数据库的事务的应用开发过程中非常重要的业务,以下是一个使用MySQL数据库࿰…...
优化MySQL并发事务:如何避免更新丢失问题?
背景描述 现在有两个事务,事务A和事务B,他们都需要修改同一行数据,这行数据原始值为100,事务A的操作是数据增加100,事务B的操作也是增加100,预期的最终结果是300,现在如何保证最终的数据是300的…...
物联网设备管理系统设计
一、引言 物联网设备管理系统设计旨在通过物联网技术实现对设备的全面监控、控制和管理,以提高设备的运行效率、降低运维成本,并确保数据的安全性和完整性。本设计将结合当前物联网技术的发展趋势和实际应用需求,提出一个清晰、可扩展的物联网…...
python之Bible快速检索器
内容将会持续更新,有错误的地方欢迎指正,谢谢! python之Bible快速检索器 TechX 坚持将创新的科技带给世界! 拥有更好的学习体验 —— 不断努力,不断进步,不断探索 TechX —— 心探索、心进取! 助力快…...
微服务-网关
网关:就是网络的关口,负责请求的路由、转发、身份校验 在SpringCloud中网关的实现包括两种: 快速入门 引入依赖 路由属性 网关路由对应的Java类型是RouteDefinition,其中常见的属性有: id:路由唯一标示ur…...
OpenAI项目爆改GLM——以基于llama_index的pdf阅读助手
最近在做大模型agent构建,看了许多不错的开源项目,但是clone下来就是一整个不能用,因为github上开源的项目基本都是基于openai做的。而如果想要转成国内大模型backbone,需要修改的地方挺多的。 现在以一个简单的pdf reader agent…...
如何在Java中处理ParseException异常?
如何在Java中处理ParseException异常? 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 在Java编程中,ParseException异常是开发者在处理…...
Java中如何解决BadPaddingException异常?
Java中如何解决BadPaddingException异常? 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 在Java编程中,BadPaddingException异常是一个…...
数电大作业-四输入表决器
(PCB和multisim仿真画的有很大问题,没有VCC输入和GND,没学过直接裸画的,之后会好好看视频学习) 应用背景: 四个评委,三个及以上评委同时按下通过按钮时,选手才能通过。否则不通过。…...
ONLYOFFICE 桌面编辑器 8.1重磅来袭:全新功能提升您的办公效率
文章目录 前言ONLYOFFICE 桌面编辑器8.1一、PDF编辑:告别“头痛”时刻二、幻灯片版式:秒变“设计大师”三、无缝切换:办公界的“快速通道”四、语言支持:全球通吃的“翻译官”五、 隐藏“连接到云”板块:摆脱“云”的束…...
网络协议安全:TCP/IP协议栈的安全问题和解决方案
「作者简介」:北京冬奥会网络安全中国代表队,CSDN Top100,就职奇安信多年,以实战工作为基础对安全知识体系进行总结与归纳,著作适用于快速入门的 《网络安全自学教程》,内容涵盖Web安全、系统安全等12个知识域的一百多个知识点,持续更新。 这一章节我们需要知道TCP/IP每…...
VERYCLOUD睿鸿股份亮相亚马逊云科技中国峰会2024
5月30日,为期两天的亚马逊云科技中国峰会在上海世博中心圆满落幕。 多位大咖现场分享,生成式AI时代的数据战略,企业级AI应用,最新技术、产品重磅发布,创新行业解决方案 …… 作为亚马逊云科技的生态合作伙伴&#x…...
2-15 基于matlab的蚁群,模拟退火,遗传,神经网络,禁忌搜索等智能优化算法对TSP问题
基于matlab的蚁群,模拟退火,遗传,神经网络,禁忌搜索等智能优化算法对TSP问题。五种优化算法对多个城市路径进行规划,通过优化速度、距离可比较五种方法的优劣。程序已调通,可直接运行。 2-15 蚁群优化算法 …...
kylinos 国产操作系统离线安装firefox 麒麟操作系统安装新版本firefox
1. 火狐地址: 下载 Firefox 浏览器,这里有简体中文及其他 90 多种语言版本供您选择 2. 选择: 3. 下载完之后,上传到离线机器 4. 解压缩: tar -xvjf firefox-127.0.1.tar.bz2 5. 去点击解压后的文件夹,找…...
Applied Intelligence投稿实战:从格式要求到高接受率的5个关键策略
1. 精准匹配期刊范围:避免编辑秒拒的第一道防线 投稿Applied Intelligence期刊时,最容易被忽视却最关键的一步就是研究范围匹配。我审过30篇稿件,发现80%的"desk rejection"(编辑直接拒稿)都源于研究方向与…...
Qwen3-Reranker-0.6B一文详解:轻量0.6B参数如何实现SOTA级重排序性能
Qwen3-Reranker-0.6B一文详解:轻量0.6B参数如何实现SOTA级重排序性能 1. 引言:为什么你需要关注这个0.6B的小模型? 如果你用过搜索引擎,肯定有过这样的体验:输入一个问题,搜出来一堆结果,但真…...
思源宋体免费商用字体:设计师的终极开源字体解决方案
思源宋体免费商用字体:设计师的终极开源字体解决方案 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 还在为商业项目寻找高质量中文字体而烦恼吗?Source Han Se…...
掌握罗技鼠标宏的5个技术维度:从原理到实战优化
掌握罗技鼠标宏的5个技术维度:从原理到实战优化 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 一、技术原理解析:机械补…...
工业视觉检测避坑指南:CogBlobTool阈值设置5大常见错误及解决方案
工业视觉检测避坑指南:CogBlobTool阈值设置5大常见错误及解决方案 在工业视觉检测领域,斑点检测(Blob Analysis)是最基础也最关键的环节之一。作为Cognex VisionPro套件中的核心工具,CogBlobTool凭借其强大的图像分割能…...
基于 SpringBoot 的自助图书借阅管理系统源码讲解
以下是一个基于 SpringBoot 的自助图书借阅管理系统的 核心源码讲解,涵盖用户管理、图书管理、借阅管理、设备对接等关键模块,代码结构清晰,可直接用于学习或二次开发。一、项目结构src/main/java/com/library/ ├── config/ # 配…...
WAN2.2文生视频效果实测对比:不同SDXL风格对动态连贯性的影响分析
WAN2.2文生视频效果实测对比:不同SDXL风格对动态连贯性的影响分析 最近在玩WAN2.2文生视频模型时,我发现一个挺有意思的现象:虽然模型本身很强大,但生成的视频效果好不好,很大程度上取决于你选的“风格”。WAN2.2集成…...
STM32F407实战:基于CubeMX与FreeRTOS的SDIO-FatFs文件系统高效读写方案
1. 环境准备与CubeMX基础配置 第一次接触STM32F407的SD卡存储时,我被各种专业术语搞得晕头转向。后来发现,只要用对工具和方法,实现文件系统读写其实没那么复杂。CubeMX这个图形化配置工具真是开发者的福音,它能帮我们自动生成80%…...
Wan2.2-I2V-A14B镜像效果展示:夕阳海滩10秒1080P高清视频生成作品集
Wan2.2-I2V-A14B镜像效果展示:夕阳海滩10秒1080P高清视频生成作品集 1. 惊艳的视频生成效果 想象一下,只需简单描述,就能让电脑自动生成一段夕阳下的海滩视频。Wan2.2-I2V-A14B镜像让这个想象成为现实,它能将文字描述转化为高清…...
别再只用命令行!华为防火墙USG6000V的Web界面到底怎么玩?eNSP实战演示
华为USG6000V防火墙Web界面高效操作指南:从CLI到图形化的思维转换 对于习惯了命令行操作的老牌网络工程师来说,第一次接触华为USG6000V防火墙的Web管理界面时,往往会陷入一种矛盾心理——既惊叹于可视化操作的直观,又担心图形化界…...
