『壹』 求一個 單片機控制電源定時開啟、關閉的程序 時間是早上6點 晚上12點
你這個就是一個時鍾的問題嗎。很簡單的啊。只要設計好初始值就可以了。
就是一個定時器的問題的。比如說你設計是100MS一次中斷的。那麼中斷10次就是1S的。那麼你就可以設計一些參數值的,用來計算當前的時間的,當參數值到達6點或12點的時候就可以通斷開關的。就這樣簡單的。
『貳』 單片機 電池供電
單片機工作電壓一般為:5.5v-3.4v(5v單片機),3.8v-2.0v(3v單片機)
你可以選擇用電池盒三節大容量AA電池,或者1節5v電池,如果長期供電最好用開關電源(可以購買也可以自己做)。
你主要是用來做什麼的呢?
單片機還有一種掉電模式:功耗極低<0.1uA,可由外部中斷喚醒,適用於電池供電系統,如水表、氣表、便攜設備等,你看看你的工作環境適不適合這種模式,具體設置請參見手冊。
市場上很容易買到2300mAh的AA電池你買三節3*1.5=4.5V,2300*3/3/24=95.8,算起來也能用兩三個月呢...可以考慮一下
還有就是市場上那種攜帶型的鉛蓄電池,也很容易買到,容量也不錯
『叄』 stc12c5a60s2單片機怎樣編規定時間里的通斷電假設每天晚上十二點斷電早上
數據不丟失,在斷電前寫入內部EEPROM。單片機可以控制斷電,但斷電後單片機也無法工作了,所以無法控制通電。
『肆』 五一單片機控制12864液晶背光的問題。
如果不帶PWM也可以用電位器,直接接在原來接p1.4的那條線,去掉三極體和電阻,直接用電位器提供調節。(其實你完全可以為了PWM而換單片機,換完了是一勞永逸,以後還多了ADC可以自動調節背光,可以唱出美妙的音樂,而不再是用方波輸出的難聽的音樂了)
如果單片機是帶PWM的話就好辦了,AT89S51當然不帶,但是STC12C5A60S2就完全可以帶替他,他是51系列單片機拓展型。(PWM不知道可以問我,完整程序我也有)
這樣可以通過PWM來控制背光亮度(相當於能讓單片機輸出模擬信號,而不再只有高低兩種電平)編程如下(在利用光敏電阻判斷是否到晚上了,主程序就自己編吧):
sbitLED=P1^4;//液晶屏背光定義(PWM控制,不能更改)
/*********************************************************************************************
函數名:PWM初始化函數(控制背光亮度)
調用:PWM_init();
參數:無
返回值:無
結果:將PCA初始化為PWM模式,初始占空比為0
備註:需要更多路PWM輸出直接插入CCAPnH和CCAPnL即可
/**********************************************************************************************/
voidPWM_init(void){
CMOD=0x02;//設置PCA定時器
CL=0x00;
CH=0x00;
CCAPM1=0x42;//PWM1設置PCA工作方式為PWM方式(使用時刪除//)
CCAP1L=0x00;//設置PWM1初始值與CCAP0H相同
CCAP1H=0x00;//PWM1初始時為0
CR=1;//啟動PCA定時器
}
/**********************************************************************************************/
/*********************************************************************************************
函數名:PWM1占空比設置函數(控制背光亮度)
調用:PWM1_set();
參數:0x00~0xFF(亦可用0~255)
返回值:無
結果:設置PWM模式占空比,為0時全部高電平,為1時全部低電平
備註:如果需要PWM1的設置函數,只要把CCAP0L和CCAP0H中的0改為1即可
/**********************************************************************************************/
voidPWM1_set(unsignedchara){
CCAP1L=a;//設置值直接寫入CCAP0L
CCAP1H=a;//設置值直接寫入CCAP0H
}
/**********************************************************************************************/
/*********************************************************************************************
函數名:8位A/D轉換初始化
調用:Read_init(?);
參數:輸入的埠(00000XXX其中XXX是設置輸入埠號,可用十進制0~7表示,0表示P1.0,7表示P1.7)
返回值:無
結果:
備註:適用於STC12C5A60S2單片機
/**********************************************************************************************/
voidRead_init(unsignedcharCHA){
unsignedcharAD_FIN=0;//存儲A/D轉換標志
CHA&=0x07;//選擇ADC的8個介面中的一個(00000111清0高5位)
ADC_CONTR=0x40;//ADC轉換的速度(0XX00000其中XX控制速度,請根據數據手冊設置)
_nop_();
ADC_CONTR|=CHA;//選擇A/D當前通道
_nop_();
ADC_CONTR|=0x80;//啟動A/D電源
DELAY_MS(1);//使輸入電壓達到穩定(1ms即可)
}
/*********************************************************************************************
函數名:8位A/D轉換函數(採集光敏電阻數據)
調用:?=Read();
參數:無
返回值:8位的ADC數據
結果:讀出指定ADC介面的A/D轉換值,並返回數值
備註:適用於STC12C5A60S2單片機
/**********************************************************************************************/
unsignedcharRead(void){
unsignedcharAD_FIN=0;//存儲A/D轉換標志
ADC_CONTR|=0x08;//啟動A/D轉換(00001000令ADCS=1)
_nop_();
_nop_();
_nop_();
_nop_();
while(AD_FIN==0){//等待A/D轉換結束
AD_FIN=(ADC_CONTR&0x10);//00010000測試A/D轉換結束否
}
ADC_CONTR&=0xE7;//11110111清ADC_FLAG位,關閉A/D轉換,
return(ADC_RES);//返回A/D轉換結果(8位)
}
/**********************************************************************************************/
/*********************************************************************************************
函數名:自動背光檢測程序
調用:AUTO_B();
參數:無
返回值:無
結果:檢測環境光並控制背光亮度
備註:
/**********************************************************************************************/
voidAUTO_B(void){//
unsignedchard;
d=Read();
if(read_clock(0xc1)==1){//檢查自動調光開關
if(d>0xD0){//
PWM1_set(1);//
}else{
PWM1_set(read_clock(0xc5)*0x1C);//
}
}
}
/*****************************************************************************/
『伍』 求一AT89C51單片機聲光控燈程序,白天單片機休眠,無論有無聲音燈都不亮,晚上有聲音時燈亮30秒後熄滅
你這個需要一個光線感測器,或者你直接就定義時間算了,不過時間的話就很死,沒有感測器靈活。然後你做一個循環,判斷感測器是否有輸入,如果有則判斷聲音感測器是否有輸入,有的話就亮燈30S,之後熄滅。
『陸』 單片機控制任務比如電源開關晚上關閉白天開啟,一定要保持單片機運行嗎可以休眠一樣嗎
可以的,很多單片機可以再保持休眠的狀態下面,
然後由外部的事件進行觸發恢復任務的運行,執行任務之後又可以自動休眠
這樣耗電量很低提交回答
『柒』 單片機交通燈白天和夜間兩種模式怎麼自動切換
白天與夜間可用PLC內部時間自動切換(一般需定期校正內部時間),緊急、檢修用三段選擇開關兩個輸入點切換比較方便,不知道你是不是想問這些。
『捌』 如何用C語言編寫讓單片機在規定時間自動進入工作狀態啊
只能說給你點思路,我沒有用過紅外感測器,你的這個設計要抓住思路,自己寫個程序框圖,溫度採集方面用紅外感測器,溫度採集到了放在哪??因為我們要用,所以這里建一個數組存放溫度,其次我們是在晚上11點自動開啟溫度測量,這里還需要一個時鍾晶元來記時的,時鍾晶元我就用過DS1302,同樣讀到的時間我們要用一個數組去記錄它,還要寫一個功能函數就是判斷時間是不是到十一點了,如果到了開啟溫度測量(就是一個if語句時間到了,時能溫度晶元開始測量),至於每過五分鍾測量一個人體溫度用中斷延遲隨便你,這個你應該自己可以解決,建議用中斷,因為測量溫度的同事還要判斷人體溫度是否下降等問題,好這個函數基本是主要控制的,體溫下降還要去控制開關定時器關閉。好好做這個東西不難,而且網上很多資料,加油。。
『玖』 單片機如何實現聲音白天響黑夜不響
安裝智能聲控開關。
單片機是一種集成在電路晶元,是採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/0口和中斷系統。
定時器或計時器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A、D轉換器等電路)集成到一塊矽片上構成的一個小而完善的計算機系統。
採用串列A、D對聲音信號的採集,可以通過軟體來調節對聲音的靈敏度。單片機軟體實施對光度的判斷,使開關在白天時即使有聲音也不工作,在晚上聞聲自亮。
『拾』 我買了個51單片機開發板,做了個很簡單的時鍾,如果我讓它晚上運行7-8小時,有沒有問題長時間工作會壞嗎
不會壞的。常年開著都沒事