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

蓝桥杯_定时器的基本原理与应用

一 什么是定时器

  定时器/计数器是一种能够对内部时钟信号或外部输入信号进行计数,当计数值达到设定要求时,向cpu提出中断处理请求,从而实现,定时或者计数功能的外设。

二 51单片机的定时/计数器

单片机外部晶振12MHZ,12分频后计数脉冲为1MHZ,即每个时钟脉冲周期为1us,定时器T0的16位工作模式最大定时时间位65535us,如果要定时10ms的计数器的话就不能从0开始计数了,必须给定一个计数初值。

  TH0 =  (65535-10000)/256;

  TL0 =    (65535-10000)%256;

三 定时器/计数器编程思想

  通常有2个函数,1个是初始化函数,1个是对外做中断服务函数

 配置工作环境->计算计数初值->使能定时/计数器中断(即ET0或者ET1置0)-> 打开总中断(即EA=1)->启动定时器(即TR0或者TR1置0)

在中断服务函数中,如果不是自动重装模式,需要对THX和TLX重新赋值。

四 工程 代码

利用51单片机的定时/计数T0模式实现定时,每隔1s,L1指示灯闪烁一下,也就是点亮0.5s,熄灭0.5s,每隔10s,L8指示灯闪烁一下,即点亮5s,熄灭5s。

#include"reg52.h"sbit L1 = P0^0;
sbit L8 = P0^7;void InitHC138(unsigned char n)
{switch (n){ case 4:HC138_C = 1;HC138_B = 0;HC138_A = 0;//输出Y4break;case 5:HC138_C = 1;HC138_B = 0;HC138_A = 1;//输出Y5break;
case 4:HC138_C = 1;HC138_B = 1;HC138_A = 0;//输出Y6break;case 5:HC138_C = 1;HC138_B = 1;HC138_A = 1;//输出Y7break;}
}//锁存器选择//======================================
void InitTimer()
{THOD = 0x01;TH0 = (65535-50000)/256;TL0 = (65535-50000)%256;ET0 = 1;EA = 1;TR0 = 1;
}unsigned char count = 0;
unsigned char count1= 0;
void ServiceTimer() interrupt 1
{TH0 = (65535-50000)/256;TL0 = (65535-50000)%256;count++;count1++;if(count ==10){L1=~L1;count =0;}if(count1 = 100){L8=~L8;count1 = 0;
}//======================================void mian()
{void InitTimer();while(1){}
}

相关文章:

蓝桥杯_定时器的基本原理与应用

一 什么是定时器 定时器/计数器是一种能够对内部时钟信号或外部输入信号进行计数,当计数值达到设定要求时,向cpu提出中断处理请求,从而实现,定时或者计数功能的外设。 二 51单片机的定时/计数器 单片机外部晶振12MHZ,…...

【跨境电商须知】FP独立站的特点和痛点有哪些?

无论是做独立站,还是做亚马逊,都有各自的难点。自己做独立站若要在跨境行业长足发展,既要知道FP独立站有什么特点,要清楚FP独立站的痛点并一一克服。 一、FP独立站的特点 与依赖第三方平台相比,拥有自己的域名、服务器…...

js 精确计算(解决js四则运算精度缺失问题)

js的小数的运算,可能会得到一个不精确的结果,因为所有的运算都要转换成二进制去计算,然而,二进制无法精确表示1/10。 var a 0.1 0.2; console.log(a); //打印结果:0.30000000000000004因此需要使用以下方法实现精确…...

SpringBoot之统一事务管理配置

SpringBoot之自定义Jackson反序列化日期类型转换配置类 文章目录 SpringBoot之自定义Jackson反序列化日期类型转换配置类1. SpringBoot版本2. 统一事务管理配置类3. 主启动类加入开启事务的注解 统一事务管理配置 1. SpringBoot版本 <parent><groupId>org.springfr…...

荒岛生存:以牙签为核心资源的生存策略与思考

设想一下&#xff0c;当你不幸流落荒岛&#xff0c;随身携带的唯一物品是一盒牙签&#xff0c;面对极端环境与匮乏资源&#xff0c;如何运用这一看似微不足道的工具进行生存&#xff0c;成为了一项严峻的挑战。本文旨在探讨如何最大限度地发挥牙签在荒岛生存中的作用&#xff0…...

云计算 2月26号 (进程管理和常用命令)

一、权限扩展 文件权限管理之&#xff1a; 隐藏权限防止root误删除 文件属性添加与查看 [rootlinux-server ~]# touch file1 file2 file3 1.查看文件属性 [rootlinux-server ~]# lsattr file1 file2 file3 ---------------- file1 ---------------- file2 ---------------- f…...

Pytorch中,dim形象化的确切意义是什么?

在Pytorch中涉及张量的操作都会涉及“dim”的设置&#xff0c;虽然也理解个大差不差&#xff0c;但是偶尔还是有点犯迷糊&#xff0c;究其原因还是没有形象化的理解。 首先&#xff0c;张量的维度排序是有固定顺序的&#xff0c;0&#xff0c;1&#xff0c;2&#xff0c;.....…...

跨域引起的两个接口的session_id不是同一个

来源场景&#xff1a; RequestMapping(“/captcha”)接口设置了SESSION_KEY&#xff0c;也能获取到&#xff0c;但是到了PostMapping(“/login”)接口就是空的&#xff0c;由于跨域导致的两个session_id不是同一个 /*** 系统用户 前端控制器*/ Controller CrossOrigin(origins…...

解释一下前端框架中的虚拟DOM(virtual DOM)和实际DOM(real DOM)之间的关系。

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…...

【MyBatis-Plus】之queryWrapper.apply用法

目录 一、queryWrapper.apply的含义及其用法 二、其他方法 三、注意事项 官网地址&#xff1a;MyBatis-Plus https://baomidou.com/ 一、queryWrapper.apply的含义及其用法 QueryWrapper.apply() 是 MyBatis-Plus 提供的方法&#xff0c;用于构建动态 SQL 查询条件。它允许…...

Centos中安装Docker及Docker的使用

在centos7系统中安装指定版本的docker,并通过docker使用安装mysql为例,阐述docker的使用。 2.1、Docker卸载及安装yum依赖 【卸载Docker,如果安装的Docker的版本不合适】 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-…...

亿道推出重磅加固平板!为行业发展注入新动力

随着科技生产力的不断发展&#xff0c;各行各业都得到质的飞跃。产品的迭代速度也大大加快&#xff0c;作为全球领先的加固行移动终端一站式提供商&#xff0c;亿道信息跟紧时代潮流&#xff0c;推出EM-I10J、EM-I20J两款均衡型加固平板&#xff0c;为行业发展注入新动力。 接地…...

Gemma谷歌(google)开源大模型微调实战(fintune gemma-2b)

Gemma-SFT Gemma-SFT(谷歌, Google), gemma-2b/gemma-7b微调(transformers)/LORA(peft)/推理 项目地址 https://github.com/yongzhuo/gemma-sft全部weights要用fp32/tf32, 使用fp16微调十几或几十的步数后大概率lossnan;(即便layer-norm是fp32也不行, LLaMA就没有这个问题, …...

MySQL:数据库中有哪些锁

1、全局锁 加上全局锁后整个数据库就处于只读状态了&#xff0c;这时其他线程执行以下操作&#xff0c;都会被阻塞&#xff1a; 对数据的增删改操作&#xff0c;比如 insert、delete、update等语句&#xff1b;对表结构的更改操作&#xff0c;比如 alter table、drop table 等…...

MWC 2024丨美格智能发布全新5G-A模组及FWA解决方案,将5.5G带入现实

2月26日&#xff0c;在MWC 2024世界移动通信大会上&#xff0c;美格智能正式宣布推出5G-A模组SRM817WE以及全新的5G-A FWA解决方案&#xff0c;包含5G-A CPE解决方案SRT858M、5G-A MiFi解决方案SRT878H和5G-A ODU解决方案SRT853MX&#xff0c;旨在进一步提升网络性能&#xff0…...

Opencv双目校正函数 stereoRectify 详解

目录 函数的[官方解释](https://docs.opencv.org/4.x/d9/d0c/group__calib3d.html#ga617b1685d4059c6040827800e72ad2b6)函数原型参数说明&#xff1a;输入参数&#xff1a;输出参数&#xff1a; 函数代码测试 函数的官方解释 函数原型 void cv::stereoRectify ( InputArr…...

实现前端开发几个常用技巧

如何知道iframe下载完成 定时器轮询监听readyState的状态&#xff0c;如果是 complete 或者 interactive 说明文件加载完成。 常用的全屏居中 JS 函数 JS实现deepCopy 生成星级评分 JS数组扁平化之简单方法实现 toString 优点&#xff1a;简单&#xff0c;方便&#xff0c;对…...

Vue3 在SCSS中使用v-bind

template 先创建一个通用的页面结构 <template><div class"v-bubble-bg"></div> </template>js 在JS中先对需要用的数据进行定义&#xff1a; 可以是参数&#xff0c;也可以是data <script setup>const props defineProps({bgCol…...

玩转地下管网三维建模:MagicPipe3D系统

地下管网是保障城市运行的基础设施和“生命线”。随着实景三维中国建设的推进&#xff0c;构建地下管网三维模型与地上融合的数字孪生场景&#xff0c;对于提升智慧城市管理至关重要&#xff01;针对现有三维管线建模数据差异大、建模交互弱、模型效果差、缺乏语义信息等缺陷&a…...

11.以太网交换机工作原理

目录 一、以太网协议二、以太网交换机原理三、交换机常见问题思考四、同网段数据通信全过程五、跨网段数据通信全过程六、关键知识七、调试命令 前言&#xff1a;在网络中传输数据时需要遵循一些标准&#xff0c;以太网协议定义了数据帧在以太网上的传输标准&#xff0c;了解以…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程&#xff0c;然后使用强化学习的Actor-Critic机制&#xff08;中文译作“知行互动”机制&#xff09;&#xff0c;逐步迭代求解…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心&#xff0c;JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例&#xff1a; 1. onclick - 点击事件 当元素被单击时触发&#xff08;左键点击&#xff09; button.onclick function() {alert("按钮被点击了&#xff01;&…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一&#xff0c;概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本&#xff1a;2014.07&#xff1b; Kernel版本&#xff1a;Linux-3.10&#xff1b; 二&#xff0c;Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01)&#xff0c;并让boo…...

LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用

中达瑞和自2005年成立以来&#xff0c;一直在光谱成像领域深度钻研和发展&#xff0c;始终致力于研发高性能、高可靠性的光谱成像相机&#xff0c;为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...