⑴ 樓道照明燈的聲控用51單片機怎麼實現
聽我說了你就不需要電路了。 這個東西主要是程序問題。
如果 51單片機的 P1.0接的是聲音晶元,P3.0接的是燈光 聲控晶元 是把聲音信號轉換為電信號,這個是廠商已經做好的了 當有聲音的時候,他就把聲音轉換為 電信號 P1.0=1;去控制51單片機的時候 51單片機 就會用程序去控制 P3.0 (燈泡) 程序如下:
#include<reg51.h>
sbit P3.0=P3^0;
sbit P1.0=P1^0;
int x;
int y;
void delay(int x)
{
for(y=110;y>0;y--);
for(x;x>0;x--);
}
void main()
{ P3.0=0; 這個意思是說當沒有聲音的時候,
while(1)
{
if(P1.0==1) 如果有聲音產生時
{
P3.0=1; 就送一個高電頻 讓燈發亮
delay(1000); 延時1S ,你可以設 5分鍾呀這些的。
P3.0=0; 1S後燈就滅了
}
}
}
如果樓道很多每個樓道的燈不一樣 你就要用很多聲控晶元, 但是只用一個51單片機(32個IO口) 就可以分別用不同的IO口 控制不同樓道的燈了。
⑵ 51單片機通電後流水燈一直亮著,且一直響,這是為什麼
哥們描述清楚一點 晶元剛剛上電會留存原來的程序 可能原來晶元里就有流水燈和蜂鳴器的程序
⑶ 單片機怎麼控制led燈亮滅
要通過單片機來控制LED燈的亮滅,您可以按照以下步驟進行操作:
1.准備材料:您需要准備以下材料:
單片機(如Arino、STM32等)
LED燈
電阻(用於限流,防止LED過電流損壞)
連接線
2.連接電路:將LED燈與單片機連接起來。一般情況下,將LED的正極連接到單片機的一個GPIO引腳,將LED的負極連接到電阻,然後將電阻的另一端連接到單片機的地(GND)引腳。確保連接牢固。
3.編寫程序:使用單片機的編程軟體(如Arino IDE、Keil等),編寫控制LED燈的程序。以下是一個簡單的示常式序(以Arino為例):
// 定義LED燈連接的引腳
const int ledPin = 13;
void setup() {
// 將LED引腳設置為輸出模式
pinMode(ledPin, OUTPUT);
}
void loop() {
// 控制LED燈亮滅
digitalWrite(ledPin, HIGH); // 點亮LED
delay(1000); // 延時1秒
digitalWrite(ledPin, LOW); // 熄滅LED
delay(1000); // 延時1秒
}
在上述示常式序中,我們將LED連接到Arino的13號引腳,並使用digitalWrite()函數控制該引腳的電平。HIGH表示將引腳設置為高電平(點亮LED),LOW表示將引腳設置為低電平(熄滅LED)。通過delay()函數設置LED燈亮滅的時間間隔。
4.上傳程序:將編寫好的程序上傳到單片機中。將單片機通過USB線連接到計算機,選擇正確的開發板和埠,然後點擊上傳按鈕將程序燒錄到單片機中。
5.測試控制:完成上傳後,單片機將開始執行程序。LED燈應該會按照程序中定義的亮滅時間間隔進行控制。您可以觀察LED燈的狀態,驗證控制是否正常。
請注意,具體的步驟和代碼可能因單片機型號和開發環境而有所不同。因此,在進行操作之前,請參考單片機的文檔和相關資源,了解正確的引腳配置和編程方法。
ABOV一級代理,網路搜索:浮思特,提供8位-32位單片機。應用場景主要是在家用電器和工業控制中。
⑷ 單片機式的呼吸燈控制方法
我們通常會在各類器件上看到形形色色的指示燈,它們都分別代表著不盡相同各項功能的運行情況。而由燈發出的指示光要比其他方法傳遞信息更直接更明顯,也更加的經濟。而現在呼吸燈這項技術已經應用於各個方面,甚至包括智能機的應用,而其比較多樣的呼吸方法在傳遞相關信息上也是方便至極,那麼今天我們就來看看呼吸燈的控制問題。
燈光在微電腦的控制之下完成由亮到暗的逐漸變化,感覺好像是人在呼吸。
應用
廣泛應用於手機之上,並成為各大品牌新款手機的賣點之一。如果你的手機裡面有未處理的通知,比如說未接來電,未查收的簡訊等等,呼吸燈就會由暗到亮的變化,像呼吸一樣那麼有節奏,起到一個通知提醒的作用。
電子愛好者可通過簡單的電路來實現呼吸燈的效果。
為何很多手機都取消了呼吸燈
回答之前,小編想先糾正一個問題,並不是智能機都取消了呼吸燈,很多設備還是具備這一功能的,只不過能夠將這一功能發揮到極致的手機,確實是少之又少。安卓設備其實多數都是有LED燈的,不過原生安卓系統本身沒有提供一個可以統一控制的通知中心,而是要每個應用自己決定顯示通知的方式,這方式包括聲音、震動、LED燈及其顏色,再加上不同手機的燈或多或少都有些不同,這樣就造成了有的應用不支持LED燈有的應用卻錯誤地觸發了LED燈。
久而久之,在我的日常使用中,LED燈通常會給人一種十分不可靠的感覺,實際表現在我們該點亮屏幕的時候還是會點亮屏幕,不該點亮屏幕的時候,看到LED燈錯誤的亮起,也要去點亮屏幕去處理,就這樣,一個聽起來很好的功能反倒變得有些雞肋甚至是惹人討厭。到了安卓4.4以後,感覺系統在LED燈控制方面更為混亂,一些常駐通知欄的圖標甚至也會觸發LED燈,導致用戶體驗極差。
而有些如CM一類的第三方ROM會提供系統級的分應用LED燈設置,不過在實際使用中的表現也不夠完美。所以雖然LED呼吸燈本來是一個很好的設計,但是安卓系統卻沒有做好,於是有些廠商索性就取消了LED燈,或者取消了LED燈的呼吸功能。
另外,可能有些人會問,為何蘋果手機也沒有呼吸燈,這又是個老生常談的問題了,蘋果不具備的東西很多,很多時候我們都不知道為什麼,不採用呼吸燈,可能是因為技術,也可能是因為專利,蘋果同安卓不同,其並非開源系統,很多時候,蘋果都會來規范用戶的使用習慣,不設置呼吸燈,或許只是因為蘋果覺得用戶不需要它吧。至於這位網友在問題中提到的觸控反饋,這個其實不需要小編多說了,貌似目前大部分手機都有觸控反饋吧,只需要在設置中調出來就好。
呼吸燈的作用
呼吸燈是一個提氣的設計,它讓手機不再是一塊只會亮屏的板磚。因為不是所有的消息通知都需要處理,也不是所有的消息通知都會馬上處理。對於手機來講,亮屏鈴聲震動屬於強通知,這包括一些軟體提供的來電閃光功能,呼吸燈則屬於弱通知,不是所有人都會定期去查看手機的,多數情況下在辦公室我們都只是把手機放在桌上,偶爾去下洗手間也不會帶著,這中間如果有消息,我們回來瞟一眼就知道了,呼吸燈作為弱通知的作用,提醒的意義大於通知。
先說呼吸燈,這個本質上是LED的亮度控制。
一般是用PWM方式控制LED亮度,PWM的輸出按照一定的規律變化,就可以做出呼吸燈的效果。
再說30個LED的控制,如果要簡單點做,30個LED可以串起來串一個電阻,接高點的電源電壓,30個LED用同一個信號控制,當然,亮度也是同步變化的。如果要復雜,那就出30個信號分別控制30個LED串30個電阻,具體看你的追求的效果吧。
呼吸燈的程序,如果有硬體的PWM模塊,是很簡單的,按一定的規律讓PWM的輸出變化就可以。
像這樣輸出10%亮度,持續200ms,輸出20%亮度,持續200ms,輸出30%亮度,持續200ms。
如果沒有硬體PWM模塊,可以用軟體來模擬,比如,輸出10%亮度,持續200ms這兩件事合在一起作,變成輸出高電平10us,輸出低電平90us,循環2000次。
兩種方法:
方法1:1000個左右的燈,需要10根地址線選通,51的IO管腳應該是沒有問題。剩下的就是要用大量的解碼器,把二進制信息轉換為管腳信息。
估計你僅僅是控制亮和滅,如果是這樣選通也就可以進行明暗的控制,否則輸出的信息也要加進去,就是說需要加驅動電路。
方法2:用移位電路,比如HC595,在51中地址做為串列信號發出,轉換為對應的地址線,然後在連接解碼器,這樣,51的管腳比較節省,但,編程的難度稍大。
那麼上述就是呼吸燈相關控制的方法和技巧,我們講,呼吸燈控制在硬體圈是一個很普通的項目,而所採用的單片機控制也是硬體里最基礎的,相信很多人在研習過後都能夠掌握,而即便不必要掌握這個情況,熟悉相關的原理情況也可以讓其在遇見故障的時候能夠迅速找到方法來排除,那麼今天呼吸燈控制的問題就給大家介紹到這里。
⑸ 單片機流水燈全亮在滅在亮的程序怎麼寫
你流水燈都寫好了 全亮全滅還不簡單啊,設置 P0=0X00 (假設低電平亮,高電平滅) 在延遲一下 在P0=0XFF 在延時 不就OK了 把這幾個指令打包下放到一個子程序里 你用按鍵控制的時候就讓按鍵執行這個子程序 如果是 主程序循環的 話就放進主程序