A. 循環流水燈電路原理
按照單片機系統擴展與系統配置狀況,單片機應用系統可分為最小系統、最小功耗系統及典型系統等。AT89C51單片機是美國ATMEL公司生產的低電壓、高性能CMOS 8位單片機,具有豐富的內部資源:4kB快閃記憶體、128BRAM、32根I/O口線、2個16位定時/計數器、5個向量兩級中斷結構、2個全雙工的串列口,具有4.25~5.50V的電壓工作范圍和0~24MHz工作頻率,使用AT89C51單片機時無須外擴存儲器。因此,本流水燈實際上就是一個帶有八個發光二極體的單片機最小應用系統,即為由發光二極體、晶振、復位、電源等電路和必要的軟體組成的單個單片機。其具體硬體組成如圖1所示。
從原理圖中可以看出,如果要讓接在P1.0口的LED1亮起來,那麼只要把P1.0口的電平變為低電平就可以了;相反, 如果要接在P1.0口的LED1熄滅,就要把P1.0口的電平變為高電平;同理,接在P1.1~P1.7口的其他7個LED的點亮和熄滅的方法同LED1。因此,要實現流水燈功能,我們只要將發光二極體LED1~LED8依次點亮、熄滅,8隻LED燈便會一亮一暗的做流水燈了。在此我們還應注意一點,由於人眼的視覺暫留效應以及單片機執行每條指令的時間很短,我們在控制二極體亮滅的時候應該延時一段時間,否則我們就看不到「流水」效果了。
B. 8個led燈 依次循環亮起 求multisim模擬 電路圖一定要!
Multisim的圖這里貼不上,給你個截圖JPG吧,信號源自己搞一個,用555就可以。如果不會能,Email我。
C. 8個彩燈依次點亮,求電路圖和工作原理。
C語言1:
/*該實驗是流水燈(8個發光二極體循環點亮),功能是8個發光二極體循環以1S間隔點亮*/
#include<reg52.h>//包含reg.52文件
#defineuintunsignedint//宏定義
#defineucharunsignedchar//宏定義
voiddelay(uintz);//聲明延時函數
uinta;//定義循環用變數
ucharcodetable[]={
0xff,0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f};//定義循環用數據表格
voidmain()//main函數
{
a=0;//給a賦初值
P1=table[a];//將a所在的table中的值賦給P1口
while(1)//while循環
{
delay(1000);//1S延時子程序
if(a==8)//測試a是否等於8
a=0;//給a賦值
a++;//a的值加一
P1=table[a];//將a所在的table中的值賦給P1口
}
}
voiddelay(uintz)//1ms延時子程序,通過z值改變延時
{
uintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
C語言2:
/*該實驗是流水燈(8個發光二極體循環點亮),功能是8個發光二極體循環以1S間隔點亮*/
#include<reg52.h>//包含reg.52文件
#defineuintunsignedint//宏定義
#defineucharunsignedchar//宏定義
voiddelay(uintz);//聲明延時函數
uinta;//定義循環用變數
ucharcodetable[]={
0xff,0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f};//定義循環用數據表格
voidmain()//main函數
{
a=8;//給a賦初值
P1=table[a];//將a所在的table中的值賦給P1口
while(1)//while循環
{
delay(100);//1S延時子程序
if(a==0)//測試a是否等於8
a=8;//給a賦值
a--;//a的值加一
P1=table[a];//將a所在的table中的值賦給P1口
}
}
voiddelay(uintz)//1ms延時子程序,通過z值改變延時
{
uintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
C語言3:
/*該實驗是流水燈(8個發光二極體循環點亮),功能是8個發光二極體循環以1S間隔點亮*/
#include<reg52.h>//包含reg.52文件
#include<intrins.h>//包含左右循環移位子函數庫文件
#defineuintunsignedint//宏定義
#defineucharunsignedchar//宏定義
voiddelay(uintz);//聲明延時函數
uinta;//定義循環用變數
voidmain()//main函數
{
a=0xfe;//給a賦初值
while(1)//while循環
{
P1=a;
delay(1000);//1S延時子程序
a=_crol_(a,1);
}
}
voiddelay(uintz)//1ms延時子程序,通過z值改變延時
{
uintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
單片機控制八個發光二極體並使其以1S時間間隔循環點亮,C語言中,把流水燈的循環方式以數組的形式存到了表中,然後調用,是很方便的,學校實驗室都提倡這么寫。延時參數是毫秒單位,很准確。
D. 能幫我設計一個電路圖嗎 讓紅黃綠三個燈循環閃爍,模擬交通信號燈
不要倒計時和換燈閃爍功能,這個電路很簡單的,如圖
改變電容容量就能改變亮燈時間,三極體偏置電阻保持一致,改變集電極限流電阻即可改變LED亮度,這里要注意綠LED點亮電壓多在2.8-3.2V,紅、黃LED多在1.8-2.2v,所以綠燈限流電阻阻值應改小。
E. 四組流水燈循環點亮電路圖(邏輯電路)
555 輸出2秒周期方波脈沖供CD4017作時基信號,對應時基信號 3, 2, 4 ,7腳順序每2秒輸出高電平,所屬的Led串再由8050驅動點亮,7腳完成2秒輸出高電平後,下一個輸出高電平是10腳,這個高電平接到15腳作重置信號令CD4017重新開始之前的動作。
F. 設計流水燈電路圖,循環點亮8個led,從左往右點亮後再從右往左,每個led顯示時間1秒,最後全亮
方法有很多的,給你一個,你可以調試一下,你可以通過不同的晶振去計算定時器初值,如果你懂定時器這部分很好調通的
#include <reg51.h>
#include <intrins.h>
unsigned char i;
void main()
{
TMOD=0x00;
TH1=0x3c;
TL1=0xb0;
EA=1;
ET1=1;
TR1=1;
while(1)
{
if(i==20)
{
i=0;
//下面寫你要處理的的其他程序,你只要了定時1s。
}
}
}
void a(void) interrupt 3
{
unsigned char i;
TH1=0x3c;
TL1=0xb0;
i++;
}
G. 二個時間繼電器互相循環的電路圖圖圖
可以循環控制用時間繼電器,一個繼電器上有兩個調節控制按鈕,買一個這樣的繼電器直接然後買兩個接觸器就可以不需要重組電路了。
原理圖:
時間繼電器
時間繼電器是指當加入(或去掉)輸入的動作信號後,其輸出電路需經過規定的准確時間才產生跳躍式變化(或觸頭動作)的一種繼電器。是一種使用在較低的電壓或較小電流的電路上,用來接通或切斷較高電壓、較大電流的電路的電氣元件。
接線方法:
時間繼電器的電氣控制系統中是一個非常重要的元器件。一般分為通電延時和斷電延時兩種類型。 從動作的原理上有電子式、機械式等。電子式的是採用電容充放電再配合電子元件的原理來實現延時動作。機械式的樣式較多,有利用氣囊、彈簧的氣囊式。
時間繼電器的接線方法:
1、控制接線:把它看成直流繼電器來考慮;
2、工作控制:雖然控制電壓接上了,但是是否起控製作用,由面板上的計時器決定;
3、功能理解:它就是一個開關,單刀雙擲的,有一個活動點活動臂,就像常見的閘刀開關的活動刀臂一樣;
4:負載接線:電源的零線或負極接用電器的零線或負極端;
5、工作原理:計時無效期間,相當於平常電燈開關斷開狀態。有效時,繼電器動作,用電器得電工作,相當於平常電燈開關接通狀態。