




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
武漢理工大學(xué)《單片機(jī)原理與應(yīng)用》課程設(shè)計(jì)說(shuō)明目錄摘要 I1. 設(shè)計(jì)原理 12. 系統(tǒng)硬件設(shè)計(jì) 12.1電阻分壓以及阻抗匹配模塊 12.2有效值檢波模塊 22.3 ADS1115電壓檢測(cè)模塊 32.4單片機(jī)控制及顯示模塊 32.5系統(tǒng)整體原理圖 43程序框圖 54資源分配表 55源程序 65.1主程序 65.2液晶顯示程序 75.3ADS1115啟動(dòng)程序 116性能分析 196.1實(shí)物測(cè)試圖 196.2測(cè)量數(shù)據(jù)分析 207總結(jié)與體會(huì) 21參考文獻(xiàn) 22摘要 有效值能直接反應(yīng)交流信號(hào)的能量大小,具有簡(jiǎn)單的疊加性,計(jì)算起來(lái)方便,對(duì)于研究功率、噪聲、失真度、頻譜純度等有十分重要的作用。因此,有效值在實(shí)際應(yīng)用中使用十分廣泛。 本文主要介紹了對(duì)50HZ正弦交流信號(hào)有效值的測(cè)量方法的設(shè)計(jì)與實(shí)現(xiàn)。根據(jù)要求,測(cè)量電路由電阻分壓網(wǎng)絡(luò)、基于OPA277的阻抗匹配模塊、基于AD637的有效值檢測(cè)模塊以及基于ADS1115的電壓測(cè)量模塊組成,控制部分選用STC89C52單片機(jī),所測(cè)量的有效值通過(guò)LCD1602顯示。關(guān)鍵詞:有效值、AD637、STC89C52單片機(jī)武漢理工大學(xué)《單片機(jī)原理與應(yīng)用》課程設(shè)計(jì)說(shuō)明設(shè)計(jì)原理圖1系統(tǒng)整體結(jié)構(gòu)圖 由圖1系統(tǒng)整體框圖可知,此測(cè)量有效值系統(tǒng)主要由分壓網(wǎng)絡(luò)、阻抗匹配、有效值檢波、電壓測(cè)量、單片機(jī)控制以及液晶顯示等模塊組成。 題目要求的輸入信號(hào)輸入范圍為0~15V,這遠(yuǎn)遠(yuǎn)大于一般有效值檢波以及AD轉(zhuǎn)換芯片的輸入電壓值,因此,在前級(jí)需要加一級(jí)電阻分壓網(wǎng)絡(luò),將輸入信號(hào)的幅值衰減一般,使其適合測(cè)量。本系統(tǒng)選用的有效值檢波模塊基于AD637芯片,AD637是一個(gè)高精度RMS-DC轉(zhuǎn)換芯片,但其輸入阻抗較小,在信號(hào)輸入前通過(guò)一級(jí)運(yùn)算放大器進(jìn)行阻抗匹配,提升電路整體的穩(wěn)定性,經(jīng)過(guò)AD637的轉(zhuǎn)換,輸出對(duì)應(yīng)交流信號(hào)的直流有效值,在單片機(jī)的控制下,ADS1115進(jìn)行電壓檢測(cè),并將檢測(cè)的值返回給單片機(jī)通過(guò)LCD1602顯示。 此系統(tǒng)對(duì)控制芯片的要求并不高,選用52單片機(jī)足以實(shí)現(xiàn)所需求的功能。單片機(jī)首先對(duì)內(nèi)部定時(shí)器以及LCD1602進(jìn)行初始化后,進(jìn)入等待模式,當(dāng)達(dá)到所設(shè)定的時(shí)間時(shí),進(jìn)入中斷開(kāi)啟ADS1115進(jìn)行電壓值的測(cè)量,并將測(cè)量值通過(guò)LCD1602顯示,之后退出中斷等待下一次中斷的來(lái)臨。系統(tǒng)硬件設(shè)計(jì)2.1電阻分壓以及阻抗匹配模塊 由于題目所要求的電壓范圍為0~15V,大于一般芯片的測(cè)量范圍,因此采用兩個(gè)10K的電阻進(jìn)行分壓,使輸入信號(hào)衰減一半,如圖2所示,衰減后的信號(hào)通過(guò)OPA277進(jìn)行阻抗匹配,以提升系統(tǒng)整體的穩(wěn)定性。圖2電阻分壓及阻抗匹配電路2.2有效值檢波模塊 為了實(shí)現(xiàn)對(duì)有效值的檢測(cè),需先將交流信號(hào)轉(zhuǎn)化成直流有效值,如圖3所示,在此系統(tǒng)中,選用AD637完成此功能。AD637是一款完整的高精度、單芯片均方根直流轉(zhuǎn)換器,可計(jì)算任何復(fù)雜波形的真均方根值。它提供集成電路均方根直流轉(zhuǎn)換器前所未有的性能,精度、帶寬 圖3有效值檢波電路和動(dòng)態(tài)范圍與分立和模塊式設(shè)計(jì)相當(dāng)。AD637提供波峰因數(shù)補(bǔ)償方案,允許以最高為10的波峰因數(shù)測(cè)量信號(hào),額外誤差小于1%。寬帶寬允許測(cè)量200mV均方根、頻率最高達(dá)600kHz的輸入信號(hào)以及1V均方根以上、頻率最高達(dá)8MHz的輸入信號(hào)。片內(nèi)緩沖放大器既可以用作輸入緩沖,也可以用于有源濾波器配置。該濾波器可以用來(lái)降低交流紋波量,從而提高精度。滿足題目對(duì)精度0.01V,誤差小于0.02V的要求。ADS1115電壓檢測(cè)模塊經(jīng)過(guò)前級(jí)AD637的轉(zhuǎn)換,輸入ADS1115的信號(hào)為直流有效值,ADS1115是具有16位分辨率的高精度模擬到數(shù)字轉(zhuǎn)換器(ADC),其數(shù)據(jù)傳輸通過(guò)一個(gè)兼容串行接口,四個(gè)從地址,由2.0V至5.5V單電源供電。
ADS1115可以執(zhí)行轉(zhuǎn)換速率高達(dá)每秒860個(gè)樣本(SPS)。板載PGA的ADS1115提供從電源的輸入范圍為±256mV的低,允許大型和小型的信號(hào)進(jìn)行高分辨率測(cè)量。如圖4所示,使用ADS1115測(cè)量電壓,足以滿足精度的要求。圖4ADS1115電壓檢測(cè)電路圖2.4單片機(jī)控制及顯示模塊 系統(tǒng)的控制部分由52單片機(jī)實(shí)現(xiàn),單片機(jī)具有體積小,操作方便,應(yīng)用靈活,運(yùn)行穩(wěn)定準(zhǔn)確等特點(diǎn),現(xiàn)以廣泛應(yīng)用于各領(lǐng)域。此系統(tǒng)對(duì)控制部分要求不高,在單片機(jī)最小系統(tǒng)的基礎(chǔ)上增加一些基本外設(shè)即可。如圖5所示,最小系統(tǒng)由單片STC89C52、復(fù)位電路、振蕩電路組成,振蕩電路為單片機(jī)工作提供時(shí)鐘源,但程序跑飛的時(shí)候,可通過(guò)控制電路使程序從頭開(kāi)始執(zhí)行。圖中與單片機(jī)相連的是LCD1602液晶顯示屏,1602液晶也叫1602字符型液晶,它是一種專門(mén)用來(lái)顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊。它由若干個(gè)5*7或者5*11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用。通過(guò)單片機(jī)控制LCD1602可顯示設(shè)定的英文字符和數(shù)字等信息。圖5單片機(jī)控制及顯示電路系統(tǒng)整體原理圖如圖6所示,是此系統(tǒng)的整體電路圖。圖6系統(tǒng)整體電路圖3程序框圖 如圖7所示,是此系統(tǒng)的程序流程框圖。圖7程序流程圖4資源分配表 為實(shí)現(xiàn)此系統(tǒng),單片機(jī)的資源分配如表1所示。表1單片機(jī)資源分配表資源用途P0.0控制ADS1115時(shí)鐘引腳P0.1控制ADS1115數(shù)據(jù)引腳P0.5控制LCD1602使能引腳P0.6控制LCD1602讀寫(xiě)引腳P0.7控制LCD1602功能選擇引腳P2向LCD1602寫(xiě)入數(shù)據(jù)定時(shí)器0設(shè)定一定時(shí)間,間歇性的開(kāi)啟ADS1115進(jìn)行轉(zhuǎn)換5源程序5.1主程序#include"LCD1602.h"#include"ads1115.h"chari=0,flag;charshow_zifu[]={"Designbylq"};floatresultdata=0;voidset_time(){//定時(shí)1msEA=1;TMOD|=0X01;TH0=(65536-1000)/256;TL0=(65536-1000)%256; EA=1; ET0=1;TR0=1; TF0=0;}voidmain(){ lcd_init();set_time();for(i=0;i<12;i++){lcd_sendcmd(0x80+i);lcd_senddat(show_zifu[i]);}lcd_sendcmd(0xc0);lcd_senddat('V');lcd_sendcmd(0xc1);lcd_senddat(':');while(1){if(flag==1){resultdata=AD_last(0)*2;lcd_show_float(0xc2,resultdata);flag=0;}}}voidinter()interrupt1{staticuintj=0;j++;while(j==200){flag=1;j=0;} TH0=(65536-1000)/256; TL0=(65536-1000)%256; TR0=1; TF0=0;}5.2液晶顯示程序#ifndef __LCD1602_H__#define__LCD1602_H__#include<reg52.h>#defineuintunsignedint#defineucharunsignedchar/************各IO口聲明************/sbitLCD1602_EN=P0^5;sbitLCD1602_RW=P0^6;sbitLCD1602_RS=P0^7;#definelcd_DATAP2/****************各io口定義值的替換*****************/#defineLCD1602_EN_HLCD1602_EN=1#defineLCD1602_EN_LLCD1602_EN=0#defineLCD1602_RW_HLCD1602_RW=1#defineLCD1602_RW_LLCD1602_RW=0#defineLCD1602_RS_HLCD1602_RS=1#defineLCD1602_RS_LLCD1602_RS=0/***************子函數(shù)名****************/voiddelay(uints);voidlcd_input_byte(ucharbyte);voidlcd_sendcmd(ucharcmd);voidlcd_senddat(uchardat);voidlcd_init();voidlcd_show_float(ucharadd,floatnum);/*****************************/#endif#include"LCD1602.h"voiddelay(uints){uinti,j;for(i=0;i<s;i++) for(j=1;j<=110;j++);}voidlcd_input_byte(ucharbyte){LCD1602_RW_L;lcd_DATA=byte;LCD1602_EN_L;LCD1602_EN_H;delay(10);}voidlcd_sendcmd(ucharcmd){LCD1602_RS_L;lcd_input_byte(cmd);}voidlcd_senddat(uchardat){LCD1602_RS_H;lcd_input_byte(dat);}voidlcd_init(){lcd_sendcmd(0x38);/*設(shè)置2行數(shù)據(jù),5*7數(shù)據(jù)*/lcd_sendcmd(0x38);lcd_sendcmd(0x08);/*顯示關(guān)閉*/lcd_sendcmd(0x01);/*顯示清屏*/lcd_sendcmd(0x06);/*顯示光標(biāo)移動(dòng)設(shè)置*/lcd_sendcmd(0x0c);/*顯示開(kāi)及光標(biāo)移動(dòng)*/delay(50);}voidlcd_show_float(ucharadd,floatnum){uchartemp[6]={"00.00V"},i;intshow_num;show_num=num*100;//保留兩位小數(shù)temp[0]=show_num/1000+'0';temp[1]=show_num/100%10+'0';temp[3]=show_num/10%10+'0';temp[4]=show_num%10+'0';for(i=0;i<6;i++){ lcd_sendcmd(add+i);lcd_senddat(temp[i]);}}5.3ADS1115啟動(dòng)程序/**********ADS1115驅(qū)動(dòng)程序頭文件*******/#include<reg52.h>//定義頭文件#defineucharunsignedchar#defineuintunsignedint#defineu8unsignedchar#defineu16unsignedint#defineulongunsignedlongvoiddelay_1115(uintms);voidAD_Start(void);voidAD_Stop(void);voidSend_byte(ucharbyte);uintRead_byte(void);voidAD_Config(ucharchannel);voidPoint(void);u16Read_result(void);floatAD_last(ucharchannel_ad);/**********ADS1115AD1驅(qū)動(dòng)程序*******/#include<reg52.h>//定義頭文件#include"ads1115.h"sbitAD1115_SCL=P0^0;sbitAD1115_SDA=P0^1;#defineSCL_HAD1115_SCL=1#defineSCL_LAD1115_SCL=0#defineSDA_HAD1115_SDA=1#defineSDA_LAD1115_SDA=0ucharInitdata[4];u16result=0;voiddelay_1115(uintms){ u16a; while(ms--) { a=120; while(a--); }}/**************************函數(shù)名稱:voidAD_Start(void)函數(shù)功能:ADS1115開(kāi)始通信信號(hào)返回值:無(wú)**************************/voidAD_Start(void){ SDA_L; delay_1115(2); SCL_H; delay_1115(1); SDA_H; delay_1115(2); SDA_L; SCL_L; delay_1115(2);}/**************************函數(shù)名稱:voidAD_Stop(void)函數(shù)功能:ADS1115結(jié)束通信信號(hào)返回值:無(wú)**************************/voidAD_Stop(void){ SDA_L; SCL_H; SDA_H;}/**************************函數(shù)名稱:voidSend_byte(ucharbyte)函數(shù)功能:ADS1115單字節(jié)傳輸返回值:無(wú)**************************/voidSend_byte(ucharbyte){ uchari; for(i=0;i<8;i++) { if((byte<<i)&0x80)//從高位開(kāi)始傳 SDA_H; elseSDA_L; SCL_H; delay_1115(1); SCL_L; } SDA_H; SCL_H; delay_1115(1); SCL_L;//delay_ms(1);}/**************************函數(shù)名稱:voidRead_byte(void)函數(shù)功能:ADS1115readabyte返回值:temp**************************/uintRead_byte(void){ uchartemp=0,flag; uchari; for(i=0;i<8;i++) { temp=temp<<1; SCL_L; delay_1115(1); SCL_H; delay_1115(1);flag=P0; if(flag&0x02)//數(shù)據(jù)位為1 temp|=0x01;delay_1115(1); } SCL_L; //ACK結(jié)束時(shí)序 delay_1115(1); SDA_L; SCL_H; delay_1115(1); SCL_L; SDA_H; returntemp;}/**************************函數(shù)名稱:voidAD_Config(ucharchannel)函數(shù)功能:ADS1115channelchoose返回值:無(wú)**************************/voidAD_Config(ucharchannel){ucharchannel_code=0; uchari;switch(channel) {case0:channel_code=0xc2;break; //通道0配置寄存器的高8位 case1:channel_code=0xd2;break; //通道1case2:channel_code=0xe2;break;//通道2case3:channel_code=0xf2;break;//通道3 default:break; } Initdata[0]=0x90;//addressandwritecommand地址為0x90 Initdata[1]=0x01;//pointstoConfigregister Initdata[2]=channel_code;//congfigthehighbyte,choosethechannel Initdata[3]=0xe3;//speed:860sps, SCL_H; AD_Start(); for(i=0;i<4;i++) { Send_byte(Initdata[i]); delay_1115(1); } AD_Stop();}/**************************函數(shù)名稱:voidPoint(void)函數(shù)功能:ADS1115writetopointerregister返回值:無(wú)**************************/voidPoint(void) //配置pointerregister{ SCL_H; AD_Start(); Send_byte(0x90); delay_1115(1); Send_byte(0x00); delay_1115(1); AD_Stop(); delay_1115(1);}/**************************函數(shù)名稱:ucharRead_result(void)函數(shù)功能:readADS1115'sconversationresult返回值:result**************************/u16Read_result(void){ ucharresult_L=0,result_H=0; SCL_H; AD_Start(); delay_1115(1); Send_byte(0x91); delay_1115(1); delay_1115(1); result_H=Read_byte(); delay_1115(1); result_L=Read_byte(); delay_1115(1); AD_Stop(); result=result_H*256+result_L;//即高位結(jié)果向左移8位與低8位構(gòu)成一個(gè)字 returnresult;}/**************************函數(shù)名稱:ucharAD_last(void)函數(shù)功能:getthelastresult返回值:last**************************/floatAD_last(ucharchannel_ad){ floatlast2=0; u16last1=0; AD_Config(channel_ad);//選擇通道 delay_1115(5); Point(); delay_1115(5); last1=Read_result();//正值最大為0x7fff,選取FS為4.096 last2=4.096*(last1/32768.0); returnlast2;}6性能分析6.1實(shí)物測(cè)試圖圖8系統(tǒng)實(shí)物圖圖9輸入1Vpp信號(hào)測(cè)量圖 圖10輸入5Vpp信號(hào)測(cè)量圖圖11輸入10Vpp信號(hào)測(cè)量圖 圖12輸入15Vpp信號(hào)測(cè)量圖 圖8為整套系統(tǒng)實(shí)物圖,主要由電源模塊、峰值有效值轉(zhuǎn)換模塊、A/D電壓檢測(cè)模塊以及單片機(jī)控制模塊組成。圖9至圖12為實(shí)測(cè)的數(shù)據(jù),分別對(duì)應(yīng)峰峰值為1V、5V、10V、15V時(shí),本系統(tǒng)所檢測(cè)的有效值通過(guò)LCD1602顯示。6.2測(cè)量數(shù)據(jù)分析表2實(shí)際測(cè)量數(shù)據(jù)與理論值分析表輸入(Vpp)1234567理論值(V)0.350.701.061.411.772.122.47檢測(cè)值(V)0.340.691.051.411.752.102.46誤差(V)0.010.010.0100.020.020.01輸入(Vpp
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年內(nèi)蒙古一旗公辦幼兒園人員招聘考試真題
- 公司借款采購(gòu)合同范本
- 企業(yè)出租合同范本
- 2024年福建教師招聘考試真題
- 2024年??悼h招聘高中教師考試真題
- 內(nèi)退職工勞動(dòng)合同范本
- 農(nóng)村房屋修建合同范本
- 個(gè)人水利合同范本
- 《好經(jīng)驗(yàn)共分享》(教學(xué)設(shè)計(jì)+學(xué)習(xí)任務(wù)單)道德與法治2024-2025學(xué)年三年級(jí)上冊(cè)統(tǒng)編版
- 創(chuàng)意園改造合同范本
- 九年級(jí)初中語(yǔ)文閱讀理解專題訓(xùn)練及答案
- 經(jīng)濟(jì)地理學(xué)智慧樹(shù)知到課后章節(jié)答案2023年下江西師范大學(xué)
- 班規(guī)班約高一班規(guī)班約及考核細(xì)則
- 《幼兒文學(xué)》 課件全套 第1-8章 幼兒文學(xué)概述- 圖畫(huà)書(shū)
- 代用茶批生產(chǎn)記錄
- 41篇小學(xué)三年級(jí)語(yǔ)文課外閱讀練習(xí)題及答案
- 《旅游學(xué)概論》第一章
- 物業(yè)服務(wù)設(shè)備配置清單
- 馬克筆繪圖方法培訓(xùn)PPT課件(內(nèi)容詳細(xì))
- 二年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)教案-遇到危險(xiǎn)怎么辦 全國(guó)通用
- 礦山尾礦購(gòu)銷合同范本
評(píng)論
0/150
提交評(píng)論