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

常用数据类型

相关推荐
易水寒陈21 分钟前
stm32使用Jlink进行GDB脚本调试
stm32·单片机·嵌入式硬件
weixin_4520776423 分钟前
LVGL移植到STM32教程(附源码) ----兼容正点原子精英板
stm32·单片机·嵌入式硬件
Zyed1 小时前
[STM32]Day13修改主频、睡眠模式+串口发送、停止模式+对射式红外传感器计次、待机模式+实时时钟
stm32·单片机·嵌入式硬件
硬件工程师宝典1 小时前
I2C从入门到精通之一:I2C的历史起源和综合简介
服务器·嵌入式硬件·硬件架构·i2c
金色光环2 小时前
DSP28335 SPI通信实验:从零到实战
单片机·嵌入式硬件·物联网
Zyed3 小时前
[STM32]Day14独立看门狗+窗口看门狗
stm32·单片机·嵌入式硬件
H__Rick3 小时前
C51学习-DAY7
单片机·嵌入式硬件·学习·51单片机
济6173 小时前
BMS系统专栏:认知电池管理系统BMS的知识与功能
嵌入式硬件·嵌入式·ros2·机器人开发·机器人方向
欢乐熊嵌入式编程3 小时前
第2讲:什么是优秀的软件架构?
stm32·单片机·freertos·低功耗蓝牙·嵌入式架构·efr32
嵌入式ZYXC3 小时前
第9篇:《面试题:ADC前端为什么要加运放跟随器?什么情况下可以不加?》
stm32·单片机·嵌入式硬件·面试·职场和发展