朱一多
(武漢交通職業(yè)學(xué)院,湖北 武漢 430065)
行車是一種廣泛應(yīng)用的起重裝置,隨著我國經(jīng)濟(jì)的騰飛和建筑行業(yè)的發(fā)展,無論是地鐵施工,還是高樓大廈的建設(shè),行車都是不可或缺的設(shè)備。由于行車的購買成本、停放費(fèi)用、維護(hù)和管理費(fèi)用都是一筆不小的開支,大多數(shù)施工單位都是采用租賃的方式使用行車,因此對租賃方就產(chǎn)生了租期管理的問題。由于長期以來對行車的租賃都是粗放的人工管理方式,有時會因?yàn)樽饨饐栴}引發(fā)諸多矛盾,甚至引起經(jīng)濟(jì)糾紛,因此迫切的需要一種全自動的系統(tǒng)可以有效的對行車使用時間進(jìn)行管理,解決租金拖欠、賴賬等問題。目前市場上的定時裝置均無法滿足行車管理的要求,行車使用時間控制系統(tǒng)應(yīng)運(yùn)而生。
本系統(tǒng)在綜合了市場上通用定時裝置的所有優(yōu)點(diǎn)的同時,也有自己的特點(diǎn):
(1)創(chuàng)造性的提出了基于STC12C5A單片機(jī)的高智能全開放性的行車使用時間控制系統(tǒng),即考慮到了定時時間的準(zhǔn)確性和可靠性,也考慮了用戶對時間設(shè)定的靈活性要求,用程序?qū)r間進(jìn)行設(shè)定和控制。
(2)克服了普通單片機(jī)系統(tǒng)對電源的依賴。普通的51單片機(jī)在斷電時存儲的數(shù)據(jù)會全部丟失,本系統(tǒng)可以在斷電時將時間等信息保存在EEPROM中,在電源恢復(fù)后再將保存的數(shù)據(jù)取出來。
(3)切實(shí)實(shí)現(xiàn)了低功耗、低成本,保證了系統(tǒng)的實(shí)用性和可推廣性。系統(tǒng)的功耗約600毫瓦,若以兩節(jié)普通5號電池供電至少可用半年;系統(tǒng)除開發(fā)費(fèi)用外的硬件制作成本不及普通行車一天的租金。
系統(tǒng)由單片機(jī)、定時器DS1302、模擬開關(guān)MAX4624等三部分組成。具有與計(jì)算機(jī)進(jìn)行串口通信的功能,方便用戶用計(jì)算機(jī)將行車使用時間傳輸?shù)絾纹瑱C(jī)。單片機(jī)接收后將時間存儲于EEPROM并結(jié)合定時器計(jì)時,在時間到期時切斷行車電源。該系統(tǒng)的物理結(jié)構(gòu)如圖1所示。
圖1 行車使用時間控制系統(tǒng)總體結(jié)構(gòu)圖
考慮到實(shí)際施工過程中的某些需要,時間結(jié)束時有些工作還沒做完,設(shè)定了一個緊急開關(guān),按下開關(guān)后,定時器可以再延長半小時再切斷電源,僅此一次。
STC12C5A系列單片機(jī)主要性能:
高速:1個時鐘/機(jī)器周期,增強(qiáng)型8051內(nèi)核,速度比普通8051快8~12倍。
寬電壓:5.5~3.3V,2.2~3.6V(STC12LE5A60S2系列)。
增加外部掉電檢測電路??稍诘綦姇r,及時將數(shù)據(jù)保存進(jìn)EEPROM,正常工作時無需操作EEPROM。
低功耗設(shè)計(jì):空閑模式(可由任意一個中斷喚醒)。
低功耗設(shè)計(jì):掉電模式(可由外部中斷喚醒),可支持下降沿/上升沿和遠(yuǎn)程喚醒。
工作頻率:0~35MHz,相當(dāng)于普通8051的10倍。
芯片內(nèi)EEPROM功能,擦寫次數(shù)10萬次以上。
除了優(yōu)越的性價比之外,STC12C5A單片機(jī)與一般單片機(jī)相比增加了EEPROM功能,可以在掉電后很好的保存數(shù)據(jù)。這就類似于公交卡充值,在充值前可以很方便的查詢到剩余值,本系統(tǒng)設(shè)定時間前也能查詢到前次使用剩余的時間。為了降低系統(tǒng)的功耗,實(shí)際應(yīng)用是采用了供電電壓為2.2~3.6V的低壓單片機(jī),這樣整個系統(tǒng)用兩節(jié)干電池供電即可。
表1 STC12C5A系列單片機(jī)的內(nèi)部EEPROM地址表
STC12C5A單片機(jī)利用ISP/IAP技術(shù)將內(nèi)部Data Flash當(dāng)EEPROM,擦寫次數(shù)10萬次以上,可以根據(jù)表1的地址對EEPROM進(jìn)行字節(jié)讀/字節(jié)編程/扇區(qū)擦除等操作,注意讀操作的地址與編程操作的地址要一致。
圖2 DS1302與單片機(jī)連接電路圖
單片機(jī)有內(nèi)部定時器,但是斷電后無法工作,考慮到系統(tǒng)的可靠性,采用了外部定時器DS1302(見圖2)。DS1302是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時時鐘電路,它可以對年、月、日、周、時、分、秒進(jìn)行計(jì)時,具有閏年補(bǔ)償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個31×8的用于臨時性存放數(shù)據(jù)的RAM寄存器。
用來切斷電源的器件很多,晶體管和場效應(yīng)管都是常用的器件,但這些器件都要配合電阻使用,本系統(tǒng)考慮到盡可能的降低功耗,采用模擬開關(guān)MAX4624對行車電源進(jìn)行控制(見圖3),其內(nèi)阻僅為0.5歐姆,使用簡單,用單片機(jī)一個引腳連接即可。當(dāng)引腳為高電平時,電路導(dǎo)通;反之則斷開。
圖3 MAX4624結(jié)構(gòu)圖
模擬開關(guān)4腳與單片機(jī)的P1.5腳連接,當(dāng)4腳為高電平時,電路才導(dǎo)通。1腳引出P1接行車的電源控制線,連接圖如圖4。
圖4 MAX4624連接圖
單片機(jī)對EEPROM的操作主要有讀取、擦除、寫入三種。時間讀取可以用下列程序完成:
temph=Byte_Read(0x0000);//從地址0000處讀取時間的高位字節(jié)
templ=Byte_Read(0x0001);//從地址0001處讀取時間的低位字節(jié)
time=temph*256+templ;//計(jì)算讀到的時間
需要注意的是,時間的存儲只用了兩個字節(jié),因此能保存的最大的數(shù)據(jù)為216-1=65535,即能夠設(shè)定的最長時間不超過65535分鐘(45天左右),滿足實(shí)際租賃過程中租金按月結(jié)算的要求,若需要更長的時間,就增加更多的存儲字節(jié)。
DS1302的操作必須嚴(yán)格按照其時序圖進(jìn)行,芯片的中文說明書提供了Read_DS1302()和Write_DS1302()兩個函數(shù)分別用來對芯片進(jìn)行讀和寫,極大的方便了用戶編程。秒、分鐘、小時讀取的地址分別為0x81、0x83、0x85。編程試分別從這三個地址讀取時間即可。
本系統(tǒng)在實(shí)驗(yàn)室經(jīng)過嚴(yán)格的測試,已經(jīng)應(yīng)用于武漢市內(nèi)部分施工現(xiàn)場,尤其以低功耗、低價位深得用戶青睞。系統(tǒng)還可以繼續(xù)改進(jìn),可以增加液晶顯示器顯示剩余時間,以便用戶及時去設(shè)定新的時間;可以增加鍵盤,以便在沒有計(jì)算機(jī)的情況下,通過鍵盤來設(shè)定使用時間。本系統(tǒng)不僅可以用于行車,還可以用于其它不同的機(jī)械租賃,只需更改電路接口即可,相信在不久的將來,本系統(tǒng)可以走出省外,推廣全國,必將有更廣闊的應(yīng)用前景。
[1]何立民.單片機(jī)高級教程應(yīng)用與設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2000:10-15.
[2]徐愛鈞.單片機(jī)高級語言C51Windows環(huán)境編程與應(yīng)用[M].北京:電子工業(yè)出版社,2001:20-70.
[3][美]赫伯物·希爾特,著.C語言大全(第四版)[M].王子恢,戴健鵬,等,譯.北京:電子工業(yè)出版社,2001:41-42.
[4]譚浩強(qiáng),等.C語言程序設(shè)計(jì)教程(第2版)[M].北京:高等教育出版社,1998:35-80.
[5]DS1302DataSheet[EB/OL].[2012-06-28].www.dalsemi.com.