如何省電
發布時間:2012/6/16 19:32:05 訪問次數:1244
由于這個作品D784031GC使用電池供電,所以不得不考慮省電的問題。
我在設計之初就沒準備加總開關,因為電池是裸露的,想徹底關閉設備的時候可以直接取下電池。在程序中,持續按住M鍵2秒以上,單片機就會進入掉電模式,以節省電量。實測在掉電模式下電流僅為0.04mA左右,非常低。
程序在檢測到按下M鍵后會啟動定時器T1,同時寫入TL1和TH1的初值,并使定時器一直運行到按鍵松開。在這個道程中會不斷進入定時器1的中斷,通過一個計數變量監測,當定時器計滿2秒時,打開外部中斷O,并調用power_down函數讓單片機進入掉電模式。
當外部中斷0被觸發,單片機離開掉電模式,然后關閉外部中斷,并進行初始化。在這個過程中要注意一點,在掉電前定要把INT_CLKO中控制P3.4輸出時鐘的寄存器清零,同時將P3.4引腳拉低,再次上電之后才能將IKn-_CLKO中的TOCI_KO置位。否則,你將發現掉電時的電流高達90mA!原因是掉電的時候,如果不將TOCU<。清零,引腳將不能被拉低,而此時如果引腳輸出為高電平的話,三極管是導通的,相當于電源直接通過集電極電阻接地,當然會有非常大的電流流過。所以這一步是至關重要的,否則你的掉電功耗將遠遠大于工作功耗,這就不是在省電了!
程序部分講解到此為止,文章相關的源程序,讀者朋友可以到《無線電》雜志網站(www.radio.com.cn)下載。另外在寫這個程序的過程中,我順便寫了STC15F104E的頭文件,也包含在源代碼里面了,有喜歡這款單片機的朋友可以直接使用這個頭文件。
我在設計之初就沒準備加總開關,因為電池是裸露的,想徹底關閉設備的時候可以直接取下電池。在程序中,持續按住M鍵2秒以上,單片機就會進入掉電模式,以節省電量。實測在掉電模式下電流僅為0.04mA左右,非常低。
程序在檢測到按下M鍵后會啟動定時器T1,同時寫入TL1和TH1的初值,并使定時器一直運行到按鍵松開。在這個道程中會不斷進入定時器1的中斷,通過一個計數變量監測,當定時器計滿2秒時,打開外部中斷O,并調用power_down函數讓單片機進入掉電模式。
當外部中斷0被觸發,單片機離開掉電模式,然后關閉外部中斷,并進行初始化。在這個過程中要注意一點,在掉電前定要把INT_CLKO中控制P3.4輸出時鐘的寄存器清零,同時將P3.4引腳拉低,再次上電之后才能將IKn-_CLKO中的TOCI_KO置位。否則,你將發現掉電時的電流高達90mA!原因是掉電的時候,如果不將TOCU<。清零,引腳將不能被拉低,而此時如果引腳輸出為高電平的話,三極管是導通的,相當于電源直接通過集電極電阻接地,當然會有非常大的電流流過。所以這一步是至關重要的,否則你的掉電功耗將遠遠大于工作功耗,這就不是在省電了!
程序部分講解到此為止,文章相關的源程序,讀者朋友可以到《無線電》雜志網站(www.radio.com.cn)下載。另外在寫這個程序的過程中,我順便寫了STC15F104E的頭文件,也包含在源代碼里面了,有喜歡這款單片機的朋友可以直接使用這個頭文件。
由于這個作品D784031GC使用電池供電,所以不得不考慮省電的問題。
我在設計之初就沒準備加總開關,因為電池是裸露的,想徹底關閉設備的時候可以直接取下電池。在程序中,持續按住M鍵2秒以上,單片機就會進入掉電模式,以節省電量。實測在掉電模式下電流僅為0.04mA左右,非常低。
程序在檢測到按下M鍵后會啟動定時器T1,同時寫入TL1和TH1的初值,并使定時器一直運行到按鍵松開。在這個道程中會不斷進入定時器1的中斷,通過一個計數變量監測,當定時器計滿2秒時,打開外部中斷O,并調用power_down函數讓單片機進入掉電模式。
當外部中斷0被觸發,單片機離開掉電模式,然后關閉外部中斷,并進行初始化。在這個過程中要注意一點,在掉電前定要把INT_CLKO中控制P3.4輸出時鐘的寄存器清零,同時將P3.4引腳拉低,再次上電之后才能將IKn-_CLKO中的TOCI_KO置位。否則,你將發現掉電時的電流高達90mA!原因是掉電的時候,如果不將TOCU<。清零,引腳將不能被拉低,而此時如果引腳輸出為高電平的話,三極管是導通的,相當于電源直接通過集電極電阻接地,當然會有非常大的電流流過。所以這一步是至關重要的,否則你的掉電功耗將遠遠大于工作功耗,這就不是在省電了!
程序部分講解到此為止,文章相關的源程序,讀者朋友可以到《無線電》雜志網站(www.radio.com.cn)下載。另外在寫這個程序的過程中,我順便寫了STC15F104E的頭文件,也包含在源代碼里面了,有喜歡這款單片機的朋友可以直接使用這個頭文件。
我在設計之初就沒準備加總開關,因為電池是裸露的,想徹底關閉設備的時候可以直接取下電池。在程序中,持續按住M鍵2秒以上,單片機就會進入掉電模式,以節省電量。實測在掉電模式下電流僅為0.04mA左右,非常低。
程序在檢測到按下M鍵后會啟動定時器T1,同時寫入TL1和TH1的初值,并使定時器一直運行到按鍵松開。在這個道程中會不斷進入定時器1的中斷,通過一個計數變量監測,當定時器計滿2秒時,打開外部中斷O,并調用power_down函數讓單片機進入掉電模式。
當外部中斷0被觸發,單片機離開掉電模式,然后關閉外部中斷,并進行初始化。在這個過程中要注意一點,在掉電前定要把INT_CLKO中控制P3.4輸出時鐘的寄存器清零,同時將P3.4引腳拉低,再次上電之后才能將IKn-_CLKO中的TOCI_KO置位。否則,你將發現掉電時的電流高達90mA!原因是掉電的時候,如果不將TOCU<。清零,引腳將不能被拉低,而此時如果引腳輸出為高電平的話,三極管是導通的,相當于電源直接通過集電極電阻接地,當然會有非常大的電流流過。所以這一步是至關重要的,否則你的掉電功耗將遠遠大于工作功耗,這就不是在省電了!
程序部分講解到此為止,文章相關的源程序,讀者朋友可以到《無線電》雜志網站(www.radio.com.cn)下載。另外在寫這個程序的過程中,我順便寫了STC15F104E的頭文件,也包含在源代碼里面了,有喜歡這款單片機的朋友可以直接使用這個頭文件。