『壹』 怎樣用單片機控制大功率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);
}
}
}