摘要:目前數字萬用表已取代模擬萬用表廣泛使用。普通數字式萬用表測量電壓時,不能實時記錄電壓變化。設計出了一種基于單片機的具有記錄功能的簡易電壓表,經試用,該電壓表對于電壓的動態測量采集取得了較好的效果。
關鍵詞:數字電壓表單片機模數轉換
0 引言
數字萬用表作為電氣參數測量的必備工具已取代模擬萬用表廣泛使用,但普通數字式萬用表測量電壓時,反應速度慢,不能實時記錄電壓變化,而具有存儲功能的數字示波器價格高體積大,使用不便。設計出了一種基于單片機的具有記錄功能的簡易電壓表,經試用,該數字式電壓表可用于電壓的動態測量采集,并取得了較好的效果。該數字表稍加改進可用于電流、電阻等參數的動態測量采集。
1 系統結構
簡易數字電壓表系統結構如圖1所示,由單片機、放大電路、LCD顯示模塊、按鍵和電源模塊。配通訊適配器,可通過RS232C接口與PC通訊,實現在線測量。
2 硬件設計
LCD顯示模塊采用LCD1602A。LCD1602A內置字符發生器ROM,可提供160種工業標準字符,包括全部大小寫字母、阿拉伯數字及日文片假名以及32個特殊字符或符號,容量為16×2字符,可據微處理器供電電壓選擇DC3.3V或DC5V供電方式。DC5V供電時工作電流2mA,適用于低功耗便攜式儀器儀表。LCD1602A引腳功能見表1,指令見表2。
單片機使用深圳宏晶STC12LE5A60S2,該型號單片機DC3.3V供電,內部集成8路10位A/D,轉換速度達25萬次/秒,用于外部電壓信號的采集;集成的1280字節RAM用于存儲采集數據,緩沖PC通訊數據;集成2路串行通訊接口,通過通訊適配器實現與PC機通訊。
電源模塊采用鋰電池供電,通過穩壓模塊LM1117實現DC3.3V輸出,為單片機和LCD液晶模塊提供電源。放大電路采用LM358設計的同相比例放大電路。通訊適配器采用MAX3232CPE制作,該芯片支持DC3V-5V工作電壓,可將TTL電平轉換為RS232C邏輯。
3 軟件設計
軟件由主程序、定時中斷服務程序和串口通訊中斷服務程序構成。主程序,流程圖如圖2所示,完成定時器、串行通訊口、LCD1602和ADC的初始化后,循環檢測用戶按鍵狀態并實事顯示測量電壓信息。用戶通過按鍵調節采樣頻率,確定是否將A/D數據上傳上位機。
定時中斷服務程序,流程圖如圖3所示,主要完成A/D的采集。考慮到啟動A/D轉換后需等待轉換完成,則設定A/D的讀取在下一次定時時間到時讀取,在上位機顯示界面中可以加時間修正。下位機由于采用LCD1602液晶,顯示刷新頻率不高,可以忽略這短暫延時。

串口通訊中斷服務程序實現單片機與上位PC機通訊。由于采用RS232C接口,受通訊速率的影響,建議實時采樣頻率設定不高于500次/S。
4 結論
具有記錄功能的簡易數字電壓表設計,不僅能夠記錄最近測量的數百次數值還能夠將采集到的數據實時發送上位機動態顯示和保存。