




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、* * AVR SPI 接口控制 AD9833 * 功能: M8 SPI 接口控制 AD9833 AD9833 為 DDS(Direct Digital Frequency Synthesis) 直接數(shù)字頻率合成器 可產(chǎn)生的正弦波、三角波、方波 作者: hb8421 編譯器: WINA VR 開始時(shí)間: 2007 年 7 月 3 日 10:33:26 結(jié)束時(shí)間: */ #include #include #include #include /時(shí)鐘定為內(nèi)部晶振 8MHz,F_CPU=8000000 #include #include #include int main(void) /上電默認(rèn) D
2、DRx=0 x00,PORTx=0 x00 輸入,無上拉電阻 /不用的管腳使能內(nèi)部上拉電阻。 PORTB=0 xFF; PORTC=0 xFF; PORTD=0 xFF; /設(shè)定 SPI 接口 PORTB=(1AD9833_CE)|(1AD9833_SDATA)|(1AD9833_SCLK); DDRB =(1AD9833_CE)|(1AD9833_SDATA)|(1AD9833_SCLK); init_ad9833(); while(1) ctr8421(); switch (ctr_v) case 6 :output(6);break; case 7 :output(7);break; c
3、ase 8 :output(10);break; case 9 :output(50);break; default :output(0);break; #ifndef _main_H_ #define _main_H_ 1 /PD0 /PD1 /控制位 #define ctr8 0 #define ctr4 1 #define ctr2 2 #define ctr1 3 #define pn 7 #define T1_OUT /全局變量聲明 /PD2 /PD3 /PD7 0/PC0 脈沖輸出 volatile unsigned char ctr_v;/ 撥碼開關(guān) 8421 的輸出 volat
4、ile unsigned char ctr_pn;/ 正負(fù)脈沖按鈕開關(guān)的輸出 volatile unsigned int T1_TOP;/ 設(shè)置 T1 的時(shí)間值 #endif /* _main_H_ */ /* 控制文件 對(duì)控制端口撥碼開關(guān) 8421 判斷和對(duì)正負(fù)脈沖按鈕開關(guān)的判斷 */ #include #include #include #include #include #include / /ctr8421 :對(duì)控制端口撥碼開關(guān) 8421 判斷 / /輸入:無 /輸出: ctr_v unsigned char / unsigned char ctr8421(void) /ctr=0 i
5、f(PIND /ctr=1 else if(PIND /ctr=2 else if(PIND /ctr=3 else if(PIND /ctr=4 else if(PIND /ctr=5 else if(PIND /ctr=6 else if(PIND /ctr=7 else if(PIND /ctr=8 else if(!(PIND /ctr=9 else if(!(PIND return ctr_v; / /ctrpn :對(duì)正負(fù)脈沖按鈕開關(guān)的判斷 / /輸入:無 /輸出: ctr_p unsigned char / unsigned char ctrpn(void) if(!(PIND e
6、lse ctr_pn=1; return ctr_pn; #ifndef _control_H_ #define _control_H_ 1 unsigned char ctr8421(void); unsigned char ctrpn(void); #endif /* _control_H_ */ /* AD9833 功能 :可編程波形發(fā)生器,能夠產(chǎn)生正弦波、三角波、方波輸出。 特點(diǎn):主頻時(shí)鐘為 25MHz 時(shí),精度為,主頻時(shí)鐘為 1MHz 時(shí),精度可以達(dá)到。 輸出正弦波頻率fOUT = M (fMCLK/2A28 ) M為頻率控制字,由外部編程給定,其范圍為0 M 2人28 1。 fMC
7、LK 為外部輸入晶振。 FSYNC 引腳是使能引腳,電平觸發(fā)方式,低電平有效。進(jìn)行串行數(shù)據(jù)傳輸時(shí),F(xiàn)SYNC 引腳 必須置低, 要注意FSYNC有效到SCLK下降沿的建立時(shí)間t7的最小值。FSYNC置低后,在16個(gè)SCLK 的下降沿?cái)?shù)據(jù) 被送到 AD9833 的輸入移位寄存器,在第 16 個(gè) SCLK 的下降沿 FSYNC 可以被置高,但要 注意在 SCLK 下降 沿到 FSYNC 上升沿的數(shù)據(jù)保持時(shí)間 ts 的最小和最大值。當(dāng)然,也可以在 FSYNC 為低電平 的時(shí)候,連 續(xù)加載多個(gè) 16 位數(shù)據(jù),僅在最后一個(gè)數(shù)據(jù)的第 16 個(gè) SCLK 的下降沿的時(shí)將 FSYNC 置高, 最后需要注意 的
8、是,寫數(shù)據(jù)時(shí) SCLK 時(shí)鐘為高低電平脈沖信號(hào),但是,在 FSYNC 剛開始變?yōu)榈蜁r(shí)(即將 開始寫數(shù) 據(jù)時(shí)),SCLK必須為高電平(注意t11這個(gè)參數(shù))。 當(dāng) AD9833 初始化時(shí), 為了避免 DAC 產(chǎn)生虛假輸出, RESET 必須置為 1( RESET 不會(huì)復(fù)位 頻率、相位和 控制寄存器) ,直到配置完畢,需要輸出時(shí)才將 RESET 置為 0;RESET 為 0后的 89 個(gè) MCLK 時(shí)鐘周期 可在 DAC 的輸出端觀察到波形。 AD9833 數(shù)據(jù)傳輸格式: 對(duì)于單個(gè) 16 位數(shù)據(jù)來說,高位在前,低位在后。 對(duì)于頻率寄存器和相位寄存器來說, 先是控制字, 再是數(shù)據(jù)低字節(jié), 最后是數(shù)據(jù)高
9、字節(jié)。 */ #include #include #include #include #include #include /* delay_nus:長延時(shí)函數(shù) (GCC 內(nèi)部延時(shí)函數(shù)的延時(shí)過短 ) 輸入?yún)?shù) : t:延時(shí)時(shí)間 us */ void delay_nus(unsigned int t) while (t-) _delay_us(1); /* delay_nms:長延時(shí)函數(shù) (GCC 內(nèi)部延時(shí)函數(shù)的延時(shí)過短 ) 輸入?yún)?shù) : t:延時(shí)時(shí)間 ms */ void delay_nms(unsigned int t) while (t-) _delay_ms(1); / /Write_wo
10、rd : 寫 16 位數(shù)據(jù)到 SPI 接口,軟件 SPI 方式 /輸入?yún)?shù): data: 數(shù)據(jù)(16 位 ) / void Write_word(unsigned int data) unsigned char i; SCL_H; SDA_H; FSYNC_H; delay_nus(200); FSYNC_L; for(i=0;i16;i+) if(data else SDA_L; SCL_L; delay_nus(5); SCL_H; data=data1; delay_nus(2); FSYNC_H; SCL_L; delay_nus(200); void init_ad9833(void
11、) Write_word(0 x2100); /28 位連續(xù),選擇頻率 0, 相位 0, RESET=1 Write_word(0 x4000); /寫頻率 0 寄存器的低字節(jié) LSB Write_word(0 x4000); /寫頻率 0 寄存器的高字節(jié) MSB Write_word(0 x2900); /28 位連續(xù),選擇頻率 0, 相位 0, RESET=1 Write_word(0 x8000); /寫頻率 0 寄存器的低字節(jié) LSB Write_word(0 x8000); /寫頻率 0 寄存器的高字節(jié) MSB Write_word(0 xC000); /寫頻率 0 寄存器的低字節(jié)
12、LSB Write_word(0 xF000); /寫頻率 0 寄存器的高字節(jié) MSB Write_word(0 x2000); /28 位連續(xù),選擇頻率 0, 相位 0, RESET=0 / /output :AD9833 輸出指定頻率的正弦波 / /輸入?yún)?shù): freq_value 類型: unsigned long /輸出參數(shù):無 / void output(unsigned long freq_value) unsigned long dds; unsigned int dds_l,dds_h; dds= freq_value *; /6/ FMCLK dds=dds16; /高字節(jié)
13、dds_l=dds_l2; dds_l=dds_l dds_l=dds_l | 0 x4000; dds_h=dds_h dds_h=dds_h | 0 x4000; Write_word(0 x2000); /28 位連續(xù),選擇頻率 0,相位 0, RESET=0 Write_word(dds_l); Write_word(dds_h); /AD9833 頭文件 #ifndef _AD9833_H_ #define _AD9833_H_ 1 /定義 AD9833 的時(shí)鐘 #define FMCLK 1000000 /M8 管腳定義 #define AD9833_CE #define AD9833_SDA TA #define AD9833_SCLK /宏定義 /AD9833 的主晶振為 1MHz 2/PB2 SS 3/PB3 MOSI 5/PB5 SCK /置 CE 為低電平,使能 SPI 接口, /置 CE 為高電平,關(guān)閉 SPI 接口, /SPI 總線時(shí)鐘線 /SPI 總線數(shù)據(jù)線 #define FSY
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 語文課上的一次小游戲記事作文9篇
- 媒體投放與傳播戰(zhàn)略合作協(xié)議具體內(nèi)容書
- 2025年電工特種作業(yè)操作證考試試卷(高級(jí))案例分析
- 2025年征信考試題庫:征信數(shù)據(jù)分析挖掘信用風(fēng)險(xiǎn)分析試題
- 2025年西式烹調(diào)師高級(jí)(特色料理制作與市場推廣)職業(yè)技能鑒定試卷
- 健康生活體驗(yàn)中心商業(yè)合作協(xié)議
- 小熊的故事動(dòng)物童話作文7篇
- 2025年鍋爐操作員特種作業(yè)操作證考試試卷(節(jié)能環(huán)保篇)
- 2025年海南省事業(yè)單位招聘考試綜合類專業(yè)技能試題集
- 2025年初中歷史七年級(jí)下冊(cè)階段檢測(cè)試卷模擬試題及答案
- Welcome Unit 開學(xué)第一課(課件)高中英語人教版必修第一冊(cè)
- 資產(chǎn)管理數(shù)字化解決方案
- 護(hù)理安全意識(shí)
- 鋼筋內(nèi)部比對(duì)作業(yè)指導(dǎo)書
- 幼兒園中班社會(huì)《美麗的黃山》課件
- 法社會(huì)學(xué)教程(第三版)教學(xué)
- 6綜合與實(shí)踐(北京五日游)(教案)-六年級(jí)下冊(cè)數(shù)學(xué)人教版
- 專題22 桃花源記(含答案與解析)-備戰(zhàn)2024年中考語文之文言文對(duì)比閱讀(全國版)
- GB/T 44150-2024金屬及其他無機(jī)覆蓋層鋅與鎳、鈷或鐵合金電鍍層
- AQ6111-2023個(gè)體防護(hù)裝備安全管理規(guī)范
- 重慶市大足縣2023-2024學(xué)年四年級(jí)數(shù)學(xué)第二學(xué)期期末聯(lián)考試題含解析
評(píng)論
0/150
提交評(píng)論