朱曉玲
(武漢職業(yè)技術(shù)學(xué)院機電工程學(xué)院,湖北 武漢430074)
數(shù)字電壓表采用數(shù)字化測量技術(shù),把連續(xù)的模擬量,即連續(xù)的電壓值轉(zhuǎn)變?yōu)椴贿B續(xù)的數(shù)字量,加以數(shù)字處理然后通過顯示器件顯示。數(shù)字電壓表把電子技術(shù)、計算技術(shù)、自動化技術(shù)的成果與精密電測量技術(shù)密切的結(jié)合在一起,成為儀器、儀表領(lǐng)域中獨立而完整的一個分支。傳統(tǒng)的模擬指針式電壓表功能單一、精度低,讀數(shù)的時候也非常不方便,很容易出錯。而采用單片機的數(shù)字電壓表由于測量精度高、速度快,讀數(shù)方便,抗干擾能力和可擴展性強等優(yōu)點,已被廣泛地應(yīng)用于電子及電工的測量、工業(yè)自動化儀表、自動測試系統(tǒng)等智能化測量領(lǐng)域。
Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件,從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。其處理器模型支持 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等常用主流單片機,還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運行后輸入輸出的效果。配合系統(tǒng)配置的虛擬邏輯分析儀、示波器等,Proteus建立了完備的電子設(shè)計開發(fā)環(huán)境。
Proteus最大的亮點在于能夠?qū)纹瑱C進行實物級的仿真;從程序的編寫、編譯到調(diào)試,目標(biāo)版的仿真一應(yīng)俱全;支持匯編語言和C語言的編程;還可配合Keil C實現(xiàn)程序的聯(lián)合調(diào)試,將Proteus中繪制的原理圖作為實際中的目標(biāo)板,而用Keil C集成環(huán)境實現(xiàn)對目標(biāo)板的控制,與實際中通過硬件仿真器對目標(biāo)板的調(diào)試幾乎完全相同;并且支持多顯示器的調(diào)試,即Proteus運行在一臺計算機上,而Keil C運行在另一臺計算機上,通過網(wǎng)絡(luò)連接實現(xiàn)遠(yuǎn)程的調(diào)試。
直流數(shù)字電壓表的設(shè)計采用了以單片機為開發(fā)平臺,控制系統(tǒng)采用AT89C52單片機,A/D轉(zhuǎn)換采用ADC0832,顯示元件采用1602型LCD。其系統(tǒng)結(jié)構(gòu)如圖1。
ADC0832是美國國家半導(dǎo)體公司生產(chǎn)的一種8位分辨率、雙通道A/D轉(zhuǎn)換芯片,其最高分辨率可達256級,可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復(fù)用,使得芯片的模擬電壓輸入在0~5 V之間。芯片轉(zhuǎn)換時間僅為32μs,具有雙數(shù)據(jù)輸出,可作為數(shù)據(jù)校驗,以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強。獨立的芯片使能輸入,使多器件掛接和處理器控制變得更加方便。通過DI數(shù)據(jù)輸入端,可以輕易地實現(xiàn)通道功能的選擇。
ADC0832與單片機的接口應(yīng)為4條數(shù)據(jù)線,分別是CS、CLK、DO、DI。但由于DO端與DI端在通信時并未同時有效,與單片機的接口是雙向的,設(shè)計中將DO和DI并聯(lián)在一根數(shù)據(jù)線上使用。當(dāng)ADC0832未工作時其CS輸入端應(yīng)為高電平,此時芯片禁用,CLK和DO/DI的電平可任意。當(dāng)要進行A/D轉(zhuǎn)換時,須先將CS使能端置于低電平,并且保持低電平直到轉(zhuǎn)換完全結(jié)束。此時芯片開始轉(zhuǎn)換工作,同時由處理器向芯片時鐘輸入端CLK輸入時鐘脈沖,DO/DI端則使用DI端輸入通道功能選擇的數(shù)據(jù)信號。在第1個時鐘脈沖的下沉之前DI端必須是高電平,表示啟始信號。在第2、3個脈沖下沉之前DI端應(yīng)輸入2位數(shù)據(jù)用于選擇通道功能。
作為單通道模擬信號輸入時ADC0832的輸入電壓是0~5 V,且8位分辨率時的電壓精度為19.53 mV。
AT89C52是一個低電壓、高性能CMOS8位單片機,片內(nèi)含8kB的可反復(fù)擦寫的Flash只讀程序存儲器和256B的RAM。器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元。AT89C52單片機在電子行業(yè)中有著廣泛的應(yīng)用。其特征如下:
(1)兼容MCS51指令系統(tǒng);
(2)8k可反復(fù)擦寫(大于1 000次)Flash ROM;
(3)32個雙向I/O口;
(4)256×8bit內(nèi)部RAM;
(5)3個16位可編程定時/計數(shù)器中斷;
(6)時鐘頻率0-24 MHz;
(7)2個串行中斷,可編程UART串行通道;
(8)2個外部中斷源,共8個中斷源;
(9)2個讀寫中斷口線,3級加密位;
(10)低功耗空閑和掉電模式,軟件設(shè)置睡眠和喚醒功能;
(11)有PDIP、PQFP、TQFP及 PLCC等幾種封裝形式,以適應(yīng)不同產(chǎn)品的需求。
1602型LCD顯示模塊具有體積小、功耗低、顯示內(nèi)容豐富等特點,其可以顯示2行16個字符,有8位數(shù)據(jù)總線D0~D7和RS,R/W,EN三個控制端口,工作電壓為5 V,并且具有字符對比度調(diào)節(jié)和背光功能。
圖2 直流數(shù)字電壓表Proteus仿真
直流數(shù)字電壓表Proteus仿真如圖2。
萬用表和設(shè)計電壓表測量同一組電壓值所得結(jié)果如表1所示。
表1 測量結(jié)果
通常所需要測量的被測電壓不是一個定值,一般都有一些微小的變化,因此測量值會有微小的變動。測量結(jié)果符合要求。
采用Proteus軟件進行仿真設(shè)計,可以節(jié)約系統(tǒng)開發(fā)成本,縮短開發(fā)周期。上述運用Proteus軟件完成直流數(shù)字電壓表設(shè)計,通過實測結(jié)果驗證其能滿足設(shè)計要求。
[1] 侯寶玉,陳中平.基于proteus的51系列單片機設(shè)計與仿真[M].北京:電子工業(yè)出版社,2008.
[2] 李 芳,李家慶.基于Proteus+Keil的單片機實驗仿真平臺[J].中國教育技術(shù)裝備,2009,(04):11-13.
[3] 陳海宴 編著.51單片機原理及應(yīng)用——基于Keil C與Proteus[M].北京:北京航空航天大學(xué)出版社,2010.