尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

一、点亮8个LED流水灯(数组、位移)

一、点亮8个LED流水灯(数组、位移)
📅 发布时间:2026/7/21 23:04:51

文章目录

  • 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代码块

#include<reg51.h>// 包含头文件sbit LED1=P0^0;// P0.0 连接 D1sbit LED2=P0^1;// P0.1 连接 D2sbit LED3=P0^2;// P0.2 连接 D3sbit LED4=P0^3;// P0.3 连接 D4sbit LED5=P0^4;// P0.4 连接 D5sbit LED6=P0^5;// P0.5 连接 D6sbit LED7=P0^6;// P0.6 连接 D7sbit LED8=P0^7;// P0.7 连接 D8voidmain(){LED1=0;// 使 P0.0 低电平,点亮 D1LED2=0;// 使 P0.1 低电平,点亮 D2LED3=0;// 使 P0.2 低电平,点亮 D3LED4=0;// 使 P0.3 低电平,点亮 D4LED5=0;// 使 P0.4 低电平,点亮 D5LED6=0;// 使 P0.5 低电平,点亮 D6LED7=0;// 使 P0.6 低电平,点亮 D7LED8=0;// 使 P0.7 低电平,点亮 D8while(1);// 保持运行}

2、实现8个蓝色LED流水灯数组方式

2.1效果图

2.2代码块

#include<reg51.h>// 包含头文件#defineucharunsignedchar// 简单的延时循环voiddelay(unsignedinttime){unsignedinti,j;for(i=0;i<time;i++)for(j=0;j<120;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(i=0;i<8;i++){P0=table[i];// 从数组中取出模式delay(200);// 延时}}}

3、实现8个蓝色LED流水灯位移方式

3.1效果图

3.2代码块

#include<reg51.h>// 包含51单片机的特殊功能寄存器定义#defineucharunsignedchar// 定义 uchar 为 unsigned char 类型,方便使用#defineuintunsignedintuchar a;// 定义全局变量 a,用来保存当前灯的状态// 延时函数 约50ms @ 12MHz晶振voiddelay(unsignedinttime){unsignedinti,j;for(i=0;i<time;i++){for(j=0;j<120;j++){// 空循环体}}}// ------------------------------// 主函数:main()// 作用:以移位方式控制 P0 口实现流水灯// ------------------------------voidmain(){a=0xFE;// 初始状态:1111 1110,P0.0点亮(低电平有效)while(1)// 无限循环{// 方法1:左移流水(从上往下)P0=a;// 将当前状态输出到P0口delay(500);// 延时约0.5秒(10*50ms=500ms)a=(a<<1)|0x01;// 左移一位,最低位补1(保持低电平有效)// 当a变成0xFF时(全灭),重置为0xFE重新开始if(a==0xFF){a=0xFE;}}}

4、小灯闪烁

4.1效果图

4.2代码块

#include<reg51.h>// 包含头文件// 定义单个 LED 的端口映射【sbit 变量名 = 端口^位号;】sbit LED1=P0^0;// 延时函数voiddelay(unsignedinttime){unsignedinti,j;for(i=0;i<time;i++)for(j=0;j<120;j++);}// 主函数voidmain(){while(1){LED1=0;// 让第1个LED亮delay(500);LED1=1;// 让第1个LED熄灭delay(500);}}

相关新闻

  • 真力时烟台官方客服热线及售后地址公告:2026年7月最新网点服务信息发布 - 亨得利钟表维修中心
  • 504错误解析:从技术原理到人生隐喻
  • Node.js安全扫描Web界面:从可视化结果到高效修复的实战指南

最新新闻

  • 2026年潍坊室内装修厂家怎么联系 正规对接渠道实用指南 - 品牌优推
  • Crawl4AI:专为LLM优化的智能网络爬虫工具
  • Linux设备驱动开发实战指南:从入门到精通的完整学习路径
  • 2026最新5款AI编程助手功能深度对比
  • TMS320F2837xS看门狗与中断实战:从寄存器配置到稳定代码
  • 无锡打井怕被坑?两代人做了二三十年的老钻井队靠得住 - 瑞溪泉水利

日新闻

  • AI云原生实战05-金融AI上云最难的不是技术,是“不出事“——TCE银行风控架构拆解
  • 2026年GEOSEO优化公司选型深度测评:五大硬核标准严选,这六家重塑搜索增长新格局 - 品牌前沿专家
  • **核验!2026年7月卡地亚香港**售后网点地址及服务电话公告 - 卡地亚服务中心

周新闻

  • SaaS软件行业GEO实践:AI搜索时代的品牌可见性与获客新路径
  • 什么是PCTFE?医药高端包装的“防潮王牌“材料
  • 【JVM调优实战】16-可视化利器-JConsole-VisualVM-JMC

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号