|
 這是運(yùn)行照片
這是去掉顯示器后的線路板
終結(jié):
1:元件選擇;全部選用低功耗低電壓的串行模塊,包括一總線溫度傳感器DS18B20,串行時(shí)鐘DS1302,串行8位筆劃液晶顯示器SMS0801b(長(zhǎng)沙太陽(yáng)人公司產(chǎn)),及89C2051單片機(jī),原本要增加一個(gè)頻率輸出的濕度傳感器,因89C2051代碼空間有限而作罷.
2:開(kāi)發(fā)工具,51開(kāi)發(fā)板,KEIL C51,自己用試驗(yàn)板焊的板子(開(kāi)發(fā)完成,試驗(yàn)板就成了成品板了),EP51PRO編程器,XL1000主要用來(lái)測(cè)試DS18B20及重新熟悉C51程序,因開(kāi)發(fā)板輸出端子接觸不牢靠,影響DS1302正常讀數(shù),故而DS1302其實(shí)是在試驗(yàn)板上用燒片的方式完成測(cè)試(沒(méi)有仿真器很苦)
3:程序,全部用C51書(shū)寫(xiě)編譯(搞習(xí)慣了高級(jí)語(yǔ)言.寫(xiě)不來(lái)匯編了),編譯后大約占用了1.84K的代碼空間,56字節(jié)的XDATA空間,一片89C51正好裝下,程序采用模塊化設(shè)計(jì),顯示,數(shù)據(jù)寫(xiě)入讀出,鍵盤(pán)處理全部是集中處理的,使用了一定的編程技巧.
4:功能,參照本人的卡西歐手表的按鍵操作方式設(shè)計(jì)了功能模塊的顯示,調(diào)整,切換,
按鍵一:開(kāi)機(jī)復(fù)位后顯示時(shí)間界面,按一下切換到日期顯示,再按是溫度,再按是鬧鐘,再按返回時(shí)間界面,若在調(diào)整界面則用于調(diào)整項(xiàng)目的循環(huán)切換;
按鍵二:在時(shí)間,日期,鬧鐘顯示界面下按2秒,出現(xiàn)各自的調(diào)整界面,再按2秒退出調(diào)整界面,進(jìn)入調(diào)整界面后,要調(diào)整的項(xiàng)目0.5秒間隔閃爍;
按鍵三:調(diào)整---數(shù)字加1,或啟停鬧鐘(暫不支持連續(xù)按鍵)
按鍵四:調(diào)整---數(shù)字減1,或啟停鬧鐘
5:精度,時(shí)間精確到秒(具體精度由32.768K晶振決定),鬧鐘以分為單位響?hù)[,每次響?hù)[20秒,按任意鍵停止.溫度精確到0.5度,分辨率是0.1度
6:電源問(wèn)題:起初用DC-DC升壓模塊+兩節(jié)鎳氫電池供電,后測(cè)試電池輸出電流達(dá)20毫安,2400毫安時(shí)的電池5天不到就完了, 而89C2051本身只耗7毫安電流,其他模塊加起來(lái)耗電還不到1毫安,可見(jiàn)DC-DC升壓模塊的效率實(shí)在太低,不具備實(shí)用的價(jià)值,起碼用在電池供電電路要求長(zhǎng)期供電的成品中是不行的,后來(lái)去掉DC-DC模塊,直接用3.7v鋰電池供電,則電流減小到3毫安,比原來(lái)足足少了6倍之多.
采用3.7v供電后產(chǎn)生了一個(gè)問(wèn)題,到現(xiàn)在還不知道原因,就是板上的模塊理論上都支持2.7v的低壓,DS1302支持2.5V,但是在實(shí)際使用中發(fā)現(xiàn)供電電源小于3.6V時(shí),DS1302讀數(shù)就出現(xiàn)混亂了,離器件手冊(cè)所說(shuō)的2.5v相差很大,以至于用鋰電池供電都有一定的困難了,因?yàn)殇囯姷姆烹娊K止電壓有2.75v,用3節(jié)鎳氫供電存在同樣的問(wèn)題,3節(jié)電池總電壓是1.35*3=4.05v,放電到1.2*3=3.6v就不能正常工作,但是他的終止電壓有1.1v,加起來(lái)才3.3v,除非用堿性電池,這樣問(wèn)題是解決了,成本也上去了.
7:改進(jìn),未來(lái)想更換12M的晶振為4M的,進(jìn)一步減少耗電,但是要改動(dòng)程序,因?yàn)镈S18B20對(duì)時(shí)序要求很?chē)?yán)格,為了保證DS18B20的正常讀數(shù),甚至要暫時(shí)關(guān)閉中斷.還可以試驗(yàn)用讓系統(tǒng)進(jìn)入空閑方式的方法減少耗電.
|
|