最近一周一直在做pic單片機(jī)功耗問題。由于項目使用電池供電,所以功耗問題顯得非常重要。根據(jù)數(shù)據(jù)手冊以及網(wǎng)絡(luò)上的資料,影響單片機(jī)功耗主要由以下幾個因素:
1:所有I/O引腳保持為高阻輸入高點(diǎn)平或低電平
2:關(guān)閉比較器和CVref(可編程偏上參考電壓)、WTD、T1OSC、BOR(欠壓復(fù)位)等
3:PORTB片內(nèi)弱上拉
4:所有不用的模塊全部關(guān)閉,在用到時再打開
5:MCLR引腳必須處于邏輯高電平
PIC單片機(jī)在執(zhí)行SLEEP指令后進(jìn)入睡眠省電模式。進(jìn)入SLEEP模式后,主振蕩停止,如果看門狗在燒寫時打開了,看門狗定時器將被清并保持運(yùn)行。I/O口,周邊模塊和內(nèi)部RAM將保持原來狀態(tài),所以如果要求睡眠后有很低功耗,應(yīng)該在進(jìn)入SLEEP前把IO口置為高阻抗的輸入狀態(tài),不用的模塊也要關(guān)閉。另有些周邊模塊與主時鐘有關(guān),如在異步模式下的USART,將不工作。
喚醒SLEEP的條件有很多,如IO口電平變化,AD轉(zhuǎn)換結(jié)束,外部復(fù)位、看門狗溢出等,具體請參考數(shù)據(jù)手冊。
當(dāng)執(zhí)行SLEEP指令時,PC+1的指令被預(yù)取指,當(dāng)器件被一個中斷條件喚醒時(這個中斷的應(yīng)是已使能的),如果GIE(全局中斷使能位)為0,器件將繼續(xù)執(zhí)行SLEEP指令下面的指令。如果GIE為1,器件將執(zhí)行已預(yù)取的PC+1指令后跳到0004H的中斷入口。所以建議SLEEP后面緊跟著的一條指令最好是個NOP。
外部手動復(fù)位MCLR將喚醒器件并RESET,表示狀態(tài)的標(biāo)志位含義詳見數(shù)據(jù)手冊。
看門狗定時器在SLEEP下溢出將喚醒器件,然后執(zhí)行SLEEP下面的指令,也有標(biāo)志位指示狀態(tài)。
進(jìn)入SLEEP后,主振蕩停振,和主振蕩相關(guān)的模塊都會停止工作,A/D 。液晶驅(qū)動。看門狗等模塊還是要在SLEEP指令執(zhí)行之前關(guān)閉的。這樣功耗才會最低。
關(guān)于I.O口。在16C926的DATA SHEET里,還是說到了一些。所有的I/O口,都有確定的接VDD或者VSS,而不能懸空。進(jìn)入SLEEP前,所有的I/O應(yīng)該置為輸入口,接上拉或下拉。
對于PORTB口有內(nèi)部上拉功能的應(yīng)該選擇不上拉。
這個項目就是因為沒有關(guān)閉BOR在休眠時電流達(dá)到50UA而搞了近一周的時間才發(fā)現(xiàn)問題。
下面是一位網(wǎng)友的測試數(shù)據(jù):
測試條件:PIC16F676使用內(nèi)部4MHzRC振蕩,電源電壓5V,測試在睡眠下的消耗電流
單片機(jī)在外部IO口設(shè)置成輸入并有固定電平的情況下,程序進(jìn)入一個NOP指令和跳轉(zhuǎn)指令的死循環(huán)后耗電約1.26mA
1.SLEEP之后:WDT開并256分頻,每2.3秒左右喚醒一次,所有IO口為數(shù)字輸入口,直接接高電平或低電平。5V,0.159mA,主要配置:_INTRC_OSC_NOCLKOUT & _WDT_ON & _PWRTE_ON & _MCLRE_OFF & _BODEN
2.上面的程序沒動,只是配置& _BODEN_OFF,電流降為8.5μA,其它配置變化對電流消耗影響不大,WDT開與不開只差0.1μA,可見BROWN OUT DOWN功能是個耗電大戶。
3.上面的配置、程序沒動,所有IO輸入口懸空,結(jié)果電流變?yōu)?.8-1mA,以上均沒開電平變化中斷,而且手接近單片機(jī)電流變的更大?梢婋m然IO口看似沒有吸收電流,但干擾電平引起單片機(jī)內(nèi)部比較器頻繁翻轉(zhuǎn)的電流可以說很驚人。
4.以上配置,僅將WDT分頻比改為1:1,各IO口仍然接固定電平,此時單片機(jī)WDT約每1.8mS喚醒一次,電流為8.8μA,可見RC的喚醒很省電。
5.以上配置,WDT1:256分頻,將所有IO口設(shè)置成輸出,并輸出低電平,IO口不接任何負(fù)載,結(jié)果電流為9.5μA,與輸入相比多了1μA?梢奍O口的驅(qū)動也是要能量的。
6.以上配置,WDT1:256,各AD輸入口設(shè)置成AD輸入,其它設(shè)置成IO輸入,均接固定電平,ADON置1,GO為零,此時AD模塊開啟,轉(zhuǎn)換未開始,轉(zhuǎn)換時鐘采用系統(tǒng)時鐘的1/8,電流8.8μA基本無變化,轉(zhuǎn)換時鐘采用AD獨(dú)立RC振蕩,電流仍為8.8μA,獨(dú)立RC振蕩,GO置1,轉(zhuǎn)換完成后繼續(xù)AD轉(zhuǎn)換,電流為9.2μA,期間沒有空余采樣電容的充電時間,可見AD轉(zhuǎn)換并不怎么耗電。
7.關(guān)閉AD,開啟RA口的弱上拉,有弱上拉的IO懸空,WDT 1:1,電流8.8μA,將弱上拉的IO口其中一腳接地,電流猛增至212.4μA,換算下來一個弱上拉相當(dāng)于一個24KΩ左右的電阻。
綜上所述,耗電大戶有兩個:第一大戶是懸空的輸入腳,第二大戶為弱上拉時IO口接地。第三大戶為BROWN OUT DOWN RESET(電壓過低復(fù)位)。若要省電的話不妨以此參考。此次試驗是單片機(jī)沒有任何外圍電路的情況下測得,當(dāng)然外圍電路比較復(fù)雜,設(shè)計省電模式其它電路的耗電也要考慮。若要非常省電,那么每個功能是否開啟都是錙珠必較的。
容-源-電-子-網(wǎng)-為你提供技術(shù)支持本文地址:http://www.4811775.com/dz/22/15445093682759.shtml
本文標(biāo)簽:
猜你感興趣:
運(yùn)用單片機(jī)便是了解單片機(jī)硬件結(jié)構(gòu),以及內(nèi)部資源的運(yùn)用,在匯編或C語言中學(xué)會各種功用的初始化設(shè)置,以及完成各種功用的程序編制。 運(yùn)用按鈕輸入信號,發(fā)光二極管顯現(xiàn)輸出
關(guān)鍵詞:51單片機(jī)PIC單片機(jī)單片機(jī) 所屬欄目:設(shè)計編程
現(xiàn)場總線技術(shù)已經(jīng)廣泛應(yīng)用于工業(yè)控制中,尤其是CAN(Controler Area Nerwork)總線由于具有可靠性高、成本低、容易實現(xiàn)等優(yōu)點(diǎn),在現(xiàn)場總線實際工程應(yīng)用中占有了較大份額。
關(guān)鍵詞:單片機(jī) 所屬欄目:設(shè)計編程
我的答案是:不可以原因如下:一、軟件仿真多用于教學(xué),把更多精力用在軟件的實現(xiàn)上由于學(xué)生學(xué)習(xí)時間寶貴,焊接一套單片機(jī)實驗板又比較花時間,并且實驗項目太多,所以為了
關(guān)鍵詞:PIC單片機(jī)51單片機(jī)單片機(jī) 所屬欄目:設(shè)計編程
對于新手來說,首先根據(jù)自己學(xué)的什么樣單片機(jī)就選什么類型的單片機(jī),熟悉什么類型的單片機(jī)就選什么類型的單片機(jī)。因為單片機(jī)不僅要設(shè)計電路,還要設(shè)計控制軟件。選自己熟悉的單片機(jī)上手最快,也最容易獲得成功。下面介紹如何選擇最適合的單片機(jī)。
關(guān)鍵詞: 所屬欄目:設(shè)計編程
單片機(jī)晶振的作用是什么
在初學(xué)單片機(jī)的時候,總是伴隨很多有關(guān)于晶振的問題,其實晶振就是如同人的心臟,是血液的脈搏,把單片機(jī)的晶振問題搞明白了,51單片機(jī)的其他問題
關(guān)鍵詞:51單片機(jī)PIC單片機(jī)單片機(jī) 所屬欄目:設(shè)計編程
Keil單片機(jī)編程軟件Keil C51是單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯
關(guān)鍵詞:51單片機(jī)PIC單片機(jī) 所屬欄目:設(shè)計編程
詳解51單片機(jī)運(yùn)行過程 注:1.ROM:只讀存儲器,單片機(jī)的只讀存儲區(qū)大多用于存儲程序固又稱程序存儲器。51單片機(jī)是EPROM,所謂的EPROM是可擦除的只
關(guān)鍵詞: 所屬欄目:設(shè)計編程
pic單片機(jī)和c51有什么區(qū)別(區(qū)別1)總線結(jié)構(gòu):MCS-51單片機(jī)的總線結(jié)構(gòu)是馮-諾依曼型,計算機(jī)在同一個存儲空間取指令和數(shù)據(jù),兩者不能同時進(jìn)行;而PIC單片機(jī)的總線結(jié)構(gòu)是哈佛結(jié)構(gòu)
關(guān)鍵詞:單片機(jī)PIC單片機(jī)51單片機(jī) 所屬欄目:設(shè)計編程
實例分析51單片機(jī)出現(xiàn)故障及解決辦法。詳細(xì)如下:
故障現(xiàn)象:做了一個單片機(jī)溫度監(jiān)測系統(tǒng),仿真機(jī)上一切正常,燒寫芯片無法工作。相關(guān)電路框圖: 用51做處理器,外圍電路如
關(guān)鍵詞:單片機(jī)51單片機(jī) 所屬欄目:設(shè)計編程
PIC單片機(jī)匯編語言指令詳解
pic單片機(jī)為最常用單片機(jī)之一,許多程序均基于pic單片機(jī)進(jìn)行開發(fā)。因此,熟練pic單片機(jī)編程尤為重要。為保證大家能準(zhǔn)確、熟練掌握pic單片機(jī)的使
關(guān)鍵詞:PIC單片機(jī)單片機(jī) 所屬欄目:設(shè)計編程
三種51單片機(jī)程序下載方法介紹
一般只能通過三種方式下載程序到單片機(jī)中:1.JTAG 2.ISP 3.IAP1.JTAG要使用JTAG方式下載程序,不管是使用J-LINK、ULINK、ST-LINK,只需要把
關(guān)鍵詞:PIC單片機(jī)51單片機(jī)單片機(jī) 所屬欄目:設(shè)計編程
I2C每一位信號的時序流程,而I2C通信在字節(jié)級的傳輸中,也有固定的時序要求。I2C通信的起始信號(Start)后,首先要發(fā)送一個從機(jī)的地址,這個地址一共有 7位,緊跟著的第 8
關(guān)鍵詞:PIC單片機(jī)51單片機(jī)單片機(jī) 所屬欄目:設(shè)計編程
越來越多的測量儀器提供GPIB(General Purpose Intefface Bus)總線接口,通過該總線可以方便快捷地連接帶有GPIB接口的儀器及計算機(jī),組成一個GPlB網(wǎng)絡(luò)。GPIB設(shè)備與計算機(jī)連
關(guān)鍵詞:PIC單片機(jī)51單片機(jī)單片機(jī) 所屬欄目:設(shè)計編程
每個單片機(jī)系統(tǒng)里都有晶振,全程是叫晶體震蕩器,在單片機(jī)系統(tǒng)里晶振的作用非常大,他結(jié)合單片機(jī)內(nèi)部的電路,產(chǎn)生單片機(jī)所必須的時鐘頻率,單片機(jī)的一切指令的執(zhí)行都是建立
關(guān)鍵詞:51單片機(jī)PIC單片機(jī)單片機(jī) 所屬欄目:設(shè)計編程
引言變頻調(diào)速作為交流電機(jī)調(diào)速的主要手段已經(jīng)在工業(yè)領(lǐng)域中應(yīng)用的十分廣泛,其具有的調(diào)速范圍寬、穩(wěn)速精度高、動態(tài)響應(yīng)快、適用范圍廣、運(yùn)行可靠等技術(shù)性能,已逐步取代直流
關(guān)鍵詞:單片機(jī)變頻器 所屬欄目:設(shè)計編程
電子密碼鎖按照輸入密碼方式的不同可分為好多種,其中最常用的一種是用數(shù)字鍵盤輸入密碼的電子密碼鎖。這一講主要介紹用ATmega8和LCD1602液晶顯示器等組成的電子密碼鎖,這
關(guān)鍵詞:單片機(jī) 所屬欄目:設(shè)計編程
1.實驗任務(wù)如圖所示,監(jiān)視開關(guān)K1(接在P3.0端口上),用發(fā)光二極管L1(接在單片機(jī)P1.0端口上)顯示開關(guān)狀態(tài),如果開關(guān)合上,L1亮,開關(guān)打開,L1熄滅。2.電路原理圖3.系統(tǒng)
關(guān)鍵詞:單片機(jī)LEDLED電路圖 所屬欄目:設(shè)計編程
近日,有媒體報道稱,北京微電子技術(shù)研究所日前成功研制出國內(nèi)首個自主可控的宇航用千萬門級高性能高可靠FPGA(現(xiàn)場可編程門陣列)芯片。FPGA一直是國內(nèi)的短板,市場基本被
關(guān)鍵詞:單片機(jī) 所屬欄目:設(shè)計編程
怎么學(xué)單片機(jī)?也?吹接腥苏f學(xué)了好幾個月可就是沒有什么進(jìn)展。當(dāng)然,受限于每個人受到的教育水平不同和個人理解能力的差異,學(xué)習(xí)起來會有快慢之分,但我感覺最重的就是學(xué)
關(guān)鍵詞:單片機(jī) 所屬欄目:設(shè)計編程
在單片機(jī)中有一些獨(dú)立的存儲單元是用來控制這些器件的,被稱之為特殊功能寄存器(SFR)! <特殊功能寄存器地址映象表(一)> <特殊功能寄存器地址映象表(二)> <
關(guān)鍵詞:單片機(jī)寄存器 所屬欄目:設(shè)計編程