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

常用数据类型

相关推荐
云山工作室22 分钟前
基于单片机的盲人智能水杯系统(论文+源码)
stm32·单片机·嵌入式硬件·毕业设计·毕设
2401_843785233 小时前
STM32 PWM驱动舵机
stm32·单片机·嵌入式硬件
Ching·5 小时前
物联网 STM32【源代码形式-使用以太网】连接OneNet IOT从云产品开发到底层MQTT实现,APP控制 【保姆级零基础搭建】
stm32·嵌入式硬件·物联网
charlie1145141917 小时前
从0开始使用面对对象C语言搭建一个基于OLED的图形显示框架(OLED设备层封装)
c语言·stm32·单片机·教程·oled·嵌入式软件
云山工作室10 小时前
基于fpga技术的脉冲信号源设计(论文+源码)
stm32·嵌入式硬件·fpga开发·毕业设计·毕设
2401_8437852313 小时前
STM32 AD多通道
stm32·单片机·嵌入式硬件
厂太_STAB_丝针14 小时前
【自学嵌入式(8)天气时钟:天气模块开发、主函数编写】
c语言·单片机·嵌入式硬件
charlie11451419115 小时前
从0开始使用面对对象C语言搭建一个基于OLED的图形显示框架(协议层封装)
c语言·驱动开发·单片机·学习·教程·oled
简知圈19 小时前
【04-自己画P封装,并添加已有3D封装】
笔记·stm32·单片机·学习·pcb工艺
徐某人..19 小时前
ARM嵌入式学习--第十天(UART)
arm开发·单片机·学习·arm