51单片机学习笔记——LED闪烁和流水灯

news2024/9/25 15:25:02
  • 任务分析

首先要知道LED闪烁主要是怎么工作的,闪烁亮灭自然是一下为高一下为低,亮灭的频率则需要延时来进行控制。

上节已经知道了如何点亮那延时如何做呢首先先编写主框架

这样是否可以通过循环将LED灯一直循环闪烁。

以为while一直在循环所以其实是可以闪烁的,但由于扫描的周期过快,人的肉眼无法看见闪烁,因此需要添加延时。

那么延时如何做呢?

首先打开下载软件,找到软件延时计算器

根据需要的时间修改参数,注意晶振赔率,不知道晶振频率的小伙伴可以看板子上的白色小金属壳上的字,我使用的上写的是Y11.0592。

同时8051指令集选项需要找到使用对应板子型号的选项。

完成后点击生成代码再复制到程序中即可

由于复制的代码是一个打包好的函数,我们在主程序中使用需要将函数进行调用。

注意需要使用延时需要包含#include <INTRINS.H>)

之后进行下载调试即可,注意生产程序文件,如何下载具体看第一节

  • 流水灯

根据LED的闪烁我们知道了如何让LED一下亮一下灭,还可以通过控制延时的数字大小控制亮灭时间的长短。

那流水灯应该如何做呢?

流水灯其实就是第一个亮灭灭了之后第二个亮之后以此类推循环下去。

延时函数闪烁已经介绍过了,我们可以通过对于十六进制的计算来控制每一个LED

LED亮则给0灭则给1这是因为单片机内部给LED模块的电平的原因。

如果每次需要一个延时就复制一段程序那我们的主程序太复杂了,我们可以通过给函数传参的方式改变每次需要延时的值。

将原来延时函数里括号的内容改为传送一个无符号的整形s,无符号整形的取值范围为0~65535由于时间没有负的正好符合我们的要求。

函数的内容也需要重新生成,生成一个一毫秒的函数,这样我们需要多少毫秒就可以将我们需要的秒数直接打到调用函数的括号里了不用在另外去下载器生成新的延时代码。

由于是可更改可传参的函数,但是我们延时函数里的内容只是延时一次一毫秒的内容,我们可以做一个while循环,每执行完一行s--这样定了多少秒就减多少次即可完成功能(程序图片第七行)

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

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

相关文章

PCB中常用电子器件封装学习——【一网打尽】

‘ 上图是这个世界上大概所有的封装种类&#xff0c;当然我们日常硬件电路设计肯定用不到这么多&#xff0c;接下来我将介绍几种工程上常用的封装&#xff0c;配以图片方便大家理解学习。在电子器件选型的时候&#xff0c;避免选择到一些非常难以焊接的封装电子器件。

权限提升-Windows权限提升篇数据库篇MYSQLMSSQLORACLE自动化项目

知识点 1、Web到Win-数据库提权-MSSQL 2、Web到Win-数据库提权-MYSQL 3、Web到Win-数据库提权-Oracle 章节点&#xff1a; 1、Web权限提升及转移 2、系统权限提升及转移 3、宿主权限提升及转移 4、域控权限提升及转移 基础点 0、为什么我们要学习权限提升转移技术&#xff1…

STM32之HAL开发——系统定时器(SysTick)

系统定时器&#xff08;SysTick&#xff09;介绍 SysTick—系统定时器是属于 CM3 内核中的一个外设&#xff0c;内嵌在 NVIC 中。系统定时器是一个 24bit的向下递减的计数器&#xff0c;计数器每计数一次的时间为 1/SYSCLK&#xff0c;一般我们设置系统时钟 SYSCLK等于 72M。当…

Django(一)- 环境搭建和快速入门

一、搭建环境 1、创建Python虚拟环境 (base) C:\Users\35351>conda create -n django_study python3.9 2、安装Django (django_study) C:\Users\35351>pip install Django >> 查看安装版本 (django_study) C:\Users\35351>python -m django --version 3、安…

使用倒模耳机壳UV树脂胶液制作舞台监听耳返入耳式耳机壳有哪些缺点?

使用倒模耳机壳UV树脂胶液制作舞台监听耳返入耳式耳机壳也存在一些缺点&#xff0c;具体如下&#xff1a; 成本较高&#xff1a;相对于传统的塑料或金属材料&#xff0c;UV树脂胶液的成本较高&#xff0c;需要更多的材料和工艺成本。制作难度较大&#xff1a;由于UV树脂的特殊…

基于大数据的空气质量预测和可视化分析

城市空气质量数据采集系统设计与实现 &#x1f3d9;️ 研究背景 &#x1f32c;️ 城市化与环境挑战&#xff1a;随着城市化进程的加快&#xff0c;环境污染问题&#xff0c;尤其是空气质量问题&#xff0c;已成为公众关注的焦点。数据监测的重要性&#xff1a;城市空气质量数…

海尔洗空气型号KFR-72LW/09HAA81U1技术分析

海尔洗空气型号为:KFR-72LW/09HAA81U1 室外机包含阀门地脚的安装尺寸是960宽703高400深mm 室外机铭牌参数: 制冷运行时 制冷量&#xff1a;7200W&#xff08;1100-9150&#xff09; 最大输入功率&#xff1a;3550W 最大电流&#xff1a;16.2A 制热运行时 制热量&#xff1a;980…

Spark Streaming DStream

Spark Streaming DStream DStream 即Discretized Stream&#xff0c;中文叫做离散流&#xff0c;Spark Streaming提供的一种高级抽象&#xff0c;代表了一个持续不断的数据流。 DStream可以通过输入数据源来创建&#xff0c;比如Kafka、Flume&#xff0c;也可以通过对其他DS…

Arduino智能家居

文章目录 一、接线框图1、下载fritzing 二、Arduino IDE 下载三、实现代码 一、接线框图 1、下载fritzing https://github.com/fritzing/fritzing-app/releases打开的软件界面如下&#xff1a; 二、Arduino IDE 下载 官网地址 P.S. 如果upload代码过程中出现cant open de…

球面数据的几何深度学习--球形 CNN

目录 一、说明二、球形 CNN概述三、球面数据的对称性四、标准&#xff08;平面&#xff09;CNN的局限性五、卷积并发症六、球面卷积七、球面卷积是不够的 一、说明 球面数据的几何深度学习–球形 CNN。通过对物理世界的平移对称性进行编码&#xff0c;卷积神经网络 &#xff0…

【Postman】工具使用介绍

一、postman工具介绍 1.什么是postman postman是谷歌开发的一款网页调试和接口测试工具&#xff0c;能够发送任何请求类型的http请求&#xff0c;支持GET/POST/PUT/DELETE等方法。postman简单易用&#xff0c;可以直接填写URL&#xff0c;header&#xff0c;body就可以发送一…

基于SSM非遗视域下喀什旅游网站

ssm非遗视域下喀什旅游网站的设计与实现 摘要 我们的生活水平正在不断的提高&#xff0c;然而提高的一个重要的侧面表现就是更加注重我们的娱乐生活。旅行是我们都喜欢的一种娱乐方式&#xff0c;各式各样的旅行经历给我们带来的喜悦也是大不相同的。带来快乐的同时也因为其复…

详细剖析多线程2----线程安全问题(面试高频考点)

文章目录 一、概念二、线程不安全的原因三、解决线程不安全问题--加锁&#xff08;synchronized&#xff09;synchronized的特性 四、死锁问题五、内存可见性导致的线程安全问题 一、概念 想给出⼀个线程安全的确切定义是复杂的&#xff0c;但我们可以这样认为&#xff1a; 在多…

STL标准模板库(C++

在C里面有已经写好的标准模板库〈Standard Template Library)&#xff0c;就是我们常说的STL库&#xff0c;实现了集合、映射表、栈、队列等数据结构和排序、查找等算法。我们可以很方便地调用标准库来减少我们的代码量。 size/empty 所有的STL容器都支持这两个方法&#xff0c…

腾讯云GPU云服务器_GPU云计算_异构计算_弹性计算

腾讯云GPU服务器是提供GPU算力的弹性计算服务&#xff0c;腾讯云GPU服务器具有超强的并行计算能力&#xff0c;可用于深度学习训练、科学计算、图形图像处理、视频编解码等场景&#xff0c;腾讯云百科txybk.com整理腾讯云GPU服务器租用价格表、GPU实例优势、GPU解决方案、GPU软…

Python 全栈系列236 rabbit_agent搭建

说明 通过rabbit_agent, 以接口方式实现对队列的标准操作&#xff0c;将pika包在微服务内&#xff0c;而不必在太多地方重复的去写。至少在服务端发布消息时&#xff0c;不必再去考虑这些问题。 在分布式任务的情况下&#xff0c;客户端本身会启动一个持续监听队列的客户端服…

vscode使用Runner插件将.exe文件统一放到一个目录下

找到右下角管理&#xff0c;点击扩展。 找到Code Runner插件&#xff0c;打开扩展设置。 向下翻&#xff0c;找到Executor Map&#xff0c;点击在settings.json中编辑。 在c和c的配置命令栏中增加\\\output\\即可。&#xff08;增加的目录不能自动创建&#xff0c;需要手动创建…

超高并发下Redis热点数据风险破解

1 介绍 作者是互联网一线研发负责人,所在业务也是业内核心流量来源,经常参与 业务预定、积分竞拍、商品秒杀等工作。 近期参与多场新员工的面试工作,经常就 『超高并发场景下热点数据』 可用性保障与候选人进行讨论。 本文聚焦一些关键点技术进行讨论,并总结一些热点场景…

pytorch 实现线性回归 softmax(Pytorch 04)

一 softmax 定义 softmax 是多分类问题&#xff0c;对决策结果不是多少&#xff0c;而是分类&#xff0c;哪一个。 为了估计所有可能类别的条件概率&#xff0c;我们需要一个有 多个输出的模型&#xff0c;每个类别对应一个输出。为了解决线 性模型的分类问题&#xff0c;我们…

Vscode按键占用问题解决

Vscode按键占用 在使用vscode的过程中&#xff0c;官方按键 Ctrl . 按键可以提示修复代码中的问题&#xff0c;但是发现按了没有反应。 解决问题 首先确认vscode中是否设置了这个按键&#xff0c;默认设置了的系统输入法中是否有按键冲突了&#xff0c;打开输入法设置检查 …