51单片机——LED灯控制

1、LED介绍

中文名:发光二极管

外文名:Light Emitting Diode

简称:LED

用途:照明、广告灯、指引灯、屏幕

2、LED原理图

电阻在原理图上标注为1k,表示这是1千欧的电阻,实际在电路板上的表示是102

102解析出来就是10 *10的二次方,也就是10 *10*10=1000

电阻在原理图上标注为25k,表示这是25千欧的电阻,实际在电路板上的表示是253

253解析出来就是25 *10的三次方,也就是25 *10*10*10=25000

电阻在原理图上标注为15k,表示这是15千欧的电阻,实际在电路板上的表示是1502

1502解析出来就是150 *10的二次方,也就是150 *10*10=15000

总的来说,电路板上表示的数值,前几位代表数值,最后一位代表单位(10的几次方)

p20-p27接MCU如下图所示

如上面两个原理图所示,正极经过电阻限流(保护LED二极管),流到LED中,此时如果LED的负极部分链接了MCU的负极,LED就会被点亮,如果LED的负极部分链接了MCU的正极,LED就会熄灭。其实控制LED的点亮和熄灭,本质上就是LED负极链接到MCU引脚处发送的是正极还是负极。

3、实现点亮一个LED灯

4、实现LED闪烁

通过STC-ISP刷写软件自动生成一个等待函数

根据所用芯片的型号以及特性来选择系统频率指令集等,根据功能需求来设置定时长度为500ms

引入头文件<INTRINS.H>才可以使用该延时函数

nop(),确保时间精确的函数,不使用该函数可能会造成1微妙的误差,当去掉该函数时可以不添加头文件<INTRINS.H>

5、实现LED流水灯

6、优化延时函数

通过优化延时函数,把需要延时的时间作为参数传入, 使延时函数具有通用性

进制补充

寄存器的一个存储单元为8位,一个16进制代表4位,所以一个存储单元需要两个16进制数表示

常用数据类型

相关推荐
zlinear数据采集卡18 分钟前
D223的SRAM硬件记录仪:外部触发与瞬态波形捕获方案
arm开发·嵌入式硬件·fpga开发·开源
zcmodeltech24 分钟前
双碳沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的碳捕集-零碳园区-综合能源全场景联动方案
stm32·嵌入式硬件·能源·嵌入式实时数据库·多分类
LCG米1 小时前
STM32零基础入门教程:从环境搭建到实战项目(点亮LED + 串口打印 + 呼吸灯)
stm32·单片机·嵌入式硬件
云泽8081 小时前
深入浅出 STM32(十一):从寄存器映射到 HAL 库位操作源码详解
stm32·单片机·嵌入式硬件
哥不想学算法1 小时前
STM32零基础教程(六):ADC、I2C、SPI与DMA
stm32·单片机·嵌入式硬件
szxinmai主板定制专家2 小时前
基于 RK3588 + Xilinx Kintex-7 FPGA 异构工业主控板设计方案
arm开发·人工智能·嵌入式硬件·fpga开发·zynq
我是一棵无人问荆的小草2 小时前
LM393DT比较器输出
单片机·嵌入式硬件
云泽8082 小时前
深入浅出 STM32(十三):从施密特触发器到四种输入配置的底层逻辑
stm32·单片机·嵌入式硬件
Rambo.xia3 小时前
RFSoC高速采集卡设计项目:一块板卡串联综合优化5大核心技术
单片机·嵌入式硬件·fpga开发
XMAIPC_Robot3 小时前
RK3588+STM32:高性能机器人运动控制解决方案,兼顾实时性与AI算力
人工智能·stm32·嵌入式硬件·算法·fpga开发·机器人·arm+fpga