朱曉玲
(武漢職業技術學院機電工程學院,湖北 武漢430074)
數字電壓表采用數字化測量技術,把連續的模擬量,即連續的電壓值轉變為不連續的數字量,加以數字處理然后通過顯示器件顯示。數字電壓表把電子技術、計算技術、自動化技術的成果與精密電測量技術密切的結合在一起,成為儀器、儀表領域中獨立而完整的一個分支。傳統的模擬指針式電壓表功能單一、精度低,讀數的時候也非常不方便,很容易出錯。而采用單片機的數字電壓表由于測量精度高、速度快,讀數方便,抗干擾能力和可擴展性強等優點,已被廣泛地應用于電子及電工的測量、工業自動化儀表、自動測試系統等智能化測量領域。
Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件,從原理圖布圖、代碼調試到單片機與外圍電路協同仿真,一鍵切換到PCB設計,真正實現了從概念到產品的完整設計。其處理器模型支持 8051、HC11、PIC10/12/16/18/24/30/DSPIC33、AVR、ARM、8086和 MSP430等眾多類型,在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。
Proteus軟件具有其它EDA工具軟件如Multisim的功能。例如原理布圖、PCB自動或人工布線、SPICE電路仿真等,還可供用戶實時采用諸如RAM、ROM、鍵盤、馬達、LED、LCD、AD/DA、部分SPI器件、部分I2C器件。Proteus軟件可以仿真51系列、AVR、PIC、ARM等常用主流單片機,還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運行后輸入輸出的效果。配合系統配置的虛擬邏輯分析儀、示波器等,Proteus建立了完備的電子設計開發環境。
Proteus最大的亮點在于能夠對單片機進行實物級的仿真;從程序的編寫、編譯到調試,目標版的仿真一應俱全;支持匯編語言和C語言的編程;還可配合Keil C實現程序的聯合調試,將Proteus中繪制的原理圖作為實際中的目標板,而用Keil C集成環境實現對目標板的控制,與實際中通過硬件仿真器對目標板的調試幾乎完全相同;并且支持多顯示器的調試,即Proteus運行在一臺計算機上,而Keil C運行在另一臺計算機上,通過網絡連接實現遠程的調試。
直流數字電壓表的設計采用了以單片機為開發平臺,控制系統采用AT89C52單片機,A/D轉換采用ADC0832,顯示元件采用1602型LCD。其系統結構如圖1。
ADC0832是美國國家半導體公司生產的一種8位分辨率、雙通道A/D轉換芯片,其最高分辨率可達256級,可以適應一般的模擬量轉換要求。其內部電源輸入與參考電壓的復用,使得芯片的模擬電壓輸入在0~5 V之間。芯片轉換時間僅為32μs,具有雙數據輸出,可作為數據校驗,以減少數據誤差,轉換速度快且穩定性能強。獨立的芯片使能輸入,使多器件掛接和處理器控制變得更加方便。通過DI數據輸入端,可以輕易地實現通道功能的選擇。
ADC0832與單片機的接口應為4條數據線,分別是CS、CLK、DO、DI。但由于DO端與DI端在通信時并未同時有效,與單片機的接口是雙向的,設計中將DO和DI并聯在一根數據線上使用。當ADC0832未工作時其CS輸入端應為高電平,此時芯片禁用,CLK和DO/DI的電平可任意。當要進行A/D轉換時,須先將CS使能端置于低電平,并且保持低電平直到轉換完全結束。此時芯片開始轉換工作,同時由處理器向芯片時鐘輸入端CLK輸入時鐘脈沖,DO/DI端則使用DI端輸入通道功能選擇的數據信號。在第1個時鐘脈沖的下沉之前DI端必須是高電平,表示啟始信號。在第2、3個脈沖下沉之前DI端應輸入2位數據用于選擇通道功能。
作為單通道模擬信號輸入時ADC0832的輸入電壓是0~5 V,且8位分辨率時的電壓精度為19.53 mV。
AT89C52是一個低電壓、高性能CMOS8位單片機,片內含8kB的可反復擦寫的Flash只讀程序存儲器和256B的RAM。器件采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準MCS-51指令系統,片內置通用8位中央處理器和Flash存儲單元。AT89C52單片機在電子行業中有著廣泛的應用。其特征如下:
(1)兼容MCS51指令系統;
(2)8k可反復擦寫(大于1 000次)Flash ROM;
(3)32個雙向I/O口;
(4)256×8bit內部RAM;
(5)3個16位可編程定時/計數器中斷;
(6)時鐘頻率0-24 MHz;
(7)2個串行中斷,可編程UART串行通道;
(8)2個外部中斷源,共8個中斷源;
(9)2個讀寫中斷口線,3級加密位;
(10)低功耗空閑和掉電模式,軟件設置睡眠和喚醒功能;
(11)有PDIP、PQFP、TQFP及 PLCC等幾種封裝形式,以適應不同產品的需求。
1602型LCD顯示模塊具有體積小、功耗低、顯示內容豐富等特點,其可以顯示2行16個字符,有8位數據總線D0~D7和RS,R/W,EN三個控制端口,工作電壓為5 V,并且具有字符對比度調節和背光功能。

圖2 直流數字電壓表Proteus仿真
直流數字電壓表Proteus仿真如圖2。
萬用表和設計電壓表測量同一組電壓值所得結果如表1所示。

表1 測量結果
通常所需要測量的被測電壓不是一個定值,一般都有一些微小的變化,因此測量值會有微小的變動。測量結果符合要求。
采用Proteus軟件進行仿真設計,可以節約系統開發成本,縮短開發周期。上述運用Proteus軟件完成直流數字電壓表設計,通過實測結果驗證其能滿足設計要求。
[1] 侯寶玉,陳中平.基于proteus的51系列單片機設計與仿真[M].北京:電子工業出版社,2008.
[2] 李 芳,李家慶.基于Proteus+Keil的單片機實驗仿真平臺[J].中國教育技術裝備,2009,(04):11-13.
[3] 陳海宴 編著.51單片機原理及應用——基于Keil C與Proteus[M].北京:北京航空航天大學出版社,2010.