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

常用数据类型

相关推荐
ZaaaaacK2 小时前
STM32技能综合巩固
stm32·单片机·嵌入式硬件
yuanbenshidiaos2 小时前
stm32面试
stm32·嵌入式硬件·面试
charlie1145141913 小时前
STM32F103C8T6单片机的起始点:使用GPIO输出点亮我们的第一个小灯(标准库篇)
stm32·单片机·嵌入式硬件
DOMINICHZL3 小时前
国产MCU替代STM32全解析:主流方案对比与实战指南
stm32·单片机·嵌入式硬件·gd32
美好的事情总会发生3 小时前
电阻(Resistor)详解
嵌入式硬件·硬件工程·智能硬件
-一杯为品-5 小时前
【STM32单片机】#4 OLED调试&外部中断
stm32·单片机·mongodb
ty_sj5 小时前
【FreeRtos】任务调度器可以被挂起吗?
c语言·嵌入式硬件
@迷糊5 小时前
关于产生PWM波的发生电路的学习记录
单片机·嵌入式硬件
不被定义的~wolf6 小时前
【STM32】编写程序控制开发板的RGB LED灯
stm32·单片机·嵌入式硬件
二年级程序员6 小时前
51单片机的五类指令(五)——位操作类指令
单片机·嵌入式硬件·51单片机