一、点亮8个LED流水灯(数组、位移)
文章目录1、点亮8个蓝色LED灯1.1效果图1.2代码块2、实现8个蓝色LED流水灯数组方式2.1效果图2.2代码块3、实现8个蓝色LED流水灯位移方式3.1效果图3.2代码块4、小灯闪烁4.1效果图4.2代码块1、点亮8个蓝色LED灯1.1效果图1.2代码块#includereg51.h// 包含头文件sbit LED1P0^0;// P0.0 连接 D1sbit LED2P0^1;// P0.1 连接 D2sbit LED3P0^2;// P0.2 连接 D3sbit LED4P0^3;// P0.3 连接 D4sbit LED5P0^4;// P0.4 连接 D5sbit LED6P0^5;// P0.5 连接 D6sbit LED7P0^6;// P0.6 连接 D7sbit LED8P0^7;// P0.7 连接 D8voidmain(){LED10;// 使 P0.0 低电平点亮 D1LED20;// 使 P0.1 低电平点亮 D2LED30;// 使 P0.2 低电平点亮 D3LED40;// 使 P0.3 低电平点亮 D4LED50;// 使 P0.4 低电平点亮 D5LED60;// 使 P0.5 低电平点亮 D6LED70;// 使 P0.6 低电平点亮 D7LED80;// 使 P0.7 低电平点亮 D8while(1);// 保持运行}2、实现8个蓝色LED流水灯数组方式2.1效果图2.2代码块#includereg51.h// 包含头文件#defineucharunsignedchar// 简单的延时循环voiddelay(unsignedinttime){unsignedinti,j;for(i0;itime;i)for(j0;j120;j);}// 定义一个流水灯模式的数组从左往右点亮unsignedchartable[]{0xFE,// 1111 1110 - 点亮 P1.00xFD,// 1111 1101 - 点亮 P1.10xFB,// 1111 1011 - 点亮 P1.20xF7,// 1111 0111 - 点亮 P1.30xEF,// 1110 1111 - 点亮 P1.40xDF,// 1101 1111 - 点亮 P1.50xBF,// 1011 1111 - 点亮 P1.60x7F// 0111 1111 - 点亮 P1.7};voidmain(){uchar i;while(1){for(i0;i8;i){P0table[i];// 从数组中取出模式delay(200);// 延时}}}3、实现8个蓝色LED流水灯位移方式3.1效果图3.2代码块#includereg51.h// 包含51单片机的特殊功能寄存器定义#defineucharunsignedchar// 定义 uchar 为 unsigned char 类型方便使用#defineuintunsignedintuchar a;// 定义全局变量 a用来保存当前灯的状态// 延时函数 约50ms 12MHz晶振voiddelay(unsignedinttime){unsignedinti,j;for(i0;itime;i){for(j0;j120;j){// 空循环体}}}// ------------------------------// 主函数main()// 作用以移位方式控制 P0 口实现流水灯// ------------------------------voidmain(){a0xFE;// 初始状态1111 1110P0.0点亮低电平有效while(1)// 无限循环{// 方法1左移流水从上往下P0a;// 将当前状态输出到P0口delay(500);// 延时约0.5秒10*50ms500msa(a1)|0x01;// 左移一位最低位补1保持低电平有效// 当a变成0xFF时全灭重置为0xFE重新开始if(a0xFF){a0xFE;}}}4、小灯闪烁4.1效果图4.2代码块#includereg51.h// 包含头文件// 定义单个 LED 的端口映射【sbit 变量名 端口^位号;】sbit LED1P0^0;// 延时函数voiddelay(unsignedinttime){unsignedinti,j;for(i0;itime;i)for(j0;j120;j);}// 主函数voidmain(){while(1){LED10;// 让第1个LED亮delay(500);LED11;// 让第1个LED熄灭delay(500);}}

相关新闻

为什么你的AI产品突然被下架?——开源模型商用许可失效的7个隐蔽信号(含GitHub官方政策更新预警)

为什么你的AI产品突然被下架?——开源模型商用许可失效的7个隐蔽信号(含GitHub官方政策更新预警)

更多请点击: https://codechina.net 第一章:开源模型商用许可解析 开源大语言模型的商用许可并非“开箱即用”的自由通行证,其法律约束力直接决定企业能否合法部署、微调、分发或嵌入模型至商业产品中。当前主流许可协议存在显著差异&#x…

2026/7/25 20:22:03 阅读更多 →
【数据结构与算法 | 第五篇】力扣303,304前缀和数组

【数据结构与算法 | 第五篇】力扣303,304前缀和数组

力扣 303. 区域和检索 - 数组不可变。 用法本质: 就是新创建一个数组,大小多1.然后数组的值是原数组与前面的和.这样用新数组-前面数组就行了. class NumArray {// 前缀和数组private int[] preSum;// 输入一个数组,构造前缀和public NumArray(int[] nums) {// p…

2026/7/24 23:05:03 阅读更多 →
煤炭稳产背景下井下线缆故障定位技术 鼎讯 DJY-1 实践

煤炭稳产背景下井下线缆故障定位技术 鼎讯 DJY-1 实践

Ⅰ. 矿井低阻接地故障阻碍煤炭稳定生产煤炭作为基础能源,井下采掘、通风排水及洗煤厂生产均依赖电力电缆稳定运行。井下落石冲击、机械剐蹭、高湿环境易造成电缆隐性破损,设备长期带载运行后,导体与屏蔽层易发生熔接,形成 0-10Ω …

2026/7/25 15:19:02 阅读更多 →

最新新闻

MARS-M训练损失曲线深度分析:为什么它能超越Moonlight?

MARS-M训练损失曲线深度分析:为什么它能超越Moonlight?

MARS-M训练损失曲线深度分析:为什么它能超越Moonlight? 【免费下载链接】MARS The official implementation of MARS: Unleashing the Power of Variance Reduction for Training Large Models 项目地址: https://gitcode.com/gh_mirrors/mars11/MARS …

2026/7/25 22:23:49 阅读更多 →
Splunk Attack Data环境搭建教程:GitHub LFS配置与数据拉取最佳实践

Splunk Attack Data环境搭建教程:GitHub LFS配置与数据拉取最佳实践

Splunk Attack Data环境搭建教程:GitHub LFS配置与数据拉取最佳实践 【免费下载链接】attack_data A repository of curated datasets from various attacks 项目地址: https://gitcode.com/gh_mirrors/at/attack_data GitHub Attack Data是一个精心策划的攻…

2026/7/25 22:23:49 阅读更多 →
Hy3-oQ2e项目结构深度解析:初学者必知的文件组织与功能模块

Hy3-oQ2e项目结构深度解析:初学者必知的文件组织与功能模块

Hy3-oQ2e项目结构深度解析:初学者必知的文件组织与功能模块 【免费下载链接】Hy3-oQ2e 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/Hy3-oQ2e Hy3-oQ2e是HuggingFace镜像项目mlx-community中的重要组成部分,本文将带您深入了解其…

2026/7/25 22:23:49 阅读更多 →
Inline-Execute-PE命令详解:从peload到peunload的完整操作手册

Inline-Execute-PE命令详解:从peload到peunload的完整操作手册

Inline-Execute-PE命令详解:从peload到peunload的完整操作手册 【免费下载链接】Inline-Execute-PE Execute unmanaged Windows executables in CobaltStrike Beacons 项目地址: https://gitcode.com/gh_mirrors/in/Inline-Execute-PE Inline-Execute-PE是G…

2026/7/25 22:23:48 阅读更多 →
AI边缘计算在煤矿安全监控中的技术突破与应用

AI边缘计算在煤矿安全监控中的技术突破与应用

1. 煤矿安全监控的技术革新背景煤矿作为高危作业场所,人员违规行为是引发事故的主要诱因之一。传统监控方式存在三大痛点:人工盯屏效率低下(平均有效监控时长不足2小时)、夜间及复杂环境识别率低(不足60%)、…

2026/7/25 22:23:48 阅读更多 →
YOLOv11与MultiSEAMHead在健身器材检测中的应用

YOLOv11与MultiSEAMHead在健身器材检测中的应用

1. 项目背景与核心价值在智能健身和运动健康管理领域,准确识别各类健身器材是实现个性化训练指导、运动数据采集的关键基础。传统基于人工标注或简单图像处理的方法难以应对健身房复杂场景下的器材识别需求——光照变化、器材遮挡、多角度摆放等实际因素都会显著影响…

2026/7/25 22:22:48 阅读更多 →

日新闻

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解决您的…

2026/7/25 0:00:35 阅读更多 →
C++ string类模拟实现:从深拷贝到内存管理的完整指南

C++ string类模拟实现:从深拷贝到内存管理的完整指南

1. 项目概述:为什么我们要“手撕”string类?在C的学习道路上,尤其是从C语言过渡到C的“初阶”阶段,string类绝对是一个绕不开的核心。标准库里的std::string用起来太方便了,、find、substr,几个操作符和函数…

2026/7/25 0:00:35 阅读更多 →
三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

1. 先搞清楚“三角洲寻宝鼠”到底是什么工具从名称来看,“三角洲寻宝鼠”更像是一个资源查找或文件检索类工具,而不是游戏或娱乐软件。这类工具的核心价值在于帮助用户快速定位特定资源,比如文档、图片、压缩包或特定格式的文件。如果你经常需…

2026/7/25 0:00:35 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/25 5:08:22 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/25 5:13:53 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 18:52:18 阅读更多 →

月新闻