數字電壓表設計論文

時間:2022-02-18 10:18:00

導語:數字電壓表設計論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

數字電壓表設計論文

數據采集電路的原理

在單片機數據采集電路的設計中,做到了電路設計的最小化,即沒用任何附加邏輯器件做接口電路,實現了單片機對AD678轉換芯片的操作。

AD678是一種高檔的、多功能的12位ADC,由于其內部自帶有采樣保持器、高精度參考電源、內部時鐘和三態緩沖數據輸出等部件,所以只需要很少的外部元件就可以構成完整的數據采集系統,而且一次A/D轉換僅需要5ms。

在電路應用中,AD678采用同步工作方式,12位數字量輸出采用8位操作模式,即12位轉換數字量采用兩次讀取的方式,先讀取其高8位,再讀取其低4位。根據時序關系,在芯片選擇/CS=0時,轉換端/SC由高到低變化一次,即可啟動A/D轉換一次。再查詢轉換結束端/EOC,看轉換是否已經結束,若結束則使輸出使能/OE變低,輸出有效。12位數字量的讀取則要控制高字節有效端/HBE,先讀取高字節,再讀取低字節。整個A/D操作大致如此,在實際開發應用中調整。

由于電路中采用AD678的雙極性輸入方式,輸入電壓范圍是-5~+5V,根據公式Vx10(V)/4096*Dx,即可計算出所測電壓Vx值的大小。式中Dx為被測直流電壓轉換后的12位數字量值。

RS232接口電路的設計

AT89S51與PC的接口電路采用芯片Max232。Max232是德州儀器公司(TI)推出的一款兼容RS232標準的芯片。該器件包含2個驅動器、2個接收器和1個電壓發生器電路提供TIA/EIA-232-F電平。Max232芯片起電平轉換的功能,使單片機的TTL電平與PC的RS232電平達到匹配。

串口通信的RS232接口采用9針串口DB9,串口傳輸數據只要有接收數據針腳和發送針腳就能實現:同一個串口的接收腳和發送腳直接用線相連,兩個串口相連或一個串口和多個串口相連。在實驗中,用定時器T1作波特率發生器,其計數初值X按以下公式計算:

串行通信波特率設置為1200b/s,而SMOD=1,fosc=6MHz,計算得到計數初值X=0f3H。在編程中將其裝入TL1和THl中即可。

為了便于觀察,當每次測量電壓采集數據時,單片機有端口輸出時,用發光二極管LED指示。

軟件編程

軟件程序主要包括:下位機數據采集程序、上位機可視化界面程序、單片機與PC串口通信程序。單片機采用C51語言編程,上位機的操作顯示界面采用VC++6.0進行可視化編程。在串口通信調試過程中,借助“串口調試助手”工具,有效利用這個工具為整個系統提高效率。單片機編程

下位機單片機的數據采集通信主程序流程如圖2所示、中斷子程序如圖3所示、采集子程序如圖4所示。單片機的編程仿真調試借助WAVE2000仿真器,本系統有集成的ISP仿真調試環境。

在采集程序中,單片機的編程操作要完全符合AD678的時序規范要求,在實際開發中,要不斷加以調試。最后將下位機調試成功而生成的.bin文件固化到AT89S51的Flash單元中。

人機界面編程

打開VC++6.0,建立一個基于對話框的MFC應用程序,串口通信采用MSComm控件來實現。其他操作此處不贅述,編程實現一個良好的人機界面。數字直流電壓表的操作界面如圖5所示。運行VC++6.0編程實現的Windows程序,整個樣機功能得以實現。

功能結果

根據上面所述工作原理及實施方案,在實踐中很好地實現了整個樣機的功能,各項指標達到了預先的設計要求。電路工作穩定,每次測量均伴有LED發光指示,可視化界面顯示也正常。

AD678轉換精度是12位,它的分辨率為1/4096。這為整機系統的高精度提供了保障。為了提高測量精度,運用了AD678自帶的校準電路,這樣使其A/D轉換精度更高。在實際測量中,整機測量精度達到了0.8%。