多功能發(fā)動機轉速模擬器設計
3 系統(tǒng)軟件設計
本系統(tǒng)的軟件流程如圖7所示。它包括頻率/轉速測量、串行A/D轉換值讀取、數值顯示及相關處理部分。
3.1 頻率/轉速測量軟件設計
當電路一上電,MAX813L產生復位信號,促使單片機復位,程序跳至起始地址0000h,首先對內部寄存器和MAX7219初始化,如TO、T1、TMOD,接著對TO、T1、EXl開中斷。喂狗語句放在循環(huán)查詢處,給MAX813L喂狗的時間間隔應小于1.6 s,否則它將再次產生復位信號,擾亂程序的正常運行。接著檢測P1.3腳,若為低電平,則執(zhí)行串行A/D轉換值的讀取程序;若為高電平,則單片機在信號下降沿被觸發(fā)中斷,開通T1定時、TO計數。當T1定時1 s到,關閉TO、T1,讀取TO值后,再對TO、T1開中斷,重新計時計脈沖數。接著計算(T0值乘以2)、判斷(當不超過9999或等于O時,定為合法,并置FLAG標志),然后送MAX7219,經其譯碼后在LED上顯示,并有頻率指示燈亮,告知使用者顯示的是頻率值,以便根據所需調整旋扭W1(見圖2),使發(fā)生器發(fā)出想要的頻率值信號,這就是測量信號頻率的原理;若數值不合法,LED將不顯示或顯示O,此時應調整W1直到合法。外來信號的頻率測量和顯示程序同前(需將扭轉開關旋到輸入檔)。若P2.7腳為低電平,則測量的是發(fā)動機的轉速,需將前面的頻率值代入轉速公式(2):
n=(f?60)/k (2)
式中:n為柴油機轉速(r/min),f為所測到的頻率值(Hz),k為發(fā)動機測速齒輪的齒數。
可見單片機需要讀取齒數值,然后計算并判斷(n不大于9999),并送LED顯示。需注意的是:上面所講的是先通過在1 s時間內對轉速脈沖信號的個數進行累加計數,再代入公式(2)計算轉速。這種測量方法稱為測頻法。當發(fā)動機在低速下運轉時,則要使用測周期法:先測出脈沖平均周期,然后使用除法算出頻率值,代入轉速公式計算,顯示后跳至循環(huán)查詢處,然后使用除法算出頻率值,代入轉速公式計算,顯示后跳至循環(huán)查詢處,并繼續(xù)查詢定時中斷。
3.2 串行A/D轉換值的讀取軟件設計
由于MAXl44與單片機的接口十分簡單,只需3根I/O線即可,故本系統(tǒng)使用單片機的P1.O、P1.1、P1.2。該電路采用內部時鐘模式,單片機通過編程產生串行時鐘,并按時序讀出數據,其A/D轉換后的數據(16位)可以存于MAXl44內部的存儲單元R2、R3中,通過標志位CHID可以區(qū)分CHO和CHl通道,然后將高4位屏蔽即可得到實際的A/D轉換數據,利用ANL R3,OFH將高4位屏蔽。該程序結束后,R3內為A/D轉換的12位數據的高4位,R2中為低8位,然后利用單片機內設定的程序轉換(OFFFH對應為2.048V,即20.48 mA;0000H對應為OV,即O mA),即可顯示電流值的大小。
結 語
本多功能發(fā)動機轉速模擬器使用器件少,成本低,調節(jié)方便,易于實現。通過調試發(fā)現,只要阻容元件的溫度系數低,則輸出頻率、電流是相當穩(wěn)定的,因此性價比高。該多功能轉速模擬器的使用情況表明,其可靠性好、輸出穩(wěn)定、攜帶方便。
評論