數據存儲在EEPROM中實現掉電不丟失
發布時間:2013/11/27 20:09:48 訪問次數:4395
由于單片機的功能很強, HMC207S8同時也有EEPROM,可以方便地存儲數據,所以我設計了一個菜單來方便功能的設置,設置數據存儲在EEPROM中實現掉電不丟。
現在功能菜單也有了,就可以完全任憑自己的想象力來發揮了,因為MCU擁有無限可能。我目前實現的功能有數據保持、串口發送測量值設定、工作頻設定、小數點位置設定、菜單超時退出和還原出廠設置等。未來要實現的功能有:開關短按功能設置、電壓超閾值報警、平均值計算、差值計算、軟件校準蟻及自動控制等。板子上只設計了一個輕觸開關,基本夠用了。長按按鍵進入設置菜單,短按按鍵數據保持。以后要增加短按功能設置,可以更改短按的功能。這個程序也是我第一次使用定時器來進行按鍵檢測,我沒有使用常用的件延時和中斷檢測法。因為單片機要不斷掃描數碼管,不能打斷掃描太長時間不然數字顯示會閃爍或中斷。
不使用中斷的原因是單片機外部中斷資比較有限,我想把中斷1端口預留給以后控制使用+另外程序編寫的循環很快,每次循環只掃描一個數碼管,這樣一次循環的時間就很短,不會影響到按鍵的判斷。程序也有向上位機發送測量結果的功能,如果設置打開了串口發送數據,那么每次測量結束就會將測量結果以BCD碼通過串口發送出去。多參考單片機的數據手冊,再開動腦筋就可以做出很多很有意思的功能。編寫程序的時候要注意1/0口的工作模式,數據收要設為開漏,數據發送和發送接收口要設為準雙向口,數碼管段驅動口要根選取的數碼管類型(共陰或共陽)設為推挽或開漏,數碼管位驅動口同樣,要設為開漏或推挽。
當程序編寫調試完成后,在投入使用前最后一個重要工作就是對表頭進行校準,以保證測量的準確性。原則上應該使用4i/2及以上住數的數字電壓表或萬用表,將其輸入端與表頭輸入端并聯,并輸入一個1V左右穩定的電壓,調節電位器,使二者顯示一致的方式來調整。但是考慮可能沒有4i/2或以上位數的儀表,也可以用精度良好的31/2或3%J位萬用表來簡單調整。
首先對表頭進行自檢,記下讀數若自檢讀數低于9995就應該考慮更換更優質的積分電容了。然后使用萬用表00.OmV或400.OmV量程電壓擋,將其入端與本機輸入端并聯,并輸入一個100~200mV的穩定電壓,調節電位器,使二者顯示一致即可。
最后就可以將表頭投入使用了。由于我沒有更好的積分電容,所以表頭度略差,實際滿量程誤差是正負十幾個字左右,整機耗電在30mA左右。目前工作正常,與上位機通信也很穩定。
由于單片機的功能很強, HMC207S8同時也有EEPROM,可以方便地存儲數據,所以我設計了一個菜單來方便功能的設置,設置數據存儲在EEPROM中實現掉電不丟。
現在功能菜單也有了,就可以完全任憑自己的想象力來發揮了,因為MCU擁有無限可能。我目前實現的功能有數據保持、串口發送測量值設定、工作頻設定、小數點位置設定、菜單超時退出和還原出廠設置等。未來要實現的功能有:開關短按功能設置、電壓超閾值報警、平均值計算、差值計算、軟件校準蟻及自動控制等。板子上只設計了一個輕觸開關,基本夠用了。長按按鍵進入設置菜單,短按按鍵數據保持。以后要增加短按功能設置,可以更改短按的功能。這個程序也是我第一次使用定時器來進行按鍵檢測,我沒有使用常用的件延時和中斷檢測法。因為單片機要不斷掃描數碼管,不能打斷掃描太長時間不然數字顯示會閃爍或中斷。
不使用中斷的原因是單片機外部中斷資比較有限,我想把中斷1端口預留給以后控制使用+另外程序編寫的循環很快,每次循環只掃描一個數碼管,這樣一次循環的時間就很短,不會影響到按鍵的判斷。程序也有向上位機發送測量結果的功能,如果設置打開了串口發送數據,那么每次測量結束就會將測量結果以BCD碼通過串口發送出去。多參考單片機的數據手冊,再開動腦筋就可以做出很多很有意思的功能。編寫程序的時候要注意1/0口的工作模式,數據收要設為開漏,數據發送和發送接收口要設為準雙向口,數碼管段驅動口要根選取的數碼管類型(共陰或共陽)設為推挽或開漏,數碼管位驅動口同樣,要設為開漏或推挽。
當程序編寫調試完成后,在投入使用前最后一個重要工作就是對表頭進行校準,以保證測量的準確性。原則上應該使用4i/2及以上住數的數字電壓表或萬用表,將其輸入端與表頭輸入端并聯,并輸入一個1V左右穩定的電壓,調節電位器,使二者顯示一致的方式來調整。但是考慮可能沒有4i/2或以上位數的儀表,也可以用精度良好的31/2或3%J位萬用表來簡單調整。
首先對表頭進行自檢,記下讀數若自檢讀數低于9995就應該考慮更換更優質的積分電容了。然后使用萬用表00.OmV或400.OmV量程電壓擋,將其入端與本機輸入端并聯,并輸入一個100~200mV的穩定電壓,調節電位器,使二者顯示一致即可。
最后就可以將表頭投入使用了。由于我沒有更好的積分電容,所以表頭度略差,實際滿量程誤差是正負十幾個字左右,整機耗電在30mA左右。目前工作正常,與上位機通信也很穩定。
上一篇:PCB布線要點
上一篇:RIGOL生產基地參
熱門點擊
- FU-19推挽功放制作
- RL電路用作濾波器
- RFID卡讀寫器主板的電路原理
- 驅動Buck-Boost電路產生負高壓
- 電子管好的選擇
- BJT B類放大器
- 反射式紅外測速儀DIY
- 數據存儲在EEPROM中實現掉電不丟失
- 制作CUBE4彩色光立方
- 舵機的工作原理
推薦技術資料
- FU-19推挽功放制作
- FU-19是國產大功率發射雙四極功率電二管,EPL20... [詳細]