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进制数表示

常用数据类型

相关推荐
代码游侠29 分钟前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
CODECOLLECT4 小时前
京元 I62D Windows PDA 技术拆解:Windows 10 IoT 兼容 + 硬解码模块,如何降低工业软件迁移成本?
stm32·单片机·嵌入式硬件
BackCatK Chen5 小时前
STM32+FreeRTOS:嵌入式开发的黄金搭档,未来十年就靠它了!
stm32·单片机·嵌入式硬件·freertos·低功耗·rtdbs·工业控制
全栈游侠7 小时前
STM32F103XX 02-电源与备份寄存器
stm32·单片机·嵌入式硬件
Lsir10110_7 小时前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
深圳市九鼎创展科技10 小时前
瑞芯微 RK3399 开发板 X3399 评测:高性能 ARM 平台的多面手
linux·arm开发·人工智能·单片机·嵌入式硬件·边缘计算
辰哥单片机设计10 小时前
STM32项目分享:车辆防盗报警系统
stm32·单片机·嵌入式硬件
小龙报11 小时前
【51单片机】从 0 到 1 玩转 51 蜂鸣器:分清有源无源,轻松驱动它奏响新年旋律
c语言·数据结构·c++·stm32·单片机·嵌入式硬件·51单片机
范纹杉想快点毕业11 小时前
嵌入式与单片机开发核心学习指南——从思维转变到第一性原理的深度实践
单片机·嵌入式硬件
Industio_触觉智能11 小时前
瑞芯微RK3566开发板规格书,详细参数配置,型号EVB3566-V1,基于RK3566核心板SOM3566邮票孔封装
嵌入式硬件·开发板·rk3568·rk3566·核心板·瑞芯微