




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、北京尊孑科技學(xué)it教育資料電子設(shè)計(jì)綜合實(shí)驗(yàn)項(xiàng)目報(bào)告項(xiàng)目名稱:MCU 交流 電壓參數(shù)測量小組成員:林伊、武正治學(xué) 號:20111112、20111201目錄項(xiàng)目要求 3題目 3要求 3基本要求 3發(fā)揮部分 3實(shí)現(xiàn)思路 4放大 4頻率 4A/D: 6顯示: 6代碼 7主程序: 7led頭文件 10項(xiàng)目要求題目:交流電壓參數(shù)的測量要求:用給定的MCU:msp430g2553制作交流電壓參數(shù)測試設(shè)備信號發(fā)生器圖表i基本要求:、用給定運(yùn)放LM324制作一放大器a) 增益大于:20dBb) 帶寬大于:100KHz二、用指定MCUF口已制作的放大器制作頻率計(jì)a) 測量范圍:10Hz700KHzb) 顯示:3
2、位以上發(fā)揮部分:一、用A/D測量已給電壓的幅度,信號由已制作的放大器輸入a)測量范圍:輸入信號越小越好實(shí)現(xiàn)思路放大:首先分析題目要求,要實(shí)現(xiàn)放大20dB,頻率1700KHz的信號,通過公式 201g (Ad)得出Ad=10,即放大10倍必須使用運(yùn)放1m324實(shí)現(xiàn),則需要知道該芯片的器件參數(shù),即增益帶寬積。通過數(shù)據(jù)手冊得知其增益帶寬積為6.4MHz,除去放大倍數(shù)得知能夠?qū)崿F(xiàn)該信號的放大,通過設(shè)計(jì)放大電路并焊接即可,放大電路為反向比例放大電路,見 Figure 1Figure 1頻率:實(shí)現(xiàn)頻率的測量,這一塊需使用到MCU測量頻率的方法有很多種,通過捕捉上升沿下降沿產(chǎn)生中斷,也可以不產(chǎn)生中斷, 還可
3、通過時(shí)鐘計(jì)數(shù)。 其中通過捕捉上升沿下降沿的思路 又分兩種,1、檢測上升沿后再檢測下一個(gè)上升沿(檢測下降沿后再檢測下一個(gè)下降沿)2、檢測上升沿后再檢測下降沿(檢測下降沿后再檢測上升沿)。這些思路對應(yīng)不同的采集方法又可以細(xì)分,其中方案1對于測量高頻信號有著較好的效果,方案2對于測低頻的信號較好,前提是占空比為50%若不為則變?yōu)闇y脈寬。這次的題目我采用的是用時(shí)鐘計(jì)數(shù)的方式,msp430g2553中含有2個(gè)時(shí)鐘,timer。和timer1 ,每個(gè)時(shí)鐘都有如下功能, 選擇時(shí)鐘來源:1、外部時(shí)鐘(即外部輸入的方波信號)2、 ACLK 3、smclk等。其中ACL©/外部所焊晶振,頻率為32768
4、Hz。由上述條件我使用timer0和timer1同時(shí)工作來進(jìn)行頻率的測量,首先外部晶振屬于手 表晶振,極易產(chǎn)生1s中斷,我首先用timer1產(chǎn)生1s中斷,再用timer0選擇使用外部時(shí)鐘源計(jì)數(shù),也就是需要被我們計(jì)數(shù)的信號輸入,這樣每一次上升沿,timer。計(jì)數(shù)器就會加一。這樣每秒中斷讀取timer。中寄存器的值就可以得出精確度極高的頻率,甚至都不需要換算。此種方案簡便易于實(shí)現(xiàn),故選用。流程圖:Figure 2方案選擇完畢,考慮如何把正弦信號轉(zhuǎn)換成方波信號輸入MCU此部分在考慮信號發(fā)生器只輸出正電的時(shí)候, 即正弦信號在0電位之上,我們可以完全不用設(shè)計(jì)任何外部電路,因?yàn)镸CU內(nèi)部有施密特觸發(fā)器,可
5、以將正弦輸入變成方波,但是如果有負(fù)電壓輸入則會損壞MCU實(shí)際中由于LM324我們只允許單電源供電, 且放大電路為反向比例放大電路,所以只放大了輸入信號的負(fù)半周,并且將其搬到正半軸,所以輸入到單片機(jī)的是只有正的電壓,如圖:Figure 3所以不需要外部焊接電路實(shí)現(xiàn)波形轉(zhuǎn)換,但是由于本課程是為北京電設(shè)做準(zhǔn)備,本著此原則我組成員決定還是設(shè)計(jì)并焊接一個(gè)外部電路來實(shí)現(xiàn)波形轉(zhuǎn)換。波形轉(zhuǎn)換有兩種方法:1、使用過零比較器 2、使用施密特觸發(fā)器。由于本題目對輸入信號的頻率有要求,過零比較器涉及到運(yùn)放,所以在頻率上有限制,為保證頻率不影響實(shí)現(xiàn), 我們選用數(shù)字的電路即施密特觸發(fā)器,數(shù)字電路一般頻率可以達(dá)到幾十兆,所
6、以肯定能夠符合要求,見下圖:Figure 4A/D:本題發(fā)揮部分要求采集正弦信號的峰值,所以涉及A/D轉(zhuǎn)換部分,由于輸入信號頻率在10Hz700KHz由于采樣定理,采樣頻率必須為被采樣信號的兩倍,雖然實(shí)際中最好為十倍,我們最后還是米用了兩倍。Msp430g2553此款芯片A/D采集過程若要穩(wěn)定起碼需要30個(gè)時(shí)鐘,我的 A/D模塊選用時(shí)鐘源smclk,其頻率為 8MHz貝U 8MHz除去30約為267KHz,其大于100KHz的兩倍,基本 滿足要求,在之前采集頻率的過程中我們有產(chǎn)生一個(gè)1s中斷,A/D平常每采集一次便把采集的值與最大值比較,把最大值留下,1s選取一次最大值顯示,并把之前最大值清除
7、。顯示:顯示我們采用LCD160Z采用四條數(shù)據(jù)線,三條控制線,在保證MCUOI腳夠用的前提下進(jìn)行顯示。代碼主程序:#include <msp430g2553.h>#include "LCD1602_Driver.h"#include <math.h>unsigned int FRE=0;unsigned char flag1=0;unsigned char flag2=0;unsigned int adc_sample=0;unsigned int adc_max=0;unsigned int temp=0;uchar LCDBuf16;/uchar
8、 LCDBuf25;uchar LCDBuf2="HZ"uchar LCDBuf3="MV"void main()WDTCTL = WDTPW + WDTHOLD;DCOCTL |= ( DCO0 + DCO1 );DCOCTL |= ( MOD4 + MOD3 + MOD2 + MOD1 + MOD0);/ 微調(diào) DCOCLKBCSCTL1 |= ( RSEL0 + RSEL2 + RSEL3);/14.8M SMCLKIO_Init();LCD_Init();/測頻初始TA0CTL |= TASSEL_0 + MC_1;TA0CCR0 = 0xfff
9、f;TA1CTL |= TASSEL_1 + MC_1 + TAIE;TA1CCR0 = 32767;TA1CCTL0 |= CCIE;P1DIR &= BIT0;P1SEL |= BIT0;_bis_SR_register(GIE);while(1)if(0=flag1);elseflag1=0;TA0CTL |= TACLR;TA0CTL = TASSEL_0 + MC_1;TA1CTL = TASSEL_1 + MC_1 + TAIE;while(0=flag1);flag1=0;/顯示頻率for(int i=0;i<5;i+)temp = FRE/(10000/(unsi
10、gned int)(pow(10,i);LCDBuf1i = temp + '0'FRE = FRE%(10000/(unsigned int)(pow(10,i);LCDBuf15 = 0;LCD_Disp_string(0,0,LCDBuf1);LCD_Disp_string(5,0,LCDBuf2);/測幅初始flag2=1;TA1CTL = TASSEL_1 + MC_1 + TAIE;TA1CCR0 = 32767;/打開時(shí)鐘/ADC10CTL0 = SREF_0 + ADC10SHT_2 + MSC + ADC10ON + ADC10IE;/ADC10CTL1 =
11、INCH_1 + ADC10SSEL_3 + CONSEQ_2;/ADC10AE0 = 0x02;/ADC10DTC0 = ADC10B1;/ADC10DTC1 = 0xC8;/ADC10CTL0 &= ENC;/先關(guān)閉 adc,待至U BUSYti清零,每次都必須等待/while (ADC10CTL1 & BUSY); / Wait if ADC10 core is active/ADC10SA = (unsigned int)adc_sample; / Data buffer start /ADC10CTL0 |= ENC + ADC10SC;ADC10CTL0 = SRE
12、F_0 + ADC10SHT_2 + MSC + ADC10ON;ADC10CTL1 = INCH_1 + ADC10SSEL_3 + CONSEQ_0;ADC10AE0 = 0x02;ADC10CTL0 |= ADC10ON;doADC10CTL0 |= ENC+ADC10SC;while(ADC10CTL0 &ADC10IFG)=0);adc_sample = ADC10MEM;if(adc_max<adc_sample)adc_max = adc_sample;while(0=flag1);adc_max = adc_max*(3300/1023);while(0=flag
13、1);flag2=0;/*/ 篩選for(int i=0;i<200;i+)if(adc_samplei>adc_max)adc_max=adc_samplei;*/ 顯示幅值for(int i=0;i<5;i+)temp = adc_max/(10000/(unsigned int)(pow(10,i);LCDBuf1i = temp + '0'adc_max = adc_max%(10000/(unsigned int)(pow(10,i);LCDBuf15 = 0;LCD_Disp_string(0,1,LCDBuf1);LCD_Disp_string(
14、5,1,LCDBuf3);adc_max = 0;/ Timer A1 interrupt service routine#pragma vector=TIMER1_A0_VECTOR_interrupt void Timer1_A (void)if(0=flag2)TA0CTL = 0;TA1CTL = 0;TA1CTL |= TACLR;FRE=TA0R;flag1=1;TA0CTL = TASSEL_0 + MC_0;TA1CTL = TASSEL_1 + MC_0;/TA0CTL |= TACLR;/TA0CTL = TASSEL_0 + MC_1;/TA1CTL = TASSEL_1
15、 + MC_1 + TAIE;/測了一次還沒開elseTA1CTL = TASSEL_1 + MC_0;flag1=1;/ ADC10 interrupt service routine#pragma vector=ADC10_VECTOR_interrupt void ADC10_ISR (void)flag1=1;ADC10CTL0 &= ENC;lcd頭文件#include "msp430g2553.h"#define SET_LCD_1602_E P2OUT |= 0x04/P2.2#define CLR_LCD_1602_E P2OUT &= 0x
16、04#define SET_LCD_1602_RS P2OUT |= 0x01/P2.0#define CLR_LCD_1602_RS P2OUT &= 0x01#define SET_LCD_1602_RW P2OUT |= 0x02/P2.1#define CLR_LCD_1602_RW P2OUT &= 0x02# define LCD_IO_OUT P1OUT# define LCD_IO_DIR P1DIR# define LCD_IO_IN P1IN# define LCD_IO_SEL P1SEL#define ucharunsigned char#define
17、uintunsigned intvoid IO_Init(void);void LCD_Init(void);void LCD_Check_busy(void); / 檢測LCD否在忙,即能否接收數(shù)據(jù)和指令void LCD_Write_Command(uchar command);void LCD_Write_Data(uchar dat);void LCD_Set_xy( uchar x, uchar y );uchar LCD_Read_Sta(void);uchar LCD_Read_Data(uchar x,uchar y);void User_def_char(uchar n,uch
18、ar *s); /輸入用戶自定義字符(5*8 點(diǎn)陣字符),07共8個(gè)字符void LCD_Disp_char(uchar x,uchar y,uchar dat);void LCD_Disp_string(uchar x,uchar y,uchar *s);uchar large=0; /當(dāng)large 為1時(shí),為5*8點(diǎn)陣;為0時(shí),為5*10點(diǎn)陣void IO_Init(void) LCD_IO_SEL &= 0xF0;LCD_IO_DIR |= 0x07 ;P2DIR |= 0x07;P2SEL &= 0x07;void LCD_Init(void)LCD_Write_Com
19、mand(0x28);LCD_Write_Command(0x0F);LCD_Write_Command(0x06);LCD_Write_Command(0x01);void LCD_Check_busy(void)uchar flag=0x80;flag &= LCD_Read_Sta();while(flag = 0x80) _delay_cycles(100); flag &= LCD_Read_Sta();void LCD_WAte_Command(uchar command)LCD_Check_busy();CLR_LCD_1602_RS;CLR_LCD_1602_R
20、W;CLR_LCD_1602_E;uchar temp;temp = command & (0x3C);if(temp=(0x26)|(temp=(0x2C)|(temp=(0x36)|(temp=(0x3C)large = 0;/ 為 5*10 點(diǎn)陣elselarge = 1;LCD_IO_DIR |= 0xF0;LCD_IO_OUT = (command&(0XF0)+(LCD_IO_OUT&(0x0F);SET_LCD_1602_E;CLR_LCD_1602_E;command <<= 4;LCD_IO_OUT = (command&(0XF0
21、)+(LCD_IO_OUT&(0x0F);SET_LCD_1602_E;CLR_LCD_1602_E;void LCD_Write_Data(uchar dat)LCD_Check_busy();SET_LCD_1602_RS;CLR_LCD_1602_RW;CLR_LCD_1602_E;LCD_IO_DIR |= 0xF0;LCD_IO_OUT = (dat&(0XF0)+(LCD_IO_OUT&(0x0F);SET_LCD_1602_E;CLR_LCD_1602_E;dat <<= 4;LCD_IO_OUT = (dat&(0XF0)+(LCD_
22、IO_OUT&(0x0F);SET_LCD_1602_E;CLR_LCD_1602_E;void LCD_Set_xy(uchar x,uchar y) uchar address;if (y = 0)address = 0x80 + x;elseaddress = 0xC0 + x;LCD_Write_Command(address); uchar LCD_Read_Sta(void) uchar sta;CLR_LCD_1602_RS; /讀入狀態(tài)信息高四位數(shù)據(jù)SET_LCD_1602_RW;CLR_LCD_1602_E;LCD_IO_DIR &= 0xF0;SET_LCD_1602_E;_delay_cycles(10);sta = LCD_IO_IN;CLR_LCD_1602_E;SET_LCD_1602_E;/讀入狀態(tài)信息低四位數(shù)據(jù)_delay_cycles(10);uchar temp;temp = LCD_IO_IN;CLR_LCD_1602_E;sta &= 0xF0;temp >>= 4;temp &am
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智慧環(huán)衛(wèi)信息管理平臺建設(shè)方案
- 基于云計(jì)算技術(shù)的智慧環(huán)衛(wèi)解決方案
- 展臺搭建合同范本
- 稅務(wù)系統(tǒng)納稅信用管理政策解讀
- 重型柴油車遠(yuǎn)程在線監(jiān)控系統(tǒng)項(xiàng)目 投標(biāo)方案(技術(shù)方案)
- 三農(nóng)村創(chuàng)業(yè)投資手冊
- 企業(yè)供應(yīng)鏈管理的數(shù)字化轉(zhuǎn)型及優(yōu)化策略研究
- 三農(nóng)產(chǎn)品質(zhì)量安全追溯系統(tǒng)建設(shè)手冊
- 新零售技術(shù)應(yīng)用與發(fā)展趨勢分析報(bào)告
- 停車場車輛出入智能管理系統(tǒng)
- 非新生兒破傷風(fēng)診療規(guī)范(2024年版)解讀
- 預(yù)防校園欺凌主題班會課件(共36張課件)
- 公務(wù)員2014年國考《申論》真題卷及答案(副省級)
- 裝飾裝修施工人員安全知識培訓(xùn)考試試卷及答案
- 伸縮臂式22m高空作業(yè)車安全操作規(guī)程
- 嬰幼兒發(fā)展引導(dǎo)員(育嬰員)職業(yè)技能競賽理論考試題庫(含答案)
- 全國國家版圖知識競賽題庫及答案(中小學(xué)組)
- 湖北省武漢市實(shí)驗(yàn)外國語學(xué)校小學(xué)部小學(xué)六年級小升初期末語文試題(含答案)
- 高職生職業(yè)生涯規(guī)劃與就業(yè)指導(dǎo) 課件全套 崔麗娜 第1-8章 揭開生涯規(guī)劃面紗 走進(jìn)生涯規(guī)劃- 助力職業(yè)發(fā)展 職場適應(yīng)
- 小學(xué)一年級數(shù)學(xué)下冊綜合知識訓(xùn)練100題含答案
- 2024營運(yùn)純電動(dòng)汽車換電服務(wù)技術(shù)要求
評論
0/150
提交評論