?? ad9850-si.c
字號:
//-----------------函數聲明、通用變量定義--------------------------------------------------------
#include <reg51.h>
#include <intrins.h>
sbit FQ_UD=P1^0; //AD9850信號更新申請
unsigned char CON_word[5];
//Word data[7] data[6] data[5] data[4] data[3] data[2] data[1] data[0]
//W0 Phase b Phase b3 Phase b2 Phase b1 Phase b0 Power Down Control Control
//W1 Freq-b31 Freq-b30 Freq-b29 Freq-b28 Freq-b27 Freq-b26 Freq-b25 Freq-b24
//W2 Freq-b23 Freq-b22 Freq-b21 Freq-b20 Freq-b19 Freq-b18 Freq-b17 Freq-b16
//W3 Freq-b15 Freq-b14 Freq-b13 Freq-b12 Freq-b11 Freq-b10 Freq-b9 Freq-b8
//W4 Freq-b7 Freq-b6 Freq-b5 Freq-b4 Freq-b3 Freq-b2 Freq-b1 Freq-b0
//--------------------------------------------------------------------------------------------------
// 函數名稱: delay
// 入口參數: N
// 函數功能:延時子程序,實現(16*N+24)us的延時
// 系統采用11.0592MHz的時鐘時,延時滿足要求,其它情況需要改動
//--------------------------------------------------------------------------------------------------
void delay(unsigned int N)
{
int i;
for(i=0;i<N;i++);
}
//--------------------------------------------------------------------------------------------------
// 函數名稱: AD9850_init
// 入口參數: 無
// 函數功能: 初始化設置 設置串口工作方式
//--------------------------------------------------------------------------------------------------
void AD9850_init(void) //初始化
{
FQ_UD=0;
SCON=0; //串口工作在方式0;不允許串行口接收數據,先寫通訊寄存器
}
//--------------------------------------------------------------------------------------------------
// 函數名稱: WRITE_AD9850
// 函數功能: 將控制字寫入AD9850
//--------------------------------------------------------------------------------------------------
void WRITE_AD9850(void)
{
int i;
FQ_UD=0;
delay(0);
CON_word[0]=CON_word[0]&0xFC; //置工作方式選擇位為00
for(i=4;i>=0;i--)
{
SCON=0;
SBUF=CON_word[i]; //送通訊寄存器命令
while(TI==0); //等待發送完成
TI=0; //TI清"0"
}
FQ_UD=1; //上升延要求AD9850改變輸出
}
//--------------------------------------------------------------------------------------------------
// 函數名稱:main
// 用戶主函數
// 函數功能:主函數
//--------------------------------------------------------------------------------------------------
void main()
{
AD9850_init();
WRITE_AD9850();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -