基于單片機的智能型客車超載監(jiān)控系統(tǒng)設(shè)計
2. 2 單片機系統(tǒng)
單片機系統(tǒng)主要用來實現(xiàn)對上、下車人數(shù)的加、減計數(shù)。單片機系統(tǒng)的設(shè)計中,考慮到系統(tǒng)中的程序量和數(shù)據(jù)量較少,需要的I/ O 口資源也相對較少,AT2MEL 公司的A T89C51 芯片的資源就能很好的滿足系統(tǒng)的需求,所以在系統(tǒng)設(shè)計中采用了MCS251 系列單片機AT89C51 芯片的最小系統(tǒng)來實現(xiàn)。AT89C51 是A TMEL 公司生產(chǎn)的一種低功耗、高性能的8 位CMOS微處理器芯片,與工業(yè)標準的8051 指令集及引腳分布相兼容,片內(nèi)有4KB 的E2PROM ,允許在線編程。
2. 3 控制模塊電路
控制模塊利用在單片機內(nèi)預(yù)先設(shè)定載客人數(shù),當上車人數(shù)超過此設(shè)定值時,單片機便通過繼電器控制客車的電子打火器,鎖定客車執(zhí)行機構(gòu),使客車無法啟動,并以L ED 顯示當前人數(shù),同時通過蜂鳴器發(fā)出報警。
制模塊電路電路組成如圖3 所示,包括L ED 數(shù)碼管顯示電路、報警電路和汽車執(zhí)行鎖定電路。在數(shù)碼管顯示電路設(shè)計中,將待顯示數(shù)據(jù)轉(zhuǎn)換為BCD 碼輸出,經(jīng)過共陰極數(shù)碼管譯碼驅(qū)動器74LS48 將BCD 碼轉(zhuǎn)換成七段碼送給數(shù)碼管顯示。報警電路比較簡單,當超載時,系統(tǒng)通過軟件控制蜂鳴器實現(xiàn)報警。
圖3 控制模塊電路
對汽車的鎖定電路中繼電器選用J RX13F 型12V直流常閉繼電器,其常閉觸頭接在汽車的高壓回路中。
當打開啟動開關(guān)(即點火開關(guān)) 時,由于P2. 5 口處于低電平,所以繼電器不動作,對汽車正常工作沒有影響。
當車內(nèi)人數(shù)超過預(yù)定人數(shù),即超載時,單片機系統(tǒng)向P2. 5 送高電平,繼電器動作,其常閉觸頭斷開,切斷汽車的高壓回路,駕駛員無法啟動汽車發(fā)動機。當車內(nèi)人數(shù)恢復到預(yù)定人數(shù)以下時,單片機系統(tǒng)再次送低電平到P2. 5 口,繼電器動作,其常閉觸頭閉合,汽車又恢復正常的啟動,從而有效地限制了客車的超載行為。
3 系統(tǒng)軟件的設(shè)計與實現(xiàn)
按照整體方案的設(shè)計思想,系統(tǒng)程序框圖如圖4所示。首先初始化系統(tǒng),包括設(shè)置堆棧指針、設(shè)置定時器計數(shù)初值、設(shè)置定時器工作方式、設(shè)置中斷允許控制。將通用寄存器清零,用來存放車內(nèi)當前的乘客人數(shù),其中一個單元存放預(yù)定客車能乘載的最大乘客數(shù),然后將寄存器中存放的當前車內(nèi)乘客數(shù)放入累加器中,通過比較指令和單元的內(nèi)容比較,判斷當前車內(nèi)人數(shù)是否達到預(yù)定人數(shù)如果當前車內(nèi)人數(shù)小于預(yù)定人數(shù),則繼續(xù)對車內(nèi)人數(shù)進行判斷。如果當前車內(nèi)人數(shù)大于預(yù)定人數(shù),則跳轉(zhuǎn)到報警,使蜂鳴器報警,同時使繼電器動作,斷開汽車電子點火器。
圖4 程序框圖
程序還實現(xiàn)了對車內(nèi)人數(shù)的實時顯示。對當前車內(nèi)人數(shù)進行循環(huán)判斷,當車內(nèi)人數(shù)小于預(yù)定人數(shù)時,要隨時清除報警程序,使繼電器的常閉觸頭閉合,以便汽車能再次正常啟動。在顯示子程序中,主要實現(xiàn)的是將外部中斷所產(chǎn)生的計數(shù)值, 由十六進制轉(zhuǎn)換為8 位BCD 碼,然后進行顯示。
4 結(jié)語
本文通過對客車人數(shù)的檢測和計算,較好的完成了客車超載的預(yù)警提示。系統(tǒng)運行穩(wěn)定、可靠、快速、準確,結(jié)果能夠?qū)崟r顯示,且具有抗干擾能力強、操作方便等優(yōu)點。
紅外遙控器相關(guān)文章:紅外遙控器原理
評論