历史上的今天
今天是:2025年07月28日(星期一)
2021年07月28日 | 51单片机自学笔记(四)——点亮LED灯、流水灯
2021-07-28 来源:eefocus
LED灯
LED全称为半导体发光二极管,是采用半导体材料制成的,是一种直接将电能转换为光能,电信号转换为光信号的发光器件。其特点是功耗低、高亮度、色彩艳丽、抗振动、寿命长(正常发光时长8—10万小时)、冷光源等,是真正的“绿色照明”。实物图:

LED在电路图中的符号为:

它具有二极管的基本特性,即正向导通,反向截止。要想点亮LED需要从正向流过工作电流。
不同LED小灯的工作压降不同,普通发光二极管的工作压降范围为:1.6—2.1V。工作电流为:1—20mA。
点亮单片机中LED灯
单片机中LED模块原理图:

通过观察电路原理图可以得出:要点亮开发板上LED小灯只需要控制P2口输出低电平即可(即给P2口赋值“0”)。
1.点亮单片机上所有的LED灯
代码如下:
#include sbit LED1 = P2^0; sbit LED2 = P2^1; sbit LED3 = P2^2; sbit LED4 = P2^3; sbit LED5 = P2^4; sbit LED6 = P2^5; sbit LED7 = P2^6; sbit LED8 = P2^7; void main() { LED1 = 0; LED2 = 0; LED3 = 0; LED4 = 0; LED5 = 0; LED6 = 0; LED7 = 0; LED8 = 0; } 运行结果如下: 2.LED小灯的闪烁 代码: #include unsigned int i; void main() { while(1) { P2 = 0; i = 65535; while(i--); P2 = 0xff; i = 65535; while(i--); } } 3.流水灯 代码: #include #include #define uint unsigned int #define uchar unsigned char uchar temp; void delay(uint z) { uint x,y; for(x = z;x > 0;x--) for(y = 114;y > 0;y--) } void main() { temp = 0xfe; P2 = temp; delay(100); while(1) { temp = _crol_(temp, 1); P2 = temp; delay(100); } }
史海拾趣
|
示波器V2.0装配调试(flt9006)VOL.4----模拟通道测试 -------------------------**************************--------------------------------一些相关内容请看示波器V2.0调试过程贴https://bbs.eeworld.com.cn/thread-154006-1-1.html 示波器V2.0装配调试(flt9006)VOL.1----修整板子https://bbs.eewo ...… 查看全部问答> |
|
我在用51 向24C04读写。遇到了问题,就是在读写地址 0xff 以后的 就超过8位地址了。要怎样读取0xff 地址以后的数据呢?由于24C04是4Kbit的容量,所以换算成字节有512个字节,而我们在操作的时候地址只有八位,从00到FF,一共256 ...… 查看全部问答> |
|
if(CH376_SPI_INT==BIT7) { P2IFG&=~BIT7; return TRUE; } else { P2IFG&=~BIT7; return FALSE; } 查询2.7中断。没有_EINT( ...… 查看全部问答> |
|
TrxEB板子显示Error connecting to the target: Unknown device 买的TrxEB板子,为什么使用CCS5.1无法烧程序?始终显示Error connecting to the target: Unknown device。使用其他板子就没有问题,求各位大神指教. … 查看全部问答> |




