‘壹’ 怎样用单片机控制大功率led灯珠亮度
要是控制1W或是3W的LED,最好是用CMOS管驱动。CMOS管的栅极接单片机的PWM脉冲输出脚。LED单独供电时,要单片机电源与LED电源共地。如图所示共同进步
‘贰’ c51单片机 怎样实现静态数码管动态显示的数字等于点亮LED灯的个数
c51单片机,静态数码管显示数字等于点亮LED灯的个数,这个很容易实野档郑现的。在P3口接8个LED灯,且负极接P3口,亮1个灯时,蠢渗P3=0xFE,再依次向左移位一次,从低位向左增加一个0,则亮灯数加一,同时,用一个变量计颂颂数,并送数码管显示就行了,一位共阳数码管接在P0口。仿真图如下。
‘叁’ 单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)
单片机流水灯C语言程序的源代码如下:
#include //51系列单片机定义文件
#define uchar unsigned char //定义无符号字符
#define uint unsigned int //定义无符号整数
void delay(uint); //声明延时函数
void main(void)
{
uint i;
uchar temp;
while(1)
{
temp=0x01;
for(i=0;i<8;i++) //8个流水灯逐个闪动
{
P1=~temp;
delay(100); //调用延时函数
temp<<=1;
}
temp=0x80;
for(i=0;i<8;i++) //8个流水灯反向逐个闪动
{
P1=~temp;
delay(100); //调用延时函数
temp>>=1;
}
temp=0xFE;
for(i=0;i<8;i++) //8个流水灯依次全部点亮
{
P1=temp;
delay(100); //调用延时函数
temp<<=1;
}
temp=0x7F;
for(i=0;i<8;i++) //8个流水灯依次反向全部点亮
{
P1=temp;
delay(100); //调用延时函数
temp>>=1;
}
void delay(uint t) //定义延时函数
{
register uint bt;
for(;t;t--)
for(bt=0;bt<255;bt++);
}
(3)单片机亮灯图片扩展阅读
51单片机流水灯的源代码如下
#include<reg51.h>
#include<intrins.h>
voiddelay(inta)
{
inti;
while(a--)for(i=0;i<110;i++);
}
main()
{
inti;
while(1)
{
P0=0xfe;
for(i=0;i<8;i++)
{
P0=_crol_(P0,1);
delay(500);
}
}
}