STM32的AD9834驅(qū)動(dòng)程序(C語(yǔ)言)-2_第1頁(yè)
STM32的AD9834驅(qū)動(dòng)程序(C語(yǔ)言)-2_第2頁(yè)
STM32的AD9834驅(qū)動(dòng)程序(C語(yǔ)言)-2_第3頁(yè)
STM32的AD9834驅(qū)動(dòng)程序(C語(yǔ)言)-2_第4頁(yè)
STM32的AD9834驅(qū)動(dòng)程序(C語(yǔ)言)-2_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

這個(gè)是自己調(diào)試成功的代碼,希望給大家?guī)?lái)方便//=========AD9834.h======================///*------------------------------------------------------------------------------------

***********************AD9834驅(qū)動(dòng)程序********************************

***********************STM32固件函數(shù)庫(kù)V2.0*************************

***********************2011.3.29****************************************

------------------------------------------------------------------------------------*/#ifndef__AD9834_H

#define__AD9834_H#include"stm32f10x_lib.h"#defineTriangle_Wave

0x2002

#defineSine_Wave

0x2028/*AD9834晶振頻率*/

#defineAD9834_SYSTEM_COLCK

50000000UL/*AD9834控制引腳*/

#defineAD9834_Control_Port

GPIOC

#defineAD9834_FSYNC

GPIO_Pin_6

#defineAD9834_SCLK

GPIO_Pin_7

#defineAD9834_SDATA

GPIO_Pin_8

#defineAD9834_RESET

GPIO_Pin_9#defineAD9834_FSYNC_SET

GPIO_SetBits(AD9834_Control_Port,AD9834_FSYNC)

#defineAD9834_FSYNC_CLR

GPIO_ResetBits(AD9834_Control_Port,AD9834_FSYNC)

#defineAD9834_SCLK_SET

GPIO_SetBits(AD9834_Control_Port,AD9834_SCLK)

#defineAD9834_SCLK_CLR

GPIO_ResetBits(AD9834_Control_Port,AD9834_SCLK)

#defineAD9834_SDATA_SET

GPIO_SetBits(AD9834_Control_Port,AD9834_SDATA)

#defineAD9834_SDATA_CLR

GPIO_ResetBits(AD9834_Control_Port,AD9834_SDATA)

#defineAD9834_RESET_SET

GPIO_SetBits(AD9834_Control_Port,AD9834_RESET)

#defineAD9834_RESET_CLR

GPIO_ResetBits(AD9834_Control_Port,AD9834_RESET)

#defineFREQ_0

0

#defineFREQ_1

1

#defineDB15

0

#defineDB14

0

#defineDB13

B28

#defineDB12

HLB

#defineDB11

FSEL

#defineDB10

PSEL

#defineDB9

PIN_SW

#defineDB8

RESET

#defineDB7

SLEEP1

#defineDB6

SLEEP12

#defineDB5

OPBITEN

#defineDB4

SIGN_PIB

#defineDB3

DIV2

#defineDB2

0

#defineDB1

MODE

#defineDB0

0#defineCONTROL_REGISTER

(DB15<<15)|(DB14<<14)|(DB13<<13)|(DB12<<12)|(DB11<<11)|(DB10<<10)\

|(DB9<<9)|(DB8<<8)|(DB7<<7)|(DB6<<6)|(DB5<<5)|(DB4<<4)|(DB3<<3)|(DB2<<2)|(DB1<<1)|(DB0<<0)/*AD9834函數(shù)聲明*/

externvoidAD9834_Write_16Bits(unsignedintdata);

//寫(xiě)一個(gè)字到AD9834

externvoidAD9834_Select_Wave(unsignedintinitdata);//選擇輸出波形

externvoidInit_AD9834();//初始化配置

externvoidAD9834_Set_Freq(unsignedcharfreq_number,unsignedlongfreq);//選擇輸出寄存器和輸出頻率值#endif/*AD9834_H*///================================================================////====================AD9834.c======================//#include"stm32f10x_lib.h"

#include"AD9834.h"

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

函數(shù)名稱(chēng):AD9834_Write_16Bits

能:向AD9834寫(xiě)入16為數(shù)據(jù)

數(shù):data--

要寫(xiě)入的16位數(shù)據(jù)

返回值

:無(wú)

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

voidAD9834_Write_16Bits(unsignedintdata)

{

unsignedchari=0;

AD9834_SCLK_SET;

AD9834_FSYNC_CLR;

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

{

if(data&0x8000)

AD9834_SDATA_SET;

else

AD9834_SDATA_CLR;

AD9834_SCLK_CLR;

data<<=1;

AD9834_SCLK_SET;

}

AD9834_FSYNC_SET;

}/***********************************************************************************

函數(shù)名稱(chēng):AD9834_Select_Wave

能:軟件為控制,

--------------------------------------------------

IOUT正弦波,SIGNBITOUT方波,寫(xiě)FREQREG0,寫(xiě)PHASE0

ad9834_write_16bit(0x2028)

一次性寫(xiě)FREQREG0

ad9834_write_16bit(0x0038)

單獨(dú)改寫(xiě)FREQREG0的LSB

ad9834_write_16bit(0x1038)

單獨(dú)改寫(xiě)FREQREG0的MSB

--------------------------------------------------

IOUT三角波,寫(xiě)PHASE0

ad9834_write_16bit(0x2002)

一次性寫(xiě)FREQREG0

ad9834_write_16bit(0x0002)

單獨(dú)改寫(xiě)FREQREG0的LSB

ad9834_write_16bit(0x1008)

單獨(dú)改寫(xiě)FREQREG0的MSB

數(shù):initdata--要輸入的命令

返回值

:無(wú)

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

voidAD9834_Select_Wave(unsignedintinitdata)

{

AD9834_FSYNC_SET;

AD9834_SCLK_SET;

AD9834_RESET_SET;

AD9834_RESET_SET;

AD9834_RESET_CLR;

AD9834_Write_16Bits(initdata);

}/****************************************************************

函數(shù)名稱(chēng):Init_AD9834

能:初始化AD9834控制引腳

數(shù):無(wú)

返回值

:無(wú)

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

voidInit_AD9834()

{

GPIO_InitTypeDefGPIO_InitStructure;

GPIO_InitStructure.GPIO_Pin=AD9834_FSYNC|AD9834_SCLK|AD9834_SDATA|AD9834_RESET;

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;

GPIO_Init(AD9834_Control_Port,&GPIO_InitStructure);

}/****************************************************************

函數(shù)名稱(chēng):AD9834_Set_Freq

能:設(shè)置頻率值

數(shù):freq_number--要寫(xiě)入的平率寄存器(FREQ_0或FREQ_1)

freq--頻率值(Freq_value(value)=Freq_data(data)*FCLK/2^28)

返回值

:無(wú)

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

voidAD9834_Set_Freq(unsignedcharfreq_number,unsignedlongfreq)

{

unsignedlongFREQREG=(unsignedlong)(268435456.0/AD9834_SYSTEM_COLCK*freq);

unsignedintFREQREG_LSB_14BIT=(unsignedint)FREQREG;

unsignedintFREQREG_MSB_14BIT=(unsignedint)(FREQREG>>14);

if(freq_number==FREQ_0)

{

FREQREG_LSB_14BIT&=~(1U<<15);

FREQREG_LSB_14BIT|=1<<14;

FREQREG_MSB_14BIT&=~(1U<<15);

FREQREG_MSB_14BIT|=1<<14;

}

else

{

FREQREG_LSB_14BIT&=~(1<<14);

FREQREG_LSB_14BIT|=1U<<15;

FREQREG_MSB_14BIT&=~(1<<14);

FREQREG

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論