基于MSP單片機的數字電壓表的設計V_第1頁
基于MSP單片機的數字電壓表的設計V_第2頁
基于MSP單片機的數字電壓表的設計V_第3頁
基于MSP單片機的數字電壓表的設計V_第4頁
基于MSP單片機的數字電壓表的設計V_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 測控技術與儀器專業課程設計 報告 題 目: 基于430單片機的數字電壓表 的設計(交直流電壓0300V) 班 級: XXXXXX班 姓 名: XXX 學 號: XXXXXX 起始時間: 2014年3月6日至3月20日 一、對題目的認識和理解在電量的測量中,電壓、電流和頻率是最基本的三個被測量,其中電壓量的測量最為經常。而且隨著電子技術的發展,更是經常需要測量高精度的電壓,所以數字電壓表就成為一種必不可少的測量儀器。數字電壓表簡稱DVM,它是采用數字化測量技術,把連續的模擬量轉換成不連續、離散的數字形式并加以顯示的儀表。由于數字式儀器具有讀數準確方便、精度高、誤差小、測量速度快等特而得到廣泛應

2、用。 傳統的指針式刻度電壓表功能單一,進度低,容易引起視差和視覺疲勞,因而不能滿足數字化時代的需要。采用單片機的數字電壓表,將連續的模擬量如直流電壓轉換成不連續的離散的數字形式并加以顯示,從而精度高、抗干擾能力強,可擴展性強、集成方便,還可與PC實時通信。數字電壓表是諸多數字化儀表的核心與基礎。以數字電壓表為核心,可以擴展成各種通用數字儀表、專用數字儀表及各種非電量的數字化儀表。目前,由各種單片機和A/D轉換器構成的數字電壓表作全面深入的了解是很有必要的。 最近的幾十年來,隨著半導體技術、集成電路和微處理器技術的發展,數字電路和數字化測量技術也有了巨大的進步,從而促使了數字電壓表的快速發展,并

3、不斷出現新的類型。數字電壓表從1952年問世以來,經歷了不斷改進的過程,從最早采用繼電器、電子管和形式發展到了現在的全固態化、集成化,另一方面,精度也從0.01%-0.005%。目前,數字電壓表的內部核心部件是A/D轉換器,轉換的精度很大程度上都滿足了電壓測量精度的要求,而一款功耗低設計精巧的電壓表將越來越收人們的青睞,因此,對于設計低功耗,設計精巧的數字式電壓表也是電壓設計的一個重要研究方向。二、方案論證與比較數字電壓表有多種的設計方法,方案是多種多樣的,由于大規模集成電路數字芯片的高速發展,各種數字芯片品種多樣,導致對模擬數據的采集部分的不一致性,進而又使對數據的處理及顯示的方式的多樣性。

4、又由于在現實的工作生活中,電壓表的測量測程范圍是比較大的,所以必須要對輸入電壓作分壓處理,而各個數據處理芯片的處理電壓范圍不同,則各種方案的分段也不同。下面介紹三種數字電壓表的設計方案。方案一: 這種設計方案是由模擬電路與數字電路兩大部分組成,模擬部分包括輸入放大器、A/D轉換器和基準電壓源;數字部分包括計數器、譯碼器、邏輯控制器、振蕩器和顯示器。其中,A/D轉換器是它的核心器件,它將輸入的模擬量轉換成數字量。模擬電路和數字電路是相互聯系的,由邏輯控制電路產生控制信號,按規定的時序將A/D轉換器中個組模擬開關接通或斷開,保證A/D轉換正常進行。A/D轉換結果通過計數譯碼電路變換成段碼,最后驅動

5、顯示器顯示出相應的數值。此方案設計其優點是,設計成本低,能夠滿足一般的電壓測量。但設計不靈活,都是采用純硬件電路。很難將其在原有的基礎上進行擴展。方案二: 這種方案是利用單片機系統與模數轉換芯片、顯示模塊等的結合構建數字電壓表。由于單片機的發展已經成熟,利用單片機系統的軟硬件結合,可以組裝出許多的應用電路來。此方案的原理是模數(A/D)轉換芯片的基準電壓端,被測量電壓輸入端分別輸入基準電壓和被測電壓。模數(A/D)轉換芯片將被測量電壓輸入端所采集到的模擬電壓信號轉換成相應的數字信號,然后通過對單片機系統進行軟件編程,使單片機系統能按規定的時序來采集這些數字信號,通過一定的算法計算出被測量電壓的

6、值。最后單片機系統將計算好了的被測電壓值按一定的時序送入顯示電路模塊加以顯示。此方案不僅 能夠繼承上一種方案的各種優點,還能改進上一種設計方案設計不靈活,難與在原基礎上進行功能擴展等不足。方案三:基于MSP430G2553單片機為主控芯片,12位A/D轉換器在單片機內部集成。通過程序來控制模擬開關選擇適當的電壓取樣電路,將輸入的電壓取樣,取到的電壓通過430單片機內部集成的A/D轉換器實現模擬量向數字量的轉換,然后再經過單片機程序的處理計算最終通過低功耗高亮度數碼管來將電壓值顯示出來。方案用模擬開關替代繼電器減少了硬件的負擔和準確快速性,通過程序來控制和計算電壓值并顯示可以達到穩定和可操作性強

7、的目的,所以最終選擇方案三。輸入電路有效值轉換MSP430G2553單片機控制電路(包含A/D轉換)LED顯示模擬電壓信號經過檔位切換到不同的分壓電路衰減后,經隔離干擾通過轉換開關控制,若測量直流電壓直接送到單片機進行A/D 轉換,若測量交流電壓有效值經真有效值轉換器后送單片機進行A/D 轉換,然后進行數據處理,處理后的數據送到LED 中顯示。結合以上幾種方案分析與比較,本設計選用第三種設計方案。 三、單元電路(含傳感器選型和電路)的設計與說明1、單片機最小系統如上圖所示,最小系統由 MSP430G2553,復位電路,震蕩電路組成。MSP430G2553是系統設計的核心器件。通過程序控制,由自

8、帶的10位AD轉換電路完成電壓的采集,對采集信息處理換算后,采用模擬SPI模式把電壓發信息至LED顯示。單片機最小系統端端口定義如下表。 引腳號引腳名接口說明備注1VCC電源正端3.3V2P10 OLED SCLOLED 串行通信時鐘4P11OLED SDA OLED 串行數據5P12OLED RSTOLED 復位6P13 OLED DC11P14 按鍵16RST 復位20GND 電源地2、輸入電路部分輸入電路部分的作用是把不同量程的被測的電壓規范到測量所要求的電壓值0-±0.2V。9M、900K、90K、和10K 電阻構成1/10、1/100、1/1000 的衰減器。輸入衰減電路可

9、由開關來選擇不同的衰減率,從而切換檔位。在輸入電路中當信號衰減后還應該通過直流、交流檔位控制開關,控制被測信號接入相應測量通道。交流信號經過有效值轉換電路送入A/D 轉換電路,直流信號直接送入A/D 轉換電路。3、真有效值轉換電路真有效值轉換器AD736,AD736是經過激光修正的單片精密真有效值AC/DC 轉換器。其主要特點是準確度高、靈敏性好(滿量程為200mVRMS)、測量速率快、頻率特性好(工作頻率范圍可達0460kHz)、輸入阻抗高、輸出阻抗低、電源范圍寬且功耗低最大的電源工作電流為200A.用它來測量正弦波電壓的綜合誤差不超過±3%。4、模擬開關自動切換參考電壓電路 程序

10、中通過判斷不同的電壓量程來決定模擬開關CD4052的通道和選通位置,然后自動切換到相應的檔位,實現了0-300V的數字電壓表的自動切換量程的功能。5、電源電路電源電路電壓從P2端口輸入。通過撥動開關s控制電路的供電與斷電。MSP430G2553單片機和LED顯示模塊工作電壓均為3.3V,所以使用1117A系列3.3V的穩壓芯片進行穩壓輸出。1117A33穩壓芯片輸入電壓范圍4.7515V,輸入調整率0.2%,負載調整率0.4%,最大輸出電流1A.滿足了本設計要求。LED1為電源指示燈,可通過燈的亮滅來判斷電源電路是否正常工作。6、自動切換量程部分通過計算電阻分壓,將輸入電壓永遠通過分壓后得到2

11、v的標準電壓可供真有效值模塊工作,然后通過模擬開關來切繼電器來達到量程的自動選擇。7、LED顯示接口電路LED顯示模塊接口與單片機通信采用模擬SPI方式,減少了單片機I/O口的消耗,同時使電路變的更簡單。四、監控軟件設計與說明監控軟件通過IAR_EW430環境來編寫,主要模塊程序設計思路如下。1、主函數主函數的流程框圖如圖1所示。主函數主要是調用系統初始化函數和循環開啟ADC轉換,這是由于ADC10采用單通道單次轉換模式,每次采樣后需要重新開啟ADC,才會進行下一次信號采樣轉換。另外,信號的采樣與處理以及電壓值的顯示都是通過中斷來完成。2、系統初始化函數系統初始化的流程框圖如圖2所示。該函數對

12、看門狗的工作模式、所需的I/O口以及ADC10和OLED顯示進行定義或初始化配置。3、ADC初始化函數ADC初始化的流程框圖如圖3所示。該函數的任務是對轉換控制寄存器ADC10CTL0和ADC10CTL1的初始化配置。其中,ADC10CTL0 需要配置的是ADC10的開關、采樣周期、參考電壓、ADC10中斷使能;而ADC10CTL1則只需要對外部采樣通道和ADC的工作模式進行選擇。4、LED屏初始化LED顯示屏初始化的流程框圖如圖4所示。完成對LED寫命令和LED顯示屏界面的初始化。五、其它需要說明的問題對于本電壓數字智能表,測量直流和交流的時候分別對應的硬件電路略微有所不同,需要注意。六、附

13、錄(包括電路原理圖、程序流程圖、程序清單、參考資料清單等)1、整體電路原理圖2、程序流程圖:開始系統初始化開啟ADC轉換ADC初始化開始ADC10CTL0&=ENCADC10CTL0|=ADC10ONADC10CTL0|=SREF_0ADC10CTL0|=ADC10IEADC10CTL1|=INCH_4+CONSEQ_0_EINT( )結 束圖1 主函數流程圖圖3 ADC初始化函數結束 OLED初始化開始 寫指令圖4 LED初始化OLED顯示初始化系統初始化開始結 束設看門狗為定時器模式使能看門狗中斷設P1.0P1.1口為輸出設P1.4作A4通道選擇電壓量程ADC初始化液晶屏初始化圖2

14、 系統初始化流程圖3、程序代碼/*/* 數字式交直流電壓表 */*/#include "io430.h"#include "codetab.h"#include "LQ12864.h"#define XLevelL0x00#define XLevelH0x10#define XLevel (XLevelH&0x0F)*16+XLevelL)#define Max_Column128#define Max_Row64#defineBrightness0xCF #define X_WIDTH 128#define Y_WIDTH

15、64#define uint unsigned int#define uchar unsigned char#define BIT(x) (1<<(x) void System_Init(void);void ADC_Init(void); void Delay_nms(uint n); long int Voltage1, Voltage2; /全局變量Voltage1,Voltage2uint Voltage_Range; unsigned char *table="0","1","2","3",&

16、quot;4","5","6","7","8","9"/*延時函數*/void Delayms(uint n) uchar i; while(n-) for(i=0;i<115;i+);/*函數功能:系統初始化入口參數:無出口參數:無函數說明:無*/void System_Init(void) WDTCTL = WDTPW + WDTHOLD; BCSCTL1&=XT2OFF; BCSCTL3+=XT2S_2; do for(int i=0xff;i>0;i-);

17、IFG1&=OFIFG; while(IFG1&OFIFG)!=0); BCSCTL2 = 0X00; BCSCTL2 += SELM1; BCSCTL2 += SELS; WDTCTL = WDT_ADLY_250; /看門狗工作在定時器模式,1s中斷一次 IE1 |= WDTIE; /使能看門狗中斷 P1DIR |= BIT0 + BIT1 + BIT2 + BIT3;/相應的位端口設置為輸出 P1SEL |= BIT4; /P1.4為A4通道 Delayms(40); LCD_Init(); /oled 初始化 ADC_Init(); /ADC初始化; /*函數功能:AD

18、C初始化入口參數:無出口參數:無函數說明:無*/void ADC_Init (void) ADC10CTL0 &= ENC; /復位轉換允許位 ADC10CTL0 |= ADC10ON + ADC10SHT_0 + SREF_0 + ADC10IE ; /設置轉換控制寄存器ADC10CTL0,ADC10ON=0x010,使ADC10內核工作 /ADC10SHT_0=0*0x800u,確定采樣周期為4xADC10CLKs /SREF_0=0*0x2000u,選擇參考電壓為VR+=AVCC,VR-=AVSS /ADC10IE=0x00使對應通道轉換后產生中斷 ADC10CTL1 |= IN

19、CH_4 + CONSEQ_0; /設置AD轉換控制寄存器ADC10CTL1,INCH_0=0*0x1000u,選擇通道A4 /CONSEQ_1=1*2u,設置工作模式為單通道、單次轉換模式 ADC10CTL0 |= ENC + ADC10SC; /設置轉換控制寄存器ADC12CTL0,ENC=0x002使轉換允許位為1 /ADC12SC=0x001使采樣/轉換控制位為1 _EINT(); /總中斷使能 /*ADC中斷函數*/#pragma vector = ADC10_VECTOR_interrupt void ADC10_Interrupt(void) uint data; data =

20、ADC10MEM; /將AD采樣值存入data Voltage1 = (uint)(33.3*data/10.23); /V(實際)=(VR+ - VR-)*data/1023 + VR- Voltage是實際電壓值的1000倍 Voltage2 = (uint)(33.3*data/10.23*4.0); P1OUT |= BIT5; Delayms(400); P1OUT &= BIT5; /*WDT中斷函數*/ #pragma vector = WDT_VECTOR_interrupt void watchdog_timer(void) long int num1,num2; u

21、int ge1,fen1,bfen1,qfen1 ; uint shi2 ,ge2,fen2,bfen2,qfen2 ; num1=Voltage1; num2=Voltage2; ge1=(num1/1000)%10; /個位 fen1=(num1/100)%10; /十分位 bfen1=num1/10%10; /百分位 qfen1=num1%10; /千分位 / LCD_P8x16Str(60,2,tableshi1); LCD_P8x16Str(68,2,tablege1); LCD_P8x16Str(84,2,tablefen1); LCD_P8x16Str(92,2,tablebfen1); LCD_P8x16Str(100,2,tableqfen1); shi2=(num2/10000)%10; /十位 ge2=(num2/1000

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論