91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 11KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-16
  • 語言: 其他
  • 標簽: AD9833??51單片機??

資源簡介

AD9833的51單片機驅動程序,注釋詳盡,書寫規范整潔。

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
/********************************************/
sbit?ad9833_sdata?=P1^4;
sbit?ad9833_sclk?=P1^3;
sbit?ad9833_fsync?=P3^5;
/**************向AD9833寫16位數據****************/
void?write_ad9833_d16(unsigned?int?dat16)
{
?int?ii;
?ad9833_sclk=1;
?ad9833_fsync=1;
?ad9833_fsync=0;
?for(ii=0;ii<16;ii++)????????????????//寫16位數據
??{
???ad9833_sdata=dat16?&?0x8000;???//獲取最高位
???ad9833_sclk=0;
???ad9833_sclk=1;
???dat16=dat16<<1;
??}
?ad9833_fsync=1;
}
/***************設置AD9833工作模式*****************/
//frequence:頻率值,單位Hz;
//Phase????:初相值
//FSELECT:頻率寄存器選擇0為頻率寄存器0,1為頻率寄存器1
//PSELECT:初相寄存器選擇0為初相寄存器0,1為初相寄存器1
//WAVE_MODE:輸出波形選擇0為三角波,1為方波,2為方波2分頻,3為正弦波
void?ad9833_data(double?frequenceunsigned?int?Phaseunsigned?char?FSELECTunsigned?char?PSELECTunsigned?char?WAVE_MODE?)
{
?unsigned?int?frequence_LSBfrequence_MSB;
?unsigned?int?control_word;
?unsigned?long?frequence_long;
?
?frequence=frequence*268435456/25000000;?//FREQ=f*2^28/f_MCLKAD9833晶振為25MHZ
?frequence_long=(unsigned?long)frequence;
?frequence_LSB=frequence_long?&?0x00003fff;//獲取頻率寄存器的低14位
?frequence_MSB=frequence_long?>>14;????????//獲取頻率寄存器的高14位

?if(FSELECT==0)?//把數據設置到頻率寄存器0
??{
???frequence_LSB=frequence_LSB|0x4000;?//寫FREQ0
???frequence_MSB=frequence_MSB|0x4000;
??}
?else
??{
???frequence_LSB=frequence_LSB|0x8000;?//寫FREQ1
???frequence_MSB=frequence_MSB|0x8000;
??}

?if(PSELECT==0)?//把數據設置到相位寄存器0
??{
???Phase=Phase|0xC000;??//寫PHASE0,110XXXXXXXXXXXXX
??}
?else
??{
???Phase=Phase|0xE000;??//寫PHASE1,111XXXXXXXXXXXXX
??}

?write_ad9833_d16(0x0100);?//0000000100000000.復位AD9833即RESET位為1
?write_ad9833_d16(0x2100);?//0010000100000000.選擇數據一次寫入,B28位和RESET位為1
?write_ad9833_d16(frequence_LSB);?//寫入頻率寄存器的低14位
?write_ad9833_d16(frequence_MSB);?//寫入頻率寄存器的高14位
?write_ad9833_d16(Phase);?????????//寫入初始相位

?control_word=0x2000;?????????????//控制字先設B28=1;
?if(FSELECT==1)?control_word=control_word?|?0x0800;?//0000100000000000選頻率寄存器
?if(PSELECT==1)?control_word=control_word?|?0x0400;?//0000010000000000選初相寄存器

?if(WAVE_MODE==0)???????//輸出三角波波形??
???control_word=control_word?|0x0002;???????????????//0000000000000010
?else?if(WAVE_MODE==1)??//輸出方波波形
???control_word=control_word?|0x0028;???????????????//0000000000101000
?else?if(WAVE_MODE==2)??//輸出方波2分頻
???control_word=control_word?|0x0020;???????????????//0000000000100000
?write_ad9833_d16(control_word);?//寫入控制字
}

/*********************主程序***********************/
main()
{
?while(1)
??{
???ad9833_data(80000);?//1KHz0初相頻率寄存器0,初相寄存器0三角波輸出
???ad9833_data(80001);?//1KHz0初相頻率寄存器0,初相寄存器0方波輸出
???ad9833_data(100000002);?//1KHz0初相頻率寄存器0,初相寄存器0方波2分頻輸出
???ad9833_data(100000003);?//1KHz0初相頻率寄存器0,初相寄存器0正弦波輸出
??}
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????????44??2014-12-27?16:51??AD9833.lnp

?????文件???????5255??2014-12-27?16:51??AD9833.LST

?????文件???????6834??2014-12-27?16:51??AD9833.M51

?????文件???????5268??2014-12-27?16:51??AD9833.OBJ

?????文件???????1232??2014-12-27?16:52??AD9833.Opt

?????文件????????306??2014-12-27?16:52??AD9833.plg

?????文件???????2030??2014-12-13?22:33??AD9833.Uv2

????.......??????1233??2014-12-27?16:50??AD9833_Opt.Bak

?????文件???????5305??2014-12-27?16:51??AD9833

?????文件???????3135??2014-12-14?09:22??AD9833.c

-----------?---------??----------?-----??----

????????????????30642????????????????????10


評論

共有 條評論