- 相關(guān)推薦
智能速度里程表設(shè)計(jì)
摘要:給出了以AT89C2051為核心,利用單片機(jī)的運(yùn)算和控制功能,并采用串口液晶顯示模塊實(shí)時(shí)顯示所測(cè)速度和里程的速度里程表設(shè)計(jì)方案。該方案由于使用了串口液晶顯示模塊和E2PROM,以及高效快速算法,因而可在節(jié)約系統(tǒng)資源和簡(jiǎn)化程序設(shè)計(jì)的基礎(chǔ)上保證測(cè)量精度和系統(tǒng)實(shí)時(shí)性。1 系統(tǒng)概述
1.1 系統(tǒng)組成
本速度里程表由信號(hào)預(yù)處理電路、AT89C2051單片機(jī)、串口液晶顯示電路、串口數(shù)據(jù)存儲(chǔ)電路和系統(tǒng)軟件組成。其中信號(hào)預(yù)處理電路包含信號(hào)放大、波形變換和波形整形。系統(tǒng)硬件框圖如圖1所示。信號(hào)預(yù)處理電路中的放大器用于對(duì)待測(cè)信號(hào)進(jìn)行放大,以降低對(duì)待測(cè)信號(hào)的幅度要求;波形變換和波形整形電路則用來(lái)將放大的信號(hào)轉(zhuǎn)換成可與單片機(jī)接口的TTL信號(hào);通過單片機(jī)的設(shè)置可使INT0引腳能夠?qū)?nèi)部定時(shí)器T0的工作進(jìn)行控制,這樣能精確地測(cè)出加到INT0引腳的正脈沖寬度(即測(cè)出脈沖信號(hào)的周期);速度顯示部分采用串口液晶顯示模塊,所得的數(shù)據(jù)采用I2C總線?并通過E2PROM來(lái)存儲(chǔ),因而節(jié)省了所需單片機(jī)的口線和外圍器件,同時(shí)也簡(jiǎn)化了顯示部分的軟件編程。
系統(tǒng)軟件包括單片機(jī)和液晶模塊的初始化模塊、液晶模塊的寫數(shù)據(jù)/命令子模塊、周期測(cè)量模塊、速度里程計(jì)算模塊、數(shù)據(jù)存儲(chǔ)模塊、速度和里程顯示數(shù)據(jù)轉(zhuǎn)BCD碼模塊、顯示數(shù)據(jù)消多余零模塊、數(shù)據(jù)顯示模塊以及實(shí)時(shí)中斷服務(wù)模塊等。
1.2 系統(tǒng)工作原理
該設(shè)計(jì)能實(shí)時(shí)地將所測(cè)的速度顯示出來(lái),同時(shí)也能夠累計(jì)顯示總里程數(shù)。該速度里程表能將傳感器輸入到單片機(jī)的脈沖信號(hào)的寬度(傳感器將車速轉(zhuǎn)變成相應(yīng)寬度的脈沖信號(hào))實(shí)時(shí)地測(cè)量出來(lái),然后通過單片機(jī)計(jì)算出速度和里程,再將所得的數(shù)據(jù)存儲(chǔ)到串口數(shù)據(jù)存儲(chǔ)器,并由串口液晶顯示模塊實(shí)時(shí)顯示出所測(cè)速度。本設(shè)計(jì)用兩個(gè)按鍵來(lái)控制顯示速度或里程。考慮到信號(hào)的衰減、干擾等影響,在信號(hào)送入單片機(jī)前應(yīng)對(duì)其進(jìn)行放大整形,然后再輸入到單片機(jī)進(jìn)行測(cè)速。單片機(jī)利用定時(shí)器T0的控制功能測(cè)出輸入信號(hào)的周期后,再利用單片機(jī)的算術(shù)運(yùn)算功能將周期轉(zhuǎn)換成速度,同時(shí)每秒鐘進(jìn)行一次里程累計(jì),從而計(jì)算出總里程。最后將得出的速度、里程值存儲(chǔ)在E2PROM中,并根據(jù)兩個(gè)按鍵的選擇情況來(lái)顯示速度或里程。為了方便計(jì)算要顯示數(shù)據(jù)值的段碼,可再將其轉(zhuǎn)換成壓縮的BCD碼,然后通過查表將要顯示的數(shù)據(jù)值中每一位的壓縮BCD碼轉(zhuǎn)換成8段碼送到顯示緩沖區(qū),最后經(jīng)串口送至液晶顯示模塊以顯示所測(cè)的速度或里程。
設(shè)計(jì)時(shí),應(yīng)綜合考慮測(cè)速精度和系統(tǒng)反應(yīng)時(shí)間。本設(shè)計(jì)用測(cè)量脈沖頻率來(lái)計(jì)算速度,因而具有較高的測(cè)速精度。為了保證系統(tǒng)的實(shí)時(shí)性,系統(tǒng)的速度轉(zhuǎn)換模塊和顯示數(shù)據(jù)轉(zhuǎn)BCD碼模塊都采用快速算法。另外,還應(yīng)盡量保證其它子模塊在編程時(shí)的通用性和高效性。本設(shè)計(jì)的速度和里程值采用8位顯示,并包含兩個(gè)小數(shù)位。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 信號(hào)預(yù)處理電路
系統(tǒng)的信號(hào)預(yù)處理電路如圖2所示。它由二級(jí)電路構(gòu)成,第一級(jí)是由開關(guān)三極管組成的零偏置放大器,采用開關(guān)三極管可以保證放大器具有良好的高頻響應(yīng)。當(dāng)輸入信號(hào)為零或負(fù)電壓時(shí),三極管截止,電路輸出高電平;而當(dāng)輸入信號(hào)為正電壓時(shí),三極管導(dǎo)通,此時(shí)輸出電壓隨著輸入電壓的上升而下降,這使得速度里程表既可以測(cè)量任意方波信號(hào)的頻率,也可以測(cè)量正弦波信號(hào)的頻率。由于放大器的放大功能降低了對(duì)待測(cè)信號(hào)的幅度要求,因此,系統(tǒng)能對(duì)任意大于0.5V的正弦波和脈沖信號(hào)進(jìn)行測(cè)量。預(yù)處理電路的第二級(jí)采用帶施密特觸發(fā)器的反相器CT74LS14來(lái)把放大器生成的單相脈沖轉(zhuǎn)換成與COMS電平相兼容的方波信號(hào)?同時(shí)將輸出信號(hào)加到單片機(jī)的P3.2口上。
2.2 單片機(jī)的選擇
速度里程測(cè)量電路選用AT89C2051作為頻率計(jì)的信號(hào)處理核心。AT89C2051包含2kB閃存、128B的RAM、15根I/O口線、2個(gè)16位定時(shí)計(jì)數(shù)器、5個(gè)向量二級(jí)中斷結(jié)構(gòu)和1個(gè)全雙工的串行口,同時(shí)還具有加密陣列的二級(jí)程序存儲(chǔ)器加鎖功能。設(shè)計(jì)中用到了AT89C2051的T0、T1 定時(shí)器和INT0引腳,以及P1端口的6個(gè)口線。由于該單片機(jī)與89C51相兼容,因此在硬件電路設(shè)計(jì)和軟件編程方面更加方便?紤]到AT89C2051本身固有的特點(diǎn),設(shè)計(jì)時(shí)需注意以下幾點(diǎn):首先,它的程序存儲(chǔ)器空間為2kB,因此所有的跳轉(zhuǎn)和分支轉(zhuǎn)移指令都要限制在這個(gè)范圍內(nèi)。其次,它沒有MOVX指令,也就是說,它不支持外部存儲(chǔ)器操作,這一點(diǎn)設(shè)計(jì)時(shí)一定要考慮到。此外,AT89C2051自身還有一些其它特點(diǎn),譬如可以使用命令使其工作在低功耗模式等。單片機(jī)利用T0定時(shí)器和INT0引腳來(lái)測(cè)量輸入方波信號(hào)的周期,而使用外部中斷0來(lái)控制定時(shí)器T0是否開始定時(shí)。當(dāng)定時(shí)器T0的運(yùn)行控制位復(fù)位時(shí),不管P3.2引腳是何值,定時(shí)器都不工作。只有當(dāng)定時(shí)器T0的運(yùn)行控制位置位后,才能根據(jù)P3.2引腳狀態(tài)來(lái)決定定時(shí)器是否工作。當(dāng)P3.2引腳出現(xiàn)高電平時(shí),定時(shí)器T0開始定時(shí);而在其出現(xiàn)低電平時(shí),定時(shí)器T0停止工作,并將測(cè)量信號(hào)的周期保存在定時(shí)器的16位寄存器中。系統(tǒng)初始化時(shí),可通過設(shè)置使T0 和T1定時(shí)器工作在模式1方式。T1定時(shí)器主要用于形成1秒鐘定時(shí)信號(hào),用以為測(cè)量里程提供時(shí)間條件。
2.3 液晶顯示電路和數(shù)據(jù)存儲(chǔ)電路
本設(shè)計(jì)的顯示部分采用液晶顯示模塊LCM0825?該模塊與單片機(jī)的接口電路如圖3所示。LCM0825是8位段碼式液晶顯示模塊,它內(nèi)部集成有LCD控制
【智能速度里程表設(shè)計(jì)】相關(guān)文章:
淺談智能移動(dòng)電話與移動(dòng)智能網(wǎng)的發(fā)展08-08
LED農(nóng)業(yè)智能化與光通訊智能化05-01
智能網(wǎng)業(yè)務(wù)的網(wǎng)間互通05-30
智能住宅中的信息家電05-30
移動(dòng)智能網(wǎng)中的呼叫前轉(zhuǎn)08-10
基于軟交換的固網(wǎng)智能化05-11
crm中的決策支持系統(tǒng)與貿(mào)易智能02-23