当前位置: 首页 > news >正文

51单片机学习记录———定时器

文章目录

  • 前言
  • 一、定时器介绍
  • 二、STC89C52定时器资源
  • 三、定时器框图
  • 四、定时器模式
  • 五、定时器相关寄存器
  • 六、定时器练习


前言

一个学习嵌入式的小白~ 有问题评论区或私信指出~


提示:以下是本篇文章正文内容,下面案例可供参考

一、定时器介绍

定时器介绍:51单片机的定时器属于单片机的内部资源,其电路的连接和运转均在单片机内部完成。
定时器作用:
1.用于计数系统,可实现软件计时,或者使程序每隔一固定时间完成一项操作
2.替代长时间的Delay,提高CPU的运行效率和处理速度

二、STC89C52定时器资源

1.定时器个数三个(T0,T1,T2),TO和T1与传统的51单片机兼容,T2是此型号单片机增加的资源
注意:定时器的资源和单片机的型号是关联在1起的,不同的型号可能会有不同的定时器个数和操作方式,但一般来说,TO和T1的操作方式是所有51单片机所共有的。

三、定时器框图

定时器在单片机内部就像一个小闹钟一样,根据时钟的输出信号每隔一个时钟周期,数单元的数值就加以,当计数单元数值增加到“设定的闹钟提醒时候”时,计数单元就会向中断系统发出中断申请,产生“响铃提醒”,使得程序跳转到中断服务程序。
在这里插入图片描述

四、定时器模式

STC89C52的TOT1均由四种工作模式
模式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定时器资源三、定时器框图四、定时器模式五、定时器相关寄存器六、定时器练习 前言 一个学习嵌入式的小白~ 有问题评论区或私信指出~ 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、定时器介绍 定时器介…...

C# 热插拔---插件开发

热插拔是以多态&#xff0c;文件监控&#xff0c;反射为基础的。所以用到的是FileSystemWatcher类和 Assembly 类&#xff0c;主要原理就是动态加载dll文件&#xff0c;而要监控dll文件&#xff0c;最好的就是用FileSystemWatcher类&#xff0c;它可以实时监控指定路径下的文件…...

hive优化之逻辑类似or逻辑重复

今天拿到一个二次开发的需求&#xff0c;只是增加一个业务类型&#xff0c;开发起来倒是也蛮轻松。 但是&#xff0c;对自己的要求不难这么低&#xff0c;否则可替代性也太高了。 除了完成自己的那部分开发&#xff0c;当然展现自己实力的&#xff0c;可以是优化。 1&#x…...

ES6+Vue

ES6Vue ES6语法 ​ VUE基于是ES6的&#xff0c;所以在使用Vue之前我们需要先了解一下ES6的语法。 1.什么是ECMAScript6 ECMAScript是浏览器脚本语言的规范&#xff0c;基于javascript来制定的。为什么会出现这个规范呢&#xff1f; 1.1.JS发展史 1995年&#xff0c;网景工…...

如何将重量传感器 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提供了一种简单高效的初始化组件的方式&#xff0c;开发者可以使用AppStartup来显示的设置组件的初始化顺序以及之间的依赖关系&#xff0c;支持异步初始化组件加速应用的启动时间。开发者需要分别为待初始化的组件实现AppStartup提供的 StartupTask 接口&…...

如何在Springboot中添加事务执行?(以MySQL为例)

目录 1. 添加依赖 2. 配置数据库连接 3. 启用事务管理 4. 创建实体类和存储库 5. 创建服务类并使用Transactional注解 6. 编写测试用例 7. 运行应用程序 在Springboot中开启数据库的事务的应用开发过程中非常重要的业务&#xff0c;以下是一个使用MySQL数据库&#xff0…...

优化MySQL并发事务:如何避免更新丢失问题?

背景描述 现在有两个事务&#xff0c;事务A和事务B&#xff0c;他们都需要修改同一行数据&#xff0c;这行数据原始值为100&#xff0c;事务A的操作是数据增加100&#xff0c;事务B的操作也是增加100&#xff0c;预期的最终结果是300&#xff0c;现在如何保证最终的数据是300的…...

物联网设备管理系统设计

一、引言 物联网设备管理系统设计旨在通过物联网技术实现对设备的全面监控、控制和管理&#xff0c;以提高设备的运行效率、降低运维成本&#xff0c;并确保数据的安全性和完整性。本设计将结合当前物联网技术的发展趋势和实际应用需求&#xff0c;提出一个清晰、可扩展的物联网…...

python之Bible快速检索器

内容将会持续更新&#xff0c;有错误的地方欢迎指正&#xff0c;谢谢! python之Bible快速检索器 TechX 坚持将创新的科技带给世界&#xff01; 拥有更好的学习体验 —— 不断努力&#xff0c;不断进步&#xff0c;不断探索 TechX —— 心探索、心进取&#xff01; 助力快…...

微服务-网关

网关&#xff1a;就是网络的关口&#xff0c;负责请求的路由、转发、身份校验 在SpringCloud中网关的实现包括两种&#xff1a; 快速入门 引入依赖 路由属性 网关路由对应的Java类型是RouteDefinition&#xff0c;其中常见的属性有&#xff1a; id&#xff1a;路由唯一标示ur…...

OpenAI项目爆改GLM——以基于llama_index的pdf阅读助手

最近在做大模型agent构建&#xff0c;看了许多不错的开源项目&#xff0c;但是clone下来就是一整个不能用&#xff0c;因为github上开源的项目基本都是基于openai做的。而如果想要转成国内大模型backbone&#xff0c;需要修改的地方挺多的。 现在以一个简单的pdf reader agent…...

如何在Java中处理ParseException异常?

如何在Java中处理ParseException异常&#xff1f; 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在Java编程中&#xff0c;ParseException异常是开发者在处理…...

Java中如何解决BadPaddingException异常?

Java中如何解决BadPaddingException异常&#xff1f; 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在Java编程中&#xff0c;BadPaddingException异常是一个…...

数电大作业-四输入表决器

&#xff08;PCB和multisim仿真画的有很大问题&#xff0c;没有VCC输入和GND&#xff0c;没学过直接裸画的&#xff0c;之后会好好看视频学习&#xff09; 应用背景&#xff1a; 四个评委&#xff0c;三个及以上评委同时按下通过按钮时&#xff0c;选手才能通过。否则不通过。…...

ONLYOFFICE 桌面编辑器 8.1重磅来袭:全新功能提升您的办公效率

文章目录 前言ONLYOFFICE 桌面编辑器8.1一、PDF编辑&#xff1a;告别“头痛”时刻二、幻灯片版式&#xff1a;秒变“设计大师”三、无缝切换&#xff1a;办公界的“快速通道”四、语言支持&#xff1a;全球通吃的“翻译官”五、 隐藏“连接到云”板块&#xff1a;摆脱“云”的束…...

网络协议安全:TCP/IP协议栈的安全问题和解决方案

「作者简介」:北京冬奥会网络安全中国代表队,CSDN Top100,就职奇安信多年,以实战工作为基础对安全知识体系进行总结与归纳,著作适用于快速入门的 《网络安全自学教程》,内容涵盖Web安全、系统安全等12个知识域的一百多个知识点,持续更新。 这一章节我们需要知道TCP/IP每…...

VERYCLOUD睿鸿股份亮相亚马逊云科技中国峰会2024

5月30日&#xff0c;为期两天的亚马逊云科技中国峰会在上海世博中心圆满落幕。 多位大咖现场分享&#xff0c;生成式AI时代的数据战略&#xff0c;企业级AI应用&#xff0c;最新技术、产品重磅发布&#xff0c;创新行业解决方案 …… 作为亚马逊云科技的生态合作伙伴&#x…...

2-15 基于matlab的蚁群,模拟退火,遗传,神经网络,禁忌搜索等智能优化算法对TSP问题

基于matlab的蚁群&#xff0c;模拟退火&#xff0c;遗传&#xff0c;神经网络&#xff0c;禁忌搜索等智能优化算法对TSP问题。五种优化算法对多个城市路径进行规划&#xff0c;通过优化速度、距离可比较五种方法的优劣。程序已调通&#xff0c;可直接运行。 2-15 蚁群优化算法 …...

kylinos 国产操作系统离线安装firefox 麒麟操作系统安装新版本firefox

1. 火狐地址&#xff1a; 下载 Firefox 浏览器&#xff0c;这里有简体中文及其他 90 多种语言版本供您选择 2. 选择&#xff1a; 3. 下载完之后&#xff0c;上传到离线机器 4. 解压缩&#xff1a; tar -xvjf firefox-127.0.1.tar.bz2 5. 去点击解压后的文件夹&#xff0c;找…...

3分钟学会Qwerty Learner:打字练习与单词记忆的完美结合

3分钟学会Qwerty Learner&#xff1a;打字练习与单词记忆的完美结合 【免费下载链接】qwerty-learner 项目地址: https://gitcode.com/GitHub_Trending/qw/qwerty-learner Qwerty Learner是一款专为键盘工作者设计的开源学习工具&#xff0c;巧妙地将英语单词记忆与打字…...

如何快速诊断dynamic-datasource JVM线程问题:JStack实战指南

如何快速诊断dynamic-datasource JVM线程问题&#xff1a;JStack实战指南 【免费下载链接】dynamic-datasource dynamic datasource for springboot 多数据源 动态数据源 主从分离 读写分离 分布式事务 项目地址: https://gitcode.com/gh_mirrors/dy/dynamic-datasource …...

03-CAPL 常用函数大全

专栏&#xff1a;《CAPL 脚本编写实战指南》第 3 篇 作者&#xff1a;一线汽车电子测试工程师 适合人群&#xff1a;已掌握 CAPL 基础的测试人员、想系统学习 CAPL 函数的工程师开篇&#xff1a;为什么要学 CAPL 函数&#xff1f; 这是我刚学 CAPL 时的真实经历。 当时的情况&a…...

造相 Z-Image 电商提效:淘宝主图/拼多多详情页/小红书种草图量产

造相 Z-Image 电商提效&#xff1a;淘宝主图/拼多多详情页/小红书种草图量产 1. 电商视觉内容生产的痛点与机遇 电商卖家每天面临的最大挑战之一就是视觉内容的生产。无论是淘宝主图、拼多多详情页还是小红书种草图文&#xff0c;都需要大量高质量的图片来吸引用户眼球。传统…...

Waymo Open Dataset Docker部署:环境配置与容器化最佳实践

Waymo Open Dataset Docker部署&#xff1a;环境配置与容器化最佳实践 【免费下载链接】waymo-open-dataset Waymo Open Dataset 项目地址: https://gitcode.com/gh_mirrors/wa/waymo-open-dataset Waymo Open Dataset是自动驾驶领域的重要开源项目&#xff0c;提供了丰…...

Blender多材质合并与Three.js统一渲染:从烘焙到GLB导出的完整指南

1. 多材质模型合并的核心痛点 在Blender中合并多个模型时&#xff0c;即使将它们合并为单一Mesh对象&#xff0c;导出为GLB格式后在Three.js中仍然会被拆分成多个Mesh。这个问题困扰过不少开发者&#xff0c;我自己在早期项目中也踩过这个坑。根本原因在于&#xff1a;Three.js…...

3分钟快速上手:ComfyUI-WanVideoWrapper视频生成AI终极指南

3分钟快速上手&#xff1a;ComfyUI-WanVideoWrapper视频生成AI终极指南 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper 还在为复杂的视频生成工具配置而头疼吗&#xff1f;ComfyUI-WanVideoWrap…...

告别DLSS版本迷宫:DLSS Swapper如何实现3步智能优化

告别DLSS版本迷宫&#xff1a;DLSS Swapper如何实现3步智能优化 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 核心价值&#xff1a;解决三大核心矛盾&#xff0c;让DLSS管理化繁为简 您是否曾遇到这样的场景&#x…...

Spring AI 实战系列(二):ChatClient封装,告别大模型开发样板代码

系列栏目&#xff1a;Spring AI Spring AI 实战教程&#xff08;一&#xff09;入门示例 Spring AI 实战系列&#xff08;二&#xff09;&#xff1a;ChatClient封装&#xff0c;告别大模型开发样板代码 Spring AI 实战系列&#xff08;三&#xff09;&…...

视频转PPT智能提取工具:自动化幻灯片提取效率提升10倍的完整方案

视频转PPT智能提取工具&#xff1a;自动化幻灯片提取效率提升10倍的完整方案 【免费下载链接】extract-video-ppt extract the ppt in the video 项目地址: https://gitcode.com/gh_mirrors/ex/extract-video-ppt 在数字化学习和远程办公的时代&#xff0c;视频内容已成…...