51单片机流水灯

**led 介绍**
LED是“Light Emitting Diode”的缩写,即发光二极管。它是一种半导体器件,能够将电能转化为可见光。LED灯通常由LED芯片、封装材料、铝基板和灯罩等部件组成。

**LED灯具有以下特点:**

  1. 节能:LED灯具有较高的光电转换效率,能够将大部分电能转化为光能,相比传统白炽灯泡 和荧 光灯具有更低的能耗。
  2. 寿命长:LED灯寿命长,可达数万小时,远远超过传统灯泡,减少了更换灯泡的频率。
  3. 节省空间:LED灯小巧轻便,可以设计成各种形状和尺寸,适用于各种应用场景。
  4. 环保:LED灯不含汞等有害物质,不会产生紫外线和红外线辐射,使用时也不会产生频闪等有害物质。

LED灯广泛应用于室内照明、户外照明、汽车灯具、电子显示屏、指示灯等领域。在电子设计和嵌入式系统中,LED也常用作电路指示灯、状态指示灯、信号灯等。在嵌入式系统中,LED灯通常通过微控制器的GPIO(通用输入/输出)引脚来驱动,通过控制GPIO引脚的电平状态来控制LED的亮灭。这样可以实现LED的闪烁、呼吸灯效果等。 LED的使用非常灵活,能够通过软件编程实现各种照明效果和指示功能。

单片机的工作原理:cpu通过配置寄存器控制我们的硬件电路实现我们的功能

二进制转换为16进制:进制转换关系对应表

点亮51单片机的第一个led灯和让单片机的led灯实现亮灭亮灭的效果(采用16进制的方式实现)

eg1:实现单个LED灯的亮和灭

#include <REGX52.H>// P1 是第一个led晶体管1111 1110 倒数转换为16进制void main(){P1 = 0xFE;  // 点亮第一个单片机的led灯P1 = 0x55; 	// 单片机的亮灭效果while(1){// 添加while循环让单片机停止或者开始}}

eg2:实现单个LED灯的闪烁效果

#include <REGX52.H>
#include <INTRINS.H>void Delay500ms()		//@11.0592MHz
{unsigned char i, j, k;_nop_();i = 4;j = 129;k = 119;do{do{while (--k);} while (--j);} while (--i);}void main(){while(1){// 循环实现led灯的亮灭情况P1 = 0xFE;Delay500ms();// 函数的调用P1 = 0xFF;Delay500ms();}
}

eg3:实现单片机的流水灯显示

#include <REGX52.H>
#include <INTRINS.H>void Delay500ms()		//@11.0592MHz
{unsigned char i, j, k;_nop_();i = 4;j = 129;k = 119;do{do{while (--k);} while (--j);} while (--i);}void main(){while(1){// 循环实现led灯的亮灭情况P1 = 0xFE; // 1111 1110Delay500ms();P1 = 0xFD; // 1111 1101Delay500ms();P1 = 0xFB; // 1111 1011Delay500ms();P1 = 0xF7; // 1111 0111Delay500ms();P1 = 0xEF; // 1110 1111Delay500ms();P1 = 0xDF; // 1101 1111Delay500ms();P1 = 0xBE; // 1011 1111Delay500ms();P1 = 0x7F; // 0111 1111Delay500ms();}
}

eg4:使用延时函数实现200毫秒的流水灯轮动

#include <REGX52.H>
#include <INTRINS.H>void Delay500ms(unsigned int xms)		//@11.0592MHz 单片机的系统中int 表示的是16位的,在计算机中是32位或者是64位的
{unsigned char i, j;while(xms){i = 2;j = 239;do{while(--j);}while(--i);xms--;}}void main(){while(1){// 循环实现led灯的亮灭情况P1 = 0xFE; // 1111 1110Delay500ms(200); // 自定义200毫秒P1 = 0xFD; // 1111 1101Delay500ms(200);P1 = 0xFB; // 1111 1011Delay500ms(200);P1 = 0xF7; // 1111 0111Delay500ms(200);P1 = 0xEF; // 1110 1111Delay500ms(200);P1 = 0xDF; // 1101 1111Delay500ms(200);P1 = 0xBE; // 1011 1111Delay500ms(200);P1 = 0x7F; // 0111 1111Delay500ms(200);}}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【谭浩强C程序设计精讲 chap4】选择结构程序设计

文章目录 第4章 选择结构程序设计一、用 if 语句实现选择结构二、用 switch 语句实现多分支选择结构三、条件运算符和条件表达式 第4章 选择结构程序设计 一、用 if 语句实现选择结构 一般形式&#xff1a; if (表达式)  语句1 [ else  语句2 ] 其他形式&#xff0c;常用的…

Chatgpt+Comfyui绘图源码说明及本地部署文档

其他文档地址&#xff1a; ChatgptComfyui绘图源码运营文档 ChatgptComfyui绘图源码线上部署文档 一、源码说明 1、源码目录说明 app_home&#xff1a;app官网源码chatgpt-java&#xff1a;管理后台服务端源码、用户端的服务端源码chatgpt-pc&#xff1a;电脑网页前端源码cha…

函数的简单认识(上)

1.函数的概念 在C语⾔中引⼊函数&#xff08;function&#xff09;的概念&#xff0c;有些翻译为&#xff1a;⼦程序&#xff0c;⼦程序这种翻译更加准确⼀些。 C语⾔中的函数就是⼀个完成某项特定的任务的⼀⼩段代码。这段代码是有特殊的写法和调⽤⽅法的。C语⾔的程序其实是…

ros2学习笔记-CLI工具,记录命令对应操作。

目录 环境变量turtlesim和rqt以初始状态打开rqt node启动节点查看节点列表查看节点更多信息命令行参数 --ros-args topic话题列表话题类型话题列表&#xff0c;附加话题类型根据类型查找话题名查看话题发布的数据查看话题的详细信息查看类型的详细信息给话题发布消息&#xff0…

数组、数组的删除添加、函数、返回值、匿名函数、回调函数

一、数组 概念&#xff1a;将多个元素按一定顺序排列放在一个集合中 创建数组&#xff08;两种&#xff09;&#xff1a; 字面量创建 构造函数创建 数组的长度&#xff08;length&#xff09;、类型 空数组 长度为0数组是object 引用类型 如何获取数组中单个元素 索引&…

Crow:通过表单格式upload文件

除了下载,web后台一个常用的功能便是上传文件,而上传文件通常都是通过表单完成的。 通过表单上传文件时,http 请求头里会有如下信息: Content-Type:multipart/form-data 表示这是一个表单请求 boundary=---------------------------131943921939171068143514392405表示表单…

如何通过frp、geoserver发布家里电脑的空间数据教程

如何通过家里电脑的geoserver发布空间数据的教程 简介 大家好&#xff0c;我是锐多宝&#xff0c;最近我在开发一个新网站的时候遇到一个需求&#xff0c;这里记录一下以帮助需要用到的网友。 我的需求是&#xff1a;用户通过网站前端上传空间数据后&#xff0c;即可在前端展…

【JavaEE】文件操作 —— IO

文件操作 —— IO 1. 文件的属性 文件内容文件大小文件路径文件名称 2. 文件的管理 采用树形结构进行管理。 3. 文件路径 分为两种&#xff1a;相对、绝对路径。 相对路径&#xff1a;相对于当前位置的路径&#xff0c;以“./xxx.xxx”为标志绝对路径&#xff1a;以从盘符…

DHCP配置(路由器,交换机)

DHCP接口地址池配置 拓扑 PC配置DHCP点击应用。 路由器配置命令 <Huawei>sy Enter system view, return user view with CtrlZ. [Huawei]int g0/0/1[Huawei-GigabitEthernet0/0/1]ip address 10.1.1.1 24[Huawei-GigabitEthernet0/0/1]q[Huawei]dhcp enable Info: T…

Leetcode的AC指南 —— 栈与队列:232.用栈实现队列

摘要&#xff1a; **Leetcode的AC指南 —— 栈与队列&#xff1a;232.用栈实现队列 **。题目介绍&#xff1a;请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作&#xff08;push、pop、peek、empty&#xff09;&#xff1a; 实现 MyQueue 类&#xff1a;…

String在VS与Linux下的区别

目录 一、string的成员 1.VS 2.Linux 二、string的扩容机制 1. VS 2.Linux 一、string的成员 string是C标准库中的一个类模板&#xff0c;用于表示和操作字符串 string在 Windows 与 Linux 中的成员不是相同的 1.VS 4个成员&#xff1a;_str , _size , _capacity 和…

力扣白嫖日记(sql)

前言 练习sql语句&#xff0c;所有题目来自于力扣&#xff08;https://leetcode.cn/problemset/database/&#xff09;的免费数据库练习题。 今日题目&#xff1a; 1050.合作至少三次的演员和导演 表&#xff1a;ActorDirector 列名类型actor_idintdirector_idinttimestamp…