⑴ 51單片機彩燈控制系統設計的程序和電路圖
如果是多個彩燈的話電流有點大!建議用驅動。例如反相器,解碼器等如果簡單試驗
可直接加上拉電阻。顯示多種動態效果不過是I/O口控制,只要會一個就可以隨心所欲!祝你成功
⑵ 基於51單片機的led彩燈設計。 9個燈(紅綠藍三色)。按鍵控制 c語言程序
首先要查看電路的連接,看看輸入連接到單片機的哪個引腳(比如p1.0),led燈連接到哪個引腳(比如p2.0)。然後看是高電平有效還是低電平有效(也就是高電平時led燈亮,還是低電平時led燈亮)。
如果是高電平燈亮的話,程序如下:
p2.0=p1.0;
⑶ 基於單片機的彩燈循環控制器設計
由於工作比較忙,所以只能給你講個大概的思路!
循環發光,奇,偶發光,用三個鍵來分別控制,按下那個鍵就怎麼發光。
循環發光就是I/O埠依次有輸出就可以了,每個輸出埠延時就可以了。
奇發光和偶發光就是跳一個埠輸出就可以了,中間也用延時。這兩個程序要分開來寫,不要放在一起攪合,到時候自己都分不清楚了。
彩燈的顯示時間間隔可以設置2個鍵來控制,一個加,一個減。他們都是用來控制延時參數的。
⑷ 循環彩燈電路的設計與製作循環彩燈電路的設計與製作
循環彩燈電路的設計,可以用分頻器和計數器實現。也可以使用單片機控制。單片機控制靈活性更高,更容易拓展,而且成本也不高。
⑸ 基於單片機的彩燈設計程序
和 流水 差不多 咯! 你想要我可以 給你!
⑹ 用單片機設計彩燈控制器設計
8路彩燈也可以呀電路圖很簡單照課本抄
程序如下
ORG 0000H
SJMP MAIN
ORG 0030H
MAIN:
MOV TMOD,#21H;設定T0為16位定時模式T1為8位自動重裝計數模式
SETB TR0;開定時器
SETB TR1
MOV R7,#4;設置N路彩燈這里設置為4路
MOV R6,#4
MOV R5,#4
MOV A,#00H
LOOP:
MOV P1,A;從做到右逐次點亮
RL A
INC A
ACALL MAIN0;調用延時
DJNZ R7,LOOP
MAIN1:MOV A,#0FFH
MOV P1,A
RR A
SUBB A,#08H;各路彩燈在這里設置立即數不同
ACALL MAIN0
DJNZ R6,MAIN1
MAIN2:MOV A,#00H
MOV P1,A
CPL A
ACALL MAIN0
DJNZ R5,MAIN2
LJMP MAIN
MAIN0:MOV DPTR,#15536;設定T0定時50ms的初值
MOV TL0,DPL
MOV TH0,DPH
MOV TL1,#236;設定t1計數20次即20*50ms=1s
MOV TH1,#236
JNB TF0,$;?0ms未到等待
CLR TF0;?0ms到清除標志位
CPL P3.5
JNB TF1,MAIN0;20次未到繼續計數
CLR TF1
RET
這個寫的急沒調試如果不可以下面的順序要自己調也就是先閃爍再逐個點亮熄滅延時都是一秒……
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV P1,#0FFH
MOV A,#0FFH
MOV R4,#8
MOV R3,#9
MAIN1:
CPL A
MOV P1,A
LCALL AA
DJNZ R4,MAIN1
MAIN2:
RL A
INC A
MOV P1,A
LCALL AA
DJNZ R3,MAIN2
MOV R3,#9
MAIN3:
RR A
MOV P1,A
DEC A
LCALL AA
DJNZ R3,MAIN3
LJMP MAIN
AA:
MOV R7,#2
AA1:MOV R6,#250
AA2:MOV R5,#250
AA3:
NOP
NOP
DJNZ R5,AA3
DJNZ R6,AA2
DJNZ R7,AA1
RET
⑺ C語言單片機,彩燈控制器的設計,讀程序回答問題。
//稍微改了一下加了一個暫停鍵,中斷方式,你需要將該鍵接到P3.2
#include<reg51.h>
//包含單片機寄存器的頭文件
#include
<intrins.h>
/*****************************
函數功能:延時一段時間
*****************************/
unsigned
char
L[8]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};
unsigned
char
L1[8]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};
bit
pause;
void
ex0isr()
interrupt
0
{
pause=~pause;
}
void
delay1s(unsigned
int
i)
{
unsigned
int
j;
while(i--)
{
for(j=0;j<=151;j++){;}
}
while(pause);//實現暫停,鍵按一下暫停,再按一下恢復。
}
/*****************************
函數功能:主函數
*****************************/
void
main(void)
{
unsigned
char
i,j;
P0
=
0x00;
P1
=
0x00;
P2
=
0x00;
P3
=
0x00;
pause=0;
while(1)
{
for(j=0;j<8;j++)
{
P0=L[j];
delay1s(100);
};
for(j=0;j<8;j++)
{
P1=L[j];
delay1s(100);
};
for(j=0;j<8;j++)
{
P2=L[j];
delay1s(100);
};
for(i=0;i<8;i++)
{
P3=L[i];
delay1s(100);
};
for(j=0;j<8;j++)
{
P0=L1[j];
delay1s(100);
};
for(j=0;j<8;j++)
{
P1=L1[j];
delay1s(100);
};
for(j=0;j<8;j++)
{
P2=L1[j];
delay1s(100);
};
for(i=0;i<8;i++)
{
P3=L1[i];
delay1s(100);
};
}
}
⑻ 彩燈控制器的設計與製作(單片機C語言),求原理圖和程序!!!
簡單的說一下吧,
既然抄是八路,那麼有8個led,8個按鍵,
硬體:
8個led
接p1口,(注意要接上拉電阻,低電平驅動)
8個按鍵接p2口,按鍵另一端接地。
編程:
swhich
case語句,
8個case語句
判斷了哪個按鍵,注意每次判斷需要屏蔽其他口,比如你按了p2.0,那麼p1.0亮,p1.1-p1.7都要滅。然後死循環。這樣就判斷了誰先按。而之後按的都無效。
⑼ 以單片機為核心,設計一個節日彩燈控制器,控制24個燈
將按鍵掃描插在正反流水的循環體內,檢測到按鍵按下時,用break退出
否則,24個燈循環一次,好幾秒,期間按任何按鍵都 不起作用