当前位置: 首页 > news >正文

第二节 LED模块

目录

一、LED介绍

二、设计程序

1、点亮一个led灯。

2、LED闪烁(500毫秒闪一次) 

3、流水灯

4、改进流水灯

三、参考文献

一、LED介绍

1、用途:照明、广告灯、指示灯、屏幕。

2、发光二极管:只有正极接正极,负极接负极才有电流通过。

3、如何区分LED的正负极?

1)、电极:小的是正极,大的是负极;

2)、引脚:长的是正极,短的是负极(长正短负)

4、LED模块原理图

注: 

  1. 电阻大小的读法:102 = 10 00=1k;473 = 47 000 = 47k;1001 = 100 0=1k。
  2. 电阻的作用:是用来限流。
  3. 使用TTL来表示高低电平。高电平:5V,低电平:0V。

5、单片机控制硬件(单片机)的原理

         CPU通过配置控制的寄存器P2(0/1)来控制硬件电路(高低电平),(PS:该过程还要经过驱动器驱动)

 2、如下图所示:我们给P2第0个位置0,对应低电平,LED低接低高接高,第一个D1 LED灯亮,其余不亮。

6、进制转换 

二、设计程序

1、点亮一个led灯。

#include <REGX52.H>void main()
{P2=0x55;   //1111 1110while(1){// 停在这里了}}

2、LED闪烁(500毫秒闪一次) 

#include <REGX52.H>
#include <INTRINS.H>
void Delay500ms()		//@12.000MHz
{unsigned char i, j, k;_nop_();i = 4;j = 205;k = 187;do{do{while (--k);} while (--j);} while (--i);
}void main()
{while(1){P2 = 0xFE;Delay500ms();P2 = 0xFF;Delay500ms();}
}

3、流水灯

#include <REGX52.H>
#include <INTRINS.H>
void Delay500ms()		//@12.000MHz
{unsigned char i, j, k;_nop_();i = 4;j = 205;k = 187;do{do{while (--k);} while (--j);} while (--i);
}void main()
{while(1){P2=0xFE; // 1111 1110Delay500ms();P2 = 0xFD; // 1111 1101Delay500ms();P2=0xFB;   // 1111 1011Delay500ms();P2 = 0xF7; // 1111 0111Delay500ms();P2=0xEF;    // 1110 1111Delay500ms();P2 = 0xDF;  // 1101 1111Delay500ms();P2 = 0xBF;  // 1011 1111Delay500ms();P2 = 0x7F;  // 0111 1111Delay500ms();}
}

4、改进流水灯

#include <REGX52.H>
void Delay1ms(unsigned int xms)		//@12.000MHz
{unsigned char i, j;while(xms){i = 12;j = 169;do{while (--j);} while (--i);xms = xms -1;}}void main()
{while(1){P2=0xFE; // 1111 1110Delay1ms(1000);P2 = 0xFD; // 1111 1101Delay1ms(100);P2=0xFB;   // 1111 1011Delay1ms(1000);P2 = 0xF7; // 1111 0111Delay1ms(100);P2=0xEF;    // 1110 1111Delay1ms(1000);P2 = 0xDF;  // 1101 1111Delay1ms(100);P2 = 0xBF;  // 1011 1111Delay1ms(1000);P2 = 0x7F;  // 0111 1111Delay1ms(100);}
}

三、参考文献

【51单片机】LED的三个基本项目(LED点亮&LED闪烁&LED流水灯)(3)-腾讯云开发者社区-腾讯云

http://www.xdnf.cn/news/687511.html

相关文章:

  • 【普及−】洛谷P1706 全排列问题
  • java每日精进 5.28【幂等性】
  • 2025年05月28日Github流行趋势
  • uniapp-商城-74-shop(7-商品列表,选规格 添加商品到购物车)
  • 前端面试准备-1
  • Linux中的权限概念
  • Java SE Cloneable接口和深/浅拷贝
  • 水域应急救援可视化平台
  • 【前端】Vue3+elementui+ts,TypeScript Promise<string>转string错误解析,习惯性请出DeepSeek来解答
  • 国产SOC有哪些?
  • 即插即用的全新算法改进策略——引导学习策略:一种用于元启发式算法设计和改进的新型更新机制
  • Unity对象池插件Lean Pool学习笔记
  • android 图片背景毛玻璃效果实现
  • Flutter 与 Android 原生布局组件对照表(完整版)
  • TencentOSTiny
  • 【模型显著性分析】配对样本 t 检验
  • 虚拟与现实时空认知同步的核心指标
  • maven中的maven-resources-plugin插件详解
  • 部署LVS-DR群集
  • Docker部署Spark大数据组件:配置log4j日志
  • Vue开发系列——零基础HTML引入 Vue.js 实现页面之间传参
  • Kotlin 中的数据类型有隐式转换吗?为什么?
  • 天津工作机会:技术文档工程师 - 华海清科股份有限公司
  • 【Linux】分页式存储管理:深刻理解页表映射
  • 【Doris基础】Apache Doris 基本架构深度解析:从存储到查询的完整技术演进
  • 金砖国家人工智能高级别论坛在巴西召开,华院计算应邀出席并发表主题演讲
  • 960g轻薄本,把科技塞进巧克力盒子
  • 从零开始学安全:服务器被入侵后的自救指南
  • 第二章 1.5 数据采集安全风险防范之数据采集安全管理
  • git和gitee的常用语句命令