基于51單片機的車(chē)用數字儀表設計與實(shí)現(圖)
關(guān)鍵詞: mcs 51單片機;傳感器;車(chē)用數字儀表
引言
---車(chē)輛儀表是駕駛員與汽車(chē)進(jìn)行信息交流的重要接口和界面,是車(chē)輛安全行駛的重要保證。隨著(zhù)電子技術(shù)的廣泛應用,傳統汽車(chē)儀表逐漸被微處理器為核心的電子控制數字儀表取代已成為必然趨勢。然而,目前國內車(chē)輛儀表數字化水平還不高,絕大部分儀表還是模擬式的,而大多數模擬儀表表頭的體積較大、數量多,使得顯示系統擁擠不堪,影響美觀(guān);另外一些模擬儀表故障率高,增加了用戶(hù)的經(jīng)濟負擔,減小了車(chē)輛行使的安全系數。
---為克服這些缺點(diǎn),文中提出用51單片機、模/數轉換器件adc0809及霍爾開(kāi)關(guān)及數字式溫度傳感器ds18b20等對其進(jìn)行技術(shù)改進(jìn),設計并實(shí)現了新型全數字儀表系統,該儀表系統有顯示直觀(guān)準確、靈敏度高、使用壽命長(cháng)、靈巧美觀(guān)、成本低等優(yōu)點(diǎn)。
1系統組成及工作原理
---本系統功能由硬件和軟件兩大部份協(xié)調完成,硬件部分主要完成各種傳感器信號的采集、轉換,各種信息的顯示等;軟件主要完成信號的處理及控制功能等。
---其工作原理是89c51單片機依次查詢(xún)各傳感器的輸出信號(氣壓、油壓等模擬傳感器輸出的模擬信號需要經(jīng)過(guò)adc0809進(jìn)行模數轉換); 然后89c51對輸入信號進(jìn)行相應處理后通過(guò)顯示模塊44780輸出,同時(shí)還可輸出各種告警信號。
2硬件構成
---該系統硬件主要包括以下幾個(gè)模塊: 89c51主控模塊、傳感器模塊、adc0809模/數轉換模塊、44780顯示模塊等。其中89c51主要完成外圍硬件的控制以及一些運算功能,傳感器完成信號的采樣功能,adc0809完成將模擬信號轉換成數字信號的功能,44780顯示模塊完成字符、數字的顯示功能。
2.1 主控模塊
---系統采用atmel公司生產(chǎn)的at89c51單片機,它帶有4kb閃速式存儲器、128b內存,最大工作頻率24mhz,同時(shí),具有32條輸入輸出線(xiàn),16位定時(shí)/計數器,5個(gè)中斷源,1個(gè)串行口。
2.2 溫度傳感器ds18b20
---ds18b20是dallas公司推出的單線(xiàn)數字式測溫芯片,它能在現場(chǎng)采集溫度數據,并將溫度數據直接轉換成數字量輸出。ds18b20與at89c51的接口電路圖如圖2所示,其中ds18b20工作在外部電源供電方式,單片機89c51采用p2.0和ds18b20通信。
2.3 44780顯示模塊
---本系統采用44780驅動(dòng)的lcd,hd44780(ks0062)是用低功耗cmos技術(shù)制造的大規模點(diǎn)陣lcd控制器(兼帶驅動(dòng)器),和4bit/8bit微處理器相連,它能使點(diǎn)陣lcd顯示大小寫(xiě)英文字母、數字和符號等豐富的信息,同時(shí)有較強的通用性應用,使用方便,用戶(hù)能用少量元件就可組成一個(gè)完整點(diǎn)陣lcd系統,送入相關(guān)的數據和指令就可實(shí)現所需的顯示。
---44780顯示模塊有8條數據線(xiàn),3條控制線(xiàn)??膳c微處理器或微控制器相連,通過(guò)送入數據和指令,就可使模塊正常工作,44780顯示模塊和89c51單片機連接電路如圖3所示。
---需要說(shuō)明的是,真正投入使用的顯示模塊需要根據車(chē)輛生產(chǎn)廠(chǎng)家對儀表顯示界面的具體需求到液晶生產(chǎn)公司定制。
2.4 a/d轉換模塊
---由于本系統需處理多路模擬信號,故采用adc0809 a/d轉換模塊,它采用逐次逼近的方法完成a/d轉換;其片內帶有鎖存功能的8 路模擬開(kāi)關(guān),可對8路0~5v的輸入模擬電壓信號進(jìn)行轉換, 完成一次轉換約需100μs。其輸出具有ttl三態(tài)鎖存緩沖器,可直接接到單片機89c51的p0口。 adc0809 與89c51接口電路如圖4所示。
2.5 測速傳感器
---經(jīng)調查,速度傳感器是車(chē)輛傳感器中的易損器件,所以該系統對測速傳感器進(jìn)行了改進(jìn),測速傳感器由霍爾開(kāi)關(guān)、磁鐵組成。其工作原理是將霍爾開(kāi)關(guān)和磁鐵分別安裝在車(chē)架、車(chē)輪的適當位置,車(chē)輛行駛時(shí),在磁鐵的作用下,霍爾開(kāi)關(guān)產(chǎn)生開(kāi)關(guān)信號,通過(guò)在單位時(shí)間對其計數可計算出車(chē)輛的行駛的瞬時(shí)速度,累計開(kāi)關(guān)信號可計算出車(chē)輛行使的距離。它具有靈敏度高、價(jià)格低廉、不易損壞等優(yōu)點(diǎn)。
2.6 其他模擬傳感器
---氣壓、油壓、油量等參數的測量采用模擬傳感器,其輸出的模擬信號通過(guò)adc0809模數轉換后輸入單片機89c51,經(jīng)過(guò)相應軟件處理后輸出。
2.7 抗干擾設計
---由于本儀表系統是為汽車(chē)、摩托車(chē)設計的,而汽車(chē)、摩托車(chē)的點(diǎn)火系統有較強的電磁干擾,另外車(chē)輛移動(dòng)性大,有可能處于較強電磁干擾的環(huán)境中,因此必須采取抗干擾措施,否則系統難以穩定、可靠運行。本系統采用的是由硬件和軟件相結合的抗干擾措施。
---具體地講,該系統主要采用了以下五個(gè)方面的抗干擾措施。
---采用抗干擾電源:
---單片機系統供電線(xiàn)路是干擾的主要來(lái)源,本系統的電源由車(chē)載電瓶提供,車(chē)輛的點(diǎn)火系統、音響設備等都可能對本系統產(chǎn)生干擾,為此,可將車(chē)載電瓶12v電源經(jīng)磁珠和電容組成π形濾波電路后,再經(jīng)過(guò)ua7805c變壓,然后經(jīng)過(guò)穩壓、濾波得到本系統電源。另外給每個(gè)集成電路芯片都安置一個(gè)0.01mf的陶瓷電容器,來(lái)消除大部分高頻干擾。同時(shí),良好接地是系統穩定工作的重要條件,由于本系統既有模擬電路又有數字電路,因此設計時(shí)將數字地與模擬地要分開(kāi),最后只在一點(diǎn)相連。
---光電隔離:
---在i/o通道上采用光電隔離器,將單片機系統與各種傳感器、開(kāi)關(guān)從電氣上隔離開(kāi)來(lái),很大一部分干擾可被阻擋。本系統的測速子系統輸出的開(kāi)關(guān)信號經(jīng)光電隔離器4n33耦合至單片機p3.2口。
---過(guò)壓保護電路:
---本系統在輸入輸出通道上也設計了過(guò)壓保護電路,它由限流電阻和穩壓管組成,以防止引入高電壓,損害單片機系統?!?BR>---另外,本系統中,為消除按鈕動(dòng)作時(shí)產(chǎn)生抖動(dòng)干擾,在按鍵與89c51間加入一個(gè)schmitt觸發(fā)器74hc14。
---模/數轉換電路的抗干擾措施:
---本系統模/數轉換模塊adc0809送出的數字信號經(jīng)鎖存器鎖存后傳送給單片機,鎖存器對干擾非常敏感,當鎖存線(xiàn)上出現干擾時(shí),會(huì )盲目鎖存當前數據,為此可將鎖存器與單片機設計在同一電路板上,使傳輸線(xiàn)上傳送的是已經(jīng)鎖存好的控制信號。設計軟件時(shí),盡可能快地重復輸出同一個(gè)信號,以減小干擾信號影響的概率。
---cpu抗干擾措施:
---當干擾信號作用到單片機本身時(shí),單片機將不能按正常狀態(tài)執行程序,從而引起混亂。為此本系統采用了以下幾種方法。
---人工復位:當微處理器失控時(shí),可使用復位方法處理,使程序自動(dòng)從0000h開(kāi)始執行。為此系統設置了復位鍵,當微處理器失控時(shí),只要按下復位鍵,并持續10ms以上即可。
---掉電保護:因為當車(chē)輛顛簸的路況時(shí),可能引起電源等接觸不良,使系統陷入混亂狀態(tài),電源電壓恢復正常后,系統難以恢復正常。為此系統設計了掉電保護。掉電信號由硬件電路檢測到,加到單片機的外部中斷輸入端。將掉電中斷規定為高級中斷,使系統及時(shí)對掉電做出反應。在掉電中斷子程序中,首先進(jìn)行現場(chǎng)保護,當電源恢復正常時(shí),單片機重新復位,恢復現場(chǎng),繼續工作。至于程序跑飛,可以用軟件陷阱和看門(mén)狗將程序拉回到復位狀態(tài)。具體的講,可以在ram中埋一些標志,在每次程序復位時(shí),通過(guò)這些標志,可以判斷復位原因并根據不同的標志直接跳到相應的程序。這樣可以使程序運行有連續性,用戶(hù)在使用時(shí)也不易察覺(jué)到程序被重新復位過(guò)。
3 軟件設計
---該系統軟件主要由主程序、中斷子程序、數據采集與a/d轉換子程序、顯示子程序、告警子程序等六大模塊組成,因為c語(yǔ)言編寫(xiě)的軟件易于實(shí)現模塊化,生成的機器代碼質(zhì)量高、可讀性強、移植好,所以本系統的軟件采用c語(yǔ)言編寫(xiě),在keil vision3 demo版本的集成開(kāi)發(fā)環(huán)境下進(jìn)行編譯連接。
3.1主程序設計
---主程序主要完成硬件初始化、子程序調用等功能,主程序流程圖如圖5所示。
3.2數據采集子程序設計
---數據采集與a/d轉換子程序根據輸入參數對相應的模擬信號進(jìn)行采樣、量化及處理,并將相應信號的數值返回主程序。
3.3顯示子程序設計
---顯示子程序完成符號、數值的顯示輸出。
3.4中斷子程序設計
---中斷子程序有三種中斷源:鍵盤(pán)、車(chē)輪(車(chē)輪每轉一圈產(chǎn)生一個(gè)中斷脈沖)及掉電保護電路,分別完成面板功能設置、測速功能和掉電保護。由于本系統中斷源共有6個(gè),所以用優(yōu)先權編碼器(74ls148)對外部中斷源進(jìn)行了擴展。
3.5告警子程序
---主要實(shí)現異常情況下控制告警信號輸出。如當冷卻液溫度升高到接近沸點(diǎn)(例如95~98℃)時(shí),或燃油箱內的燃油量少于某一規定值時(shí),音頻告警裝置會(huì )發(fā)出不同頻率的告警信號,同時(shí)相應的指示燈發(fā)亮(點(diǎn)亮告警指示燈的任務(wù)由顯示子程序來(lái)完成),以引起駕駛員的注意。
4 仿真與調試
4.1仿真器選擇
---本系統選用me-52單片機仿真開(kāi)發(fā)系統,它實(shí)時(shí)仿真頻率高達33mhz,提供2~24mhz的時(shí)鐘信號。同時(shí)它提供64kb程序代碼存儲器,支持仿真所有程序和數據地址空間,支持franklin v3.xx/keil 6.xx編譯連接工具。具有分別獨立控制項目文件的項目管理器。另外具有vc++風(fēng)格的窗口駐留,窗口動(dòng)態(tài)切分和工作簿模式窗口界面。
4.2仿真調試
---在仿真調試階段,采用“自底向上逐步集成”的策略,逐模塊進(jìn)行仿真測試,在此基礎上逐步集成。譬如可先仿真顯示模塊、測速子模塊、測溫子模塊等,然后將仿真成功的模塊逐個(gè)加入主程序進(jìn)行仿真,在仿真過(guò)程中發(fā)現錯誤,采用“分塊壓縮策略”,快速找到并改正錯誤;注意在集成過(guò)程中出現問(wèn)題,大多是由于模塊間資源使用沖突引起的。當軟件模塊仿真成功后,可與硬件一起進(jìn)行在線(xiàn)仿真,此時(shí)在調試中出現的問(wèn)題大多是由于連接線(xiàn)連接錯誤、虛焊、布線(xiàn)不合理等原因造成的。
5 結束語(yǔ)
---隨著(zhù)電子技術(shù)的廣泛應用,車(chē)輛儀表顯示屏幕的液晶化必將成為一種發(fā)展趨勢,文中提出利用51單片機和新型傳感器對車(chē)用儀表進(jìn)行改進(jìn),目前原型機已取得成功。運行結果表明,新型數字儀表系統可靠性高、使用方便,下一步將在此基礎上開(kāi)發(fā)綜合信息系統,擴充顯示和控制的信息種類(lèi),如:交通地圖信息、行程信息、網(wǎng)絡(luò )信息、電話(huà)信息、控制空調系統及音響系統等,給用戶(hù)提供更大的方便。
參考文獻
1 邵貝貝. 單片機系統可靠性技術(shù)及發(fā)展. 電子產(chǎn)品世界,1998,8:20-21
2 張毅剛,彭喜源,譚曉昀等. mcs-51單片機應用設計[m] .哈爾濱工業(yè)大學(xué)出版社,1997
3 張培仁,孫占輝,張村峰等. mcs-51單片機原理及應用[m].清華大學(xué)出版社,2002
相關(guān)推薦
技術(shù)專(zhuān)區
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線(xiàn)
- 開(kāi)關(guān)電源
- 單片機
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機控制
- 藍牙
- PLC
- PWM
- 汽車(chē)電子
- 轉換器
- 電源管理
- 信號放大器
評論