第五课 呼吸灯

51单片机利用PWM、定时器实现呼吸灯 PWM周期:20ms; 占空比:0~100; 定时器定时时间:200us(即占空比每一份时间:20ms/100); 一次呼吸灯效果(暗->亮->暗):4s #include <reg52.h> //52头文件 typedef unsigned char u8; //别名 u8 Tcount, dutyfactor, direct; //一个PWM周期内的:周期计数,占空比,方向 sbit LED = P2^1; //位定义,led灯引脚 . 阅读详情

一 在由计数器产生的固定周期的 PWM 信号下,如果其占空比为 0,则 LED 灯不亮;如果其占空比为 100%, 则 LED灯最亮。所以将占空比从 0 到 100%,再从 100%到 0 不断变化,就可以实现 LED 灯的“呼吸”效 果。

实验任务:本节实验任务是使用正点原子 ZYNQ 开发板(核心板)上的 PL LED,实现呼吸灯的效果,即由灭渐亮, 然后再由亮渐灭

由原理图:led为1亮,0灭

二 程序设计

周期信号计数器用于产生驱动 LED 的脉冲信号,本次实验的周期信号频率为 1Khz,其占空比由后级逻 辑在每个周期之后进行递增或递减,最后再对当前计数值和占空比计数值进行比较,以输出占空比可调的 脉冲信号。

重点:根据波形图理解cnt_2us,2ms,2s的区别。

cnt_2us:当计数到最大值归0,其它值做累加操作。  cnt_2ms:当计数到MS_MAX时归0此时us也刚好为0,每计满US_MAX加1. cnt_2s:当计数到最大值归0,此时us和ms也为0,每计满2ms加1。

inc_dec_flag为低电平,led灯由暗变亮,inc_dec_flag为高电平,led灯由亮变暗。当计数到2s取反。

通过cnt_s和cnt_ms实现led占空比=逐渐变大或者变小。当flag为1,led由亮变暗,此时cnt_ms>=cnt_s led为1.当flag为0,led由暗变亮,此时cnt_ms《=cnt_s led为1.  如果当前的周期计数值小于等于占空比计数值,则 LED 输出高电平,即点亮;如果当 前的周期计数值大于占空比计数值,则 LED 输出低电平,即熄灭。

【Arduino实验06 呼吸灯】 任务描述:读取、输出电位器模拟信号值;电位器的LED亮度控制(PWM);呼吸灯制作。 阅读详情

相关推荐

基于555定时器的呼吸灯电路

呼吸灯是指LED灯在芯片的控制下完成由亮到暗的逐渐变化,感觉就像人在呼吸,其广泛使用在手机上,起到一个通知提醒的作用。呼吸灯在许多灯光装饰上也有大量使用,如音响、汽车广告牌等,在生活中较为常见。...

qq1074237849的博客 9497

ZYNQ——脉宽调制之呼吸灯实现

本文的主要内容是在ZYNQ开发板上实现脉宽调制,表现在LED上就是呼吸灯,文章中提供了脉宽调制的代码和仿真的结果,还有在开发板上验证的动图。

西岸贤 1604

呼吸灯——FPGA

呼吸灯

qq_52215423的博客 2万+

【【萌新的FPGA学习之呼吸灯实验】】

萌新的FPGA学习之呼吸灯实验

weixin_50965981的博客 333

【Arduino】入门篇——呼吸灯

呼吸灯 一、实验目的 二、实验材料 三、电路图 四、实验步骤 五、代码块 六、实验结果 一、实验目的 今天要做的是个呼吸灯,在前面我们知道了如何通过程序来控制LED亮灭。但Arduino还有个很强大的功能通过程序来控制LED的明亮度。ArduinoUNO数字引脚中有六个引脚标有“~”,这个符号就说明该口具有PWM功能。我们动手做一下,在做的过程中体会PWM的神奇力量!下面就...

漠宸离若的博客 1万+

Unity 实现物体上呼吸灯效果Shader

这次说的呼吸灯其实和之前写的流光有点类似,不过比流光更为简单 呼吸灯效果其实就是一个周期变化,周期变化就想到一个cos和sin这两个函数 原理:最终呼吸效果 = 当前颜色+ 周期变化的数值*呼吸灯颜色 如果要部分位置要进行呼吸效果,就和之前流光一样加一个mask图来rgb其中一个通道来处理就行 部分呼吸原理:最终呼吸效果 = 当前颜色+ 周期变化的数值*呼吸灯颜色*mask图某个通道 原...

SnoopyNa2Co3的博客 6955

第四章 PL点亮LED灯

PL点亮LED

weixin_45090728的博客 950

基于stm32呼吸灯原理

STM32是一款由意法半导体(STMicroelectronics)公司推出的32位ARMCortex-M系列单片机。它具有高性能、低功耗和丰富的外设以及灵活的软件开发环境,被广泛应用于嵌入式系统中。

suying_L的博客 2846

ZYNQ学习--PL 的LED 点亮实验

zynq--PL 的"Hello World"LED 实验 一、创建工程 二、编写代码 三、添加约束 四、代码仿真 五、下载验证 六、信号抓取ILA

伊丽莎白的学习之路 4854

第 40 章 呼吸灯与 SPWM 波

呼吸灯,就是指灯光设备的亮度随着时间由暗到亮逐渐增强,再由亮到暗逐渐衰减,很有节奏感地一起一伏,就像是在呼吸一样。• TIMPeriod:定时器的计数周期,它的值必须与 PWM 表中的极大值相等(应用中赋值需要减 1),而 PWM 表的极大值决定了控制的分辨率。例如极大值为 10 时,PWM 占空比只有10 个等级,精确到 0.1,当极大值为 1000 时,PWM 占空比有 1000 个等级,精确到 0.001。

C_say_easy_to_me的博客 4823

Arduino--Mixly-呼吸灯及可调灯

Mixly-呼吸灯及可调灯 实验需求: 硬件:Arduino、LED灯、按钮 软件:Mixly IDE 要求: 1.使用函数方法实现呼吸灯功能。 2.使用中断或其他方式实现可调灯功能。 呼吸灯: 灯光在微电脑控制之下完成由暗到亮再由亮到暗的逐渐变化,感觉像是在呼吸,所以称为呼吸灯。呼吸灯广泛应用于手机、无线路由器之上,如你的手机里面有未处理的通知,比如说未接来电,未查收的短信等等,呼吸灯就会由暗到...

NIki_ya的博客 5515

STM32_PWM呼吸灯

1、什么叫呼吸灯? 由亮到暗逐渐变化,很有节奏感地一起一伏,感觉好像人在呼吸,当手机收到消息,屏幕上的指示灯会渐变,比较显眼,能起到一个通知提醒的作用,其实这就一个呼吸灯。 (备注:现在由于手机都在往全面屏发展,因此很多手机取消了呼吸灯这一功能,取而代之的是息屏显示) 2、什么是PWM? PWM:Pulse Width Modulation,脉冲宽度调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。 可以将PWM理解为:对脉冲信号的处理技术。这里的“处理”指就的是改变占空比,从而改变最

weixin_46406325的博客 2万+

PWM输出实现呼吸灯控制

脉宽调制(PWM,Pulse Width Modulation)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。通俗的说,就是控制在一个周期内,控制高电平多长时间,低电平多长时间(前面文章种有说过IO口就只有两种状态,0和1,对应就是0和5V或者0和3.3V)。也就是说通过调节高低电平时间的变化来调节信号、能量等的变化。

houlile_sunny的博客 3881

WS2812灯珠(四)---实现全彩呼吸灯效果

WS2812灯珠实现呼吸灯效果主要涉及到呼吸函数及颜色模型两部分的内容。清楚了这两点结合之前的灯珠驱动程序,便可以实现任意颜色的呼吸变换效果了。 ## 呼吸函数 具体的呼吸函数细节这里就不介绍了,感兴趣的可以自行搜索。这里下面的呼吸灯曲线表是从呼吸函数中取得离散点,最大值为256(rgb的分别值最大为255),总共300个亮度等级,若每个亮度下亮10ms则整个过程持续3S,符合人实际呼吸的情况。 ...

ApexYuan 3万+

ubuntu安装glibc

VSCode 在ubuntu下调试无法打开libc-start.c raise.c等1. 安装glibc2. launch.json中添加路径映射3. 调试 1. 安装glibc apt install glibc-source cd /usr/src/glibc/ sudo tar -xvf glibc-[VERSION].tar.xz 2. launch.json中添加路径映射 "sourceFileMap": { "/build/glibc-S7xCS9": "/usr/src/glib

wq_0708的博客 3万+

Docker “docker login“ 失败? 登录阿里云镜像仓库仓库 unauthorized: authentication required

文章目录听说你 login fail?来,让我们解决一下!登录,撒花 听说你 login fail? 美滋滋的在服务器上安装完成Docker应用,开始配置阿里云镜像加速?然后被阿里云官方文档蹂躏?别急别急,让我来拯救你。 我们先来看看 阿里云官方文档 Docker镜像基本操作: 好家伙,emmm… 上来直接就Login Succeeded,这不简直so easy?我们也来照着操作操作: docker@default-online:~$ docker login registry.cn-hangzhou.a

zhuzicc的博客 1万+

FPGA verilog HDL 呼吸灯及呼吸流水灯实现

项目一:FPGA的呼吸灯实现 项目介绍:呼吸灯,就是想人们呼吸频率的一种led灯亮灭的一种表现形式。过程是慢慢变亮,然后变亮以后又慢慢变灭的一种过程。很多初学者会认为硬件逻辑语言怎么能控制电流的高低呢,让灯有多亮就调多亮,所以觉得不好实现,其实不用担心,呼吸灯捅破窗户纸就知道,其实是一个很简单的一个小项目,下面我将一步一步的讲解,并且实现。 项目小知识讲...

张华山 2万+

成本150元的高性能RDP协议瘦客户机

云终端市场是一个跨度很大的市场。既有数千元的品牌的瘦客户机,也有几百元的瘦客户机,还有200-300元的支持RDP协议的多用户云终端。但是200-300元的多用户终端,在显示性能上不尽人意,一般用于地产中介门店,工厂产线的电子看板等场合。有没有性能更好,价格更低的方案呢? 答案是有。 这个方案就是 二手的x86 瘦客户机 + DoraOS瘦客户机系统免费版(仅支持RDP)。 首先我们看硬件,在某宝搜索 升腾C92 ,找到最低配置的( CPU:J1800,内存:2G,硬盘:8G)。价格都在150以内。

云飞扬的桌面云 7413

Arduino基础入门二之呼吸灯

之前用UNO R3的数字引脚输出高/低电平实现了LED的亮/灭,而呼吸灯则是让LED明亮度有一个缓慢变化过程,不是直接的亮灭。如何实现?关键就是数字引脚输出的不再是单纯的高低电平,而是PWM信号。 硬件连接和之前一样,只不过要注意接的数字引脚需要有“~”标记,表示可以输出PWM信号。 代码如下: /*LED呼吸效果*/ int ledpin = 10;//定义led连接引脚,需要有~标记 void setup() { // put your setup code here, to r...

u013978070的专栏 1万+

android OTA升级之后,apk崩溃无法启动

也就是说,我们这个高低版本是fingerprint相同的情况,这个问题追述到jenkins编译,启动job时会初始化一个BUILD_NUMBER值,这个值正好跟Android的build系统的名称重复,这就导致Android build系统那一套拼接时间戳的值不会走,因为jenkins一启动就会定义该值,而我们jenkins服务器迁移过,这个值又会从1开始累计,导致前后版本都是16,从而导致fingerprint一致。问题背景:系统版本从低版本升级到高版本后,apk崩溃启动失败。硬件平台:QCS6125。

kevin's cache的专栏 1347

RK3588 buildroot 双网口bonding调试

本文介绍了Rockchip Buildroot中配置网络冗余的方法,通过bonding技术将多个物理网口合并为逻辑接口。主要内容包括:1)7种常见bonding模式的特点及适用场景;2)RK3588的具体配置流程,包括内核配置(启用bonding驱动、修改dts)、添加ifenslave工具;3)系统编译和网络状态检查。

501846585_QQAndroid_java 460

呼吸灯原理简介 + FPGA实现呼吸灯

呼吸灯原理简介 + FPGA实现呼吸灯 所谓呼吸灯,就是是指灯光在微电脑的控制之下完成由亮到暗再由暗到亮的逐渐变化,感觉好像是人在呼吸,主要用于起通知提醒的作用。 本文简要介绍一下呼吸灯的原理,最后并附上FPGA的呼吸灯Verilog HDL代码。希望能给各位读者些许帮助。 呼吸灯的效果是灯逐渐由暗变亮再逐渐由亮变暗周而复始像人在呼吸一样。大家可能会想到如果能实现逐渐增加电压再逐渐减小电压就能轻松...

mnwu522的博客 1万+

AgentScope 2.0 源码解析-工具系统解读:从内置工具到权限管控的完整实践

本文深入解析AgentScope 2.0工具系统的完整架构,覆盖内置工具集(文件读写、命令执行、搜索匹配)、MCP协议集成(STDIO/HTTP双传输、客户端封装、工作空间网关)、工具包管理与动态分组、权限引擎的多级决策机制(危险路径保护、只读识别、模式控制),以及自定义工具开发流程。通过分层架构图和时序图直观展示组件协作关系,结合安全最佳实践与故障排除指南,为开发者提供从工具使用到安全管控的全链路参考。

program哲学 574

STM32F103VET6实现呼吸灯

STM32F103VET6开发板实现呼吸灯 文章目录STM32F103VET6开发板实现呼吸灯前言一、相关知识介绍1.呼吸灯简介2. 硬件简介二、实现呼吸灯1.单色呼吸灯2.初始化GPIO3.定义 PWM表4.定时器 PWM配置5.定时器中断服务函数6.计算拟合波形的周期7.主函数总结 前言 在本章中,演示如何使用计算法得到的呼吸曲线 PWM 波和 SPWM 波,并 使用 STM32定时器 TIM的 PWM功能输出波形控制 LED 灯,实现三色LED的呼吸效果。 一、相关知识介绍 1.呼吸灯简介 呼吸灯

放空的博客 3220

基于simulink的BMS系统中电池单体故障隔离与恢复建模

本文介绍了使用Simulink构建BMS电池单体故障诊断与容错控制模型的方法。主要内容包括:1)搭建12串锂电池组模型;2)实现单体故障注入(过压、断线等);3)设计故障诊断与隔离模块(采用Stateflow状态机);4)开发恢复判断逻辑(需满足电压、温度等条件);5)系统监控与仿真设置。文章还提供了工程实践建议,如防环流设计、通信冗余等,并指出进阶方向(多故障处理、AI预警等)。该模型适用于新能源汽车、储能系统的BMS设计,可提高系统可靠性和安全性。

xiaoheshang_123的博客 141

从 Integrated Configuration 到 Integration Flow,SAP PI/PO 老配置迁移的一次温和重构

很多还在运行 SAP PI/PO 的系统,Integration Directory 里都积累了不少 Integrated Configuration,也就是日常项目里常说的 ICO。它们可能稳定运行了多年,负责把采购订单、物料主数据、客户主数据、发票、发货通知从一个系统送到另一个系统。问题在于,ICO 这种对象很实用,却不够直观。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 99
上一篇: 第四课 触摸按键控制led
下一篇: 第六课 IP核PLL/MMCM
13.02
博客等级 码龄7年 1粉丝 12原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值