msp430g2553內(nèi)部AD采集正弦波幅值的程序_第1頁(yè)
msp430g2553內(nèi)部AD采集正弦波幅值的程序_第2頁(yè)
msp430g2553內(nèi)部AD采集正弦波幅值的程序_第3頁(yè)
msp430g2553內(nèi)部AD采集正弦波幅值的程序_第4頁(yè)
msp430g2553內(nèi)部AD采集正弦波幅值的程序_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

#include"msp430g2553.h"

#defineuintunsignedint

#defineucharunsignedchar

#defineulongunsignedlong

uintaver[64]={0};

ucharflag=0;

ucharzifu[14]={"0123456789ux=z"};

uintmaxaver=0;

longdis=0;

doublemax=0,maxr=0;

#defineSIDBIT3

#defineSCLKBIT2

#defineLCDPORTP1OUT

#defineSID_1LCDPORT|=SID

#defineSID_0LCDPORT&=~SID

#defineSCLK_1LCDPORT|=SCLK

#defineSCLK_0LCDPORT&=~SCLK

voiddelay(unsignedcharms)

{

unsignedchari,j;

for(i=ms;i>0;i--)

for(j=120;j>0;j--);

}

/***********************************************************

*名稱(chēng):LCD_Write_cmd()

*功能:寫(xiě)一個(gè)命令到LCD12864

*入口參數(shù):cmd:待寫(xiě)入的命令,無(wú)符號(hào)字節(jié)形式

*出口參數(shù):無(wú)

*說(shuō)明:寫(xiě)入命令時(shí),RW=0,RS=0擴(kuò)展成24位串行發(fā)送

*格式:11111RW0RS0xxxx0000xxxx0000

*|最高的字節(jié)|命令的bit7~4|命令的bit3~0|

***********************************************************/

voidwrite_cmd(ucharcmd)

{

uchari;

uchari_data;

i_data=0xf8;

SCLK_0;

for(i=0;i<8;i++)

{

SID_0;

if(i_data&0x80)

SID_1;

_delay_cycles(100);

SCLK_0;

SCLK_1;

_delay_cycles(10);

i_data<<=1;

}

i_data=cmd;

i_data&=0xf0;

for(i=0;i<8;i++)

{

SID_0;

if(i_data&0x80)

SID_1;

_delay_cycles(100);

SCLK_0;

SCLK_1;

_delay_cycles(10);

i_data<<=1;

}

i_data=cmd;

i_data<<=4;

for(i=0;i<8;i++)

{

SID_0;

if(i_data&0x80)

SID_1;

_delay_cycles(100);

SCLK_0;

SCLK_1;

_delay_cycles(10);

i_data<<=1;

}

_delay_cycles(100);

}

/***********************************************************

*名稱(chēng):LCD_Write_Byte()

*功能:向LCD12864寫(xiě)入一個(gè)字節(jié)數(shù)據(jù)

*入口參數(shù):byte:待寫(xiě)入的字符,無(wú)符號(hào)形式

*出口參數(shù):無(wú)

*范例:LCD_Write_Byte('F')//寫(xiě)入字符'F'

***********************************************************/

voidwrite_dat(uchardat)

{

uchari;

uchari_data;

i_data=0xfa;

SCLK_0;

for(i=0;i<8;i++)

{

SID_0;

if(i_data&0x80)

SID_1;

_delay_cycles(100);

SCLK_0;

SCLK_1;

_delay_cycles(10);

i_data<<=1;

}

i_data=dat;

i_data&=0xf0;

for(i=0;i<8;i++)

{

SID_0;

if(i_data&0x80)

SID_1;

i_data<<=1;

_delay_cycles(100);

SCLK_0;

SCLK_1;

_delay_cycles(10);

}

i_data=dat;

i_data<<=4;

for(i=0;i<8;i++)

{

SID_0;

if(i_data&0x80)

SID_1;

i_data<<=1;

_delay_cycles(100);

SCLK_0;

SCLK_1;

_delay_cycles(10);

}

_delay_cycles(100);

}

/***********************************************************

*名稱(chēng):LCD_pos()

*功能:設(shè)置液晶的顯示位置

*入口參數(shù):x:第幾行,1~4對(duì)應(yīng)第1行~第4行

*y:第幾列,0~15對(duì)應(yīng)第1列~第16列

*出口參數(shù):無(wú)

*范例:LCD_pos(2,3)//第二行,第四列

***********************************************************/

voidlcd_pos(ucharx,uchary)

{

ucharpos;

switch(x)

{

case1:pos=0x80;break;

case2:pos=0x90;break;

case3:pos=0x88;break;

case4:pos=0x98;break;

default:pos=0x80;

}

pos+=y;

write_cmd(pos);

}

voidLCD_init(void)

{

write_cmd(0x30);

delay(5);

write_cmd(0x0C);

delay(5);

write_cmd(0x01);

delay(5);

write_cmd(0x02);

delay(5);

}

voidSys_clock_init(void)

{

uinti=0;

BCSCTL1|=CALBC1_16MHZ;

DCOCTL|=CALDCO_16MHZ;

for(i=0;i<65535;i++);

BCSCTL2|=SELM_0;

BCSCTL2|=DIVS_0;

}

voidAD_init(void)

{

ADC10CTL0=ADC10ON+ADC10IE+MSC+ADC10SHT_3;

ADC10CTL1|=CONSEQ_3+INCH_1;;

ADC10AE0|=BIT0+BIT1;

ADC10DTC1=0x40;

}

voidIO_init(void)

{

//P1REN|=BIT0+BIT1;

//P1OUT=0x00;

//P1DIR|=BIT0+BIT1;

//P1DIR|=BIT0+BIT1+BIT2+BIT3;

P1DIR=0x0C;

}

voidjisuan()

{

ucharj;

maxr=0;

maxaver=0;

for(j=0;j<64;j+=2)

{

if(aver[j]>maxaver&&aver[j]<1024)

maxaver=aver[j];

}

maxr=(maxaver*3.56)/1023;

max=maxr*10000;

dis=max;

lcd_pos(2,2);

write_dat(zifu[dis/10000]);

write_dat('.');

write_dat(zifu[dis/1000%10]);

write_dat(zifu[dis/100%10]);

write_dat(zifu[dis/10%10]);

write_dat(zifu[dis%10]);

write_dat('V');

maxr=0;

maxaver=0;

for(j=1;j<64;j+=2)

{

if(aver[j]>maxaver&&aver[j]<1024)

maxaver=aver[j];

}

maxr=(maxaver*3.56)/1023;

max=maxr*10000;

dis=max;

lcd_pos(4,2);

write_dat(zifu[dis/10000]);

write_dat('.');

write_dat(zifu[dis/1000%10]);

write_dat(zifu[dis/100%10

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論