① 如何用51單片機做呼吸燈的程序
LED使用三極體驅動,NPN或者PNP的都可以。
使用定時器,輸出PWM波形,逐漸改變輸出PWM的占空比的值。
② 51單片機控制的 呼吸燈
並聯的、全部同時亮、同時滅?
那不需要很特別的,電阻、三極體、LED,基本夠了。
單片機IO控制三極體、三極體再控制LED
③ 單片機呼吸燈程序
以4到5秒的頻率變化,先從暗到亮,再從亮到暗,用定時器或軟延時,產生頻率1KHZ以上的占空比可變的方波。
④ 單片機製作呼吸燈的C語言程序怎樣編寫
#include<reg51.h>
sbit LED0=P0^0;
sbit wei=P1^1;
sbit an=P1^0;
sbit lcden=P1^7;
sbit dianzhen=P1^3;
sbit leden=P1^2;
void Delay(unsigned int t);
void main (void)
{
unsigned int CYCLE=600,PWM_LOW=0;//定義周期並賦值
lcden=0;
P0=0x00;
dianzhen=0;
P0=0xff;
wei=0;
an=0;
while (1) //主循環
{
LED0=1;
Delay(150000); //特意加延時,可以看到熄滅的過程
for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
{
LED0=0;
Delay(PWM_LOW);
LED0=1;
Delay(CYCLE-PWM_LOW);
}
for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
{
LED0=0;
Delay(PWM_LOW);
LED0=1;
Delay(CYCLE-PWM_LOW);
}
}
}
void Delay(unsigned int t)
{
while(t--);
}
⑤ 51單片機設計呼吸燈是什麼
#include "reg51.h" //包含頭文件
#define uchar unsigned char
#define uint unsigned int
//**************************************************************************************************
//延時函數
//**************************************************************************************************
delay(uint time) //int型數據為16位,所以最大值為65535
{
uint i,j; //定義變數i,j,用於循環語句
for(i=0;i<time;i++) //for循環,循環50*time次
for(j=0;j<50;j++); //for循環,循環50次
}
//**************************************************************************************************
//主函數
//**************************************************************************************************
void main() //主函數
{
uint i; //定義變亮i
while(1) //進入while死循環
{
for(i=0;i<200;i++) //for循環,實現LED由亮逐漸變暗
{
P0=0xff; //熄滅8位發光二極體
delay(i); //延時保持熄滅狀態i個時間單位
P0=0x00; //點亮8位發光二極體
delay(200-i); //延時保持點亮狀態200-i個時間單位
}
P0=0xff; //熄滅8位發光二極體
delay(5000); //延時保持熄滅狀態5000個時間單位,使現象更明顯
for(i=0;i<200;i++) //for循環,實現LED由暗逐漸變亮
{
P0=0x00; //點亮8位發光二極體
delay(i); //延時保持熄滅狀態i個時間單位
P0=0xff; //熄滅8位發光二極體
delay(200-i); //延時保持點亮狀態200-i個時間單位
}
}
}
⑥ 用51單片機編程,做一個呼吸燈,用按鍵來控制燈的開關
急的話提交到21ic項目平台,有專業人才承接項目
project.21ic.com/member
⑦ 如何利用單片機設計出呼吸燈
#include<reg52.h> //包含頭文件,一般情況不需要改動,
sbit LED0=P1^0;// 用sbit 關鍵字 定義 LED到P1.0埠,LED是自己任意定義且容易記憶的符號
void Delay(unsigned int t); //函數聲明
void main (void)
{
unsigned int CYCLE=600,PWM_LOW=0;//定義周期並賦值
while (1) //主循環
{
LED0=1;
Delay(60000); //特意加延時,可以看到熄滅的過程
for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
{//PWM_LOW表示低
//電平時間,這個循環中低電平時長從1累加到CYCLE(周期)的值,即600次
LED0=0; //點亮LED
Delay(PWM_LOW);//延時長度,600次循環中從1加至599
LED0=1; //熄滅LED
Delay(CYCLE-PWM_LOW);//延時長度,600次循環中從599減至1
}
LED0=0;
for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--){//與逐漸變亮相反的過程
LED0=0;
Delay(PWM_LOW);
LED0=1;
Delay(CYCLE-PWM_LOW);
}
//主循環中添加其他需要一直工作的程序
}
}
/*------------------------------------------------
延時函數,含有輸入參數unsigned int t,無返回值
unsigned int 是定義無符號整形變數,其值的范圍是
0~65535
------------------------------------------------*/
void Delay(unsigned int t)
{
while(--t);
}
⑧ 51單片機設計呼吸燈
原發布者:呦_
小屁孩
基於單片機與PWM的
呼吸燈
設計實訓指導教師:班級:設計人姓名:設計日期:設計地點:完成時間:摘要本設計是基於單片機的原理與介面設計,採用單片機I/O口,加以
C語言編程
實現LED漸亮再漸暗類似人的呼吸一樣的效果。關鍵詞
AT89C51
,PWM(
脈寬調制
)一、設計要求:呼吸燈就是讓
LED燈
的閃爍像呼吸一樣,時呼時吸,時亮時暗,利用LED的余輝和人眼的暫留效應,看上去和人的呼吸一樣。二、
設計原理
:用C語言編程實現PWM(脈寬調制)輸出驅動LED,逐漸增加PWM的
占空比
從而實現LED模擬
呼吸的過程
,即漸亮再漸暗再漸亮再漸暗……如此往復,再利用LED的余輝和人眼的暫留效應,看上去就和人的呼吸一樣。三、整體方案設計8個LED按照順序逐個實現呼吸效果。加以其他閃爍花樣增加更炫彩的效果。四、實驗元件及器材(1)元件:LED(
發光二極體
)8個1KΩ電阻8個
1nf
電容2個
晶振
1個
AT89C51晶元
1個(2)器件:
Atmega128
開發板
1塊計算機1台5、硬體原理(1)
主電路
:8個LED分別連接AT89C51的P1口,使用共陽方式,並加以1kΩ的電阻接入電源。
⑨ 求一個單片機呼吸燈程序
我有呼吸燈程序,你的模擬有效果嗎
⑩ 單片機式的呼吸燈控制方法
我們通常會在各類器件上看到形形色色的指示燈,它們都分別代表著不盡相同各項功能的運行情況。而由燈發出的指示光要比其他方法傳遞信息更直接更明顯,也更加的經濟。而現在呼吸燈這項技術已經應用於各個方面,甚至包括智能機的應用,而其比較多樣的呼吸方法在傳遞相關信息上也是方便至極,那麼今天我們就來看看呼吸燈的控制問題。
燈光在微電腦的控制之下完成由亮到暗的逐漸變化,感覺好像是人在呼吸。
應用
廣泛應用於手機之上,並成為各大品牌新款手機的賣點之一。如果你的手機裡面有未處理的通知,比如說未接來電,未查收的簡訊等等,呼吸燈就會由暗到亮的變化,像呼吸一樣那麼有節奏,起到一個通知提醒的作用。
電子愛好者可通過簡單的電路來實現呼吸燈的效果。
為何很多手機都取消了呼吸燈
回答之前,小編想先糾正一個問題,並不是智能機都取消了呼吸燈,很多設備還是具備這一功能的,只不過能夠將這一功能發揮到極致的手機,確實是少之又少。安卓設備其實多數都是有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的管腳比較節省,但,編程的難度稍大。
那麼上述就是呼吸燈相關控制的方法和技巧,我們講,呼吸燈控制在硬體圈是一個很普通的項目,而所採用的單片機控制也是硬體里最基礎的,相信很多人在研習過後都能夠掌握,而即便不必要掌握這個情況,熟悉相關的原理情況也可以讓其在遇見故障的時候能夠迅速找到方法來排除,那麼今天呼吸燈控制的問題就給大家介紹到這里。