亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ad9954.c

?? 1、直接數字頻率合成的單片機代碼。 2、重要采用ADI公司提出的DDS芯片AD9954來實現直接數字頻率合成。
?? C
字號:
#include <reg51.h>
#include "AD9954.h"

unsigned long CFR1 = 0;                          
unsigned long CFR1SLAVE = 0x00800000;            
unsigned long CFR2 = 0x00000024;                    
unsigned long ASF;
unsigned long ARR;  
unsigned long FTW0;                           
unsigned long POW0;                              
unsigned long FTW1;
unsigned long NLSCW;
unsigned long PLSCW;
unsigned long multfreq = 0xffffffff; //計算頻率控制字的系數


/***********************************************************************
** 函數名稱: 	端口操作
** 功能描述: 	AD9954端口基本操作
** 輸 入: 	無     
** 輸 出:      無
** 全局變量:	無
** 調用模塊: 	無
***********************************************************************/
void SCLK_0(void)
{ 
  SCLK = 0;
}


void SCLK_1(void)
{
  SCLK = 2;
}


void SDIO_0(void)
{
  SDIO = 0;
}


void SDIO_1(void)
{
  SDIO = 1;
}


void CS_Enable(void)
{
  CS = 0;
}


void CS_Disable(void)
{
  CS = 1;
}

void CS2_Enable(void)
{
  CS2 = 0;
}

void CS2_Disable(void)
{
  CS2 = 1;
}

void IO_UPDATE_0(void)
{
  IO_UPDATE = 0;
}

void IO_UPDATE_1(void)
{
  IO_UPDATE = 1;
}

void IO_SYNC_1(void)
{
  IO_SYNC = 1;
}

void IO_SYNC_0(void)
{
  IO_SYNC = 0;
}

void PS0_Set_High(void)
{
  PS0 = 1;
}

void PS0_Set_Low(void)
{
  PS0 = 0;
}

void PS1_Set_High(void)
{
  PS1 = 1;
}

void PS1_Set_Low(void)
{
  PS1 = 0;
}


/***********************************************************************
** 函數名稱: 	IO9954_Init
** 功能描述: 	IO_Init
** 輸 入: 	    無      
** 輸 出:      無
** 全局變量:	無
** 調用模塊: 	無
***********************************************************************/
void IO9954_Init()
{
	CS2  = 0;
	P0   = 0x00;
	}

/***********************************************************************
** 函數名稱: 	nNop
** 功能描述: 	US級軟件延時(不精確)
** 輸 入: 	延時參數,值越大時延時越久      
** 輸 出:      無
** 全局變量:	無
** 調用模塊: 	無
***********************************************************************/
void nNop(unsigned long nValue)
{
  unsigned long i;
  for(i=nValue;i>0;i--);
}

/***********************************************************************
** 函數名稱: 	WriteByte
** 功能描述: 	向AD9954發送一字節數據 MSB FIRST
** 輸 入: 	unsigned char data   發送的數據     
** 輸 出:      無
** 全局變量:	無
** 調用模塊: 	端口操作 nNop
***********************************************************************/
void WriteByte(unsigned char Data)
{
  unsigned char k;
  for(k=0;k<8;k++) 
  { 
   SCLK_0();
   nNop(4);
   if((Data&0x80) == 0x80)
     SDIO_1();
   else
     SDIO_0();
   Data = Data << 1;
   nNop(2);
   SCLK_1();
   nNop(4);
  }
}


/***********************************************************************
** 函數名稱: 	ReadByte
** 功能描述: 	從AD9954讀取一字節數據 MSB FIRST
** 輸 入: 	無   
** 輸 出:      unsigned char 讀回的數據
** 全局變量:	無
** 調用模塊: 	端口操作 
***********************************************************************/
unsigned char ReadByte(void)
{
 unsigned char Data=0;
 unsigned char k;
 SDIO = 0;
 for(k=0;k<8;k++)
   { 
    SCLK_0();
    nNop(1);
    nNop(1);
    SCLK_1();
    nNop(1);
    nNop(1);
    Data = Data << 1;
    if(SDIO)
	  {
            Data |= 0x01;
          } 
   }
  SDIO = 1;
  return Data;
}



/***********************************************************************
** 函數名稱: 	RW_Reg
** 功能描述: 	AD9954讀寫寄存器操作
** 輸 入: 	unsigned char addr  寄存器地址
**              unsigned char *buf  寫寄存器: 指向發送數據的指針
**                                  讀寄存器: 指向讀回數據的指針
**              unsigned char num   發送或讀回的數據長度 num Byte
**              unsigned char rw    讀寫選擇 1 讀  0 寫
** 輸 出:      無
** 全局變量:	無
** 調用模塊: 	ReadByte  WriteByte
***********************************************************************/
void RW_Reg(unsigned char addr,unsigned char *buf,unsigned char num,
            unsigned char rw)
{
 unsigned char ins;// instruction byte
 if(rw == 1)
   {
    ins = addr | 0x80;
    WriteByte(ins);
     do{
	   buf[num-1] = ReadByte();
	   num--;
           nNop(5);
      }
    while(num);
   }
 else
   {
     ins = addr;
     WriteByte(ins);
	do{
	   WriteByte(buf[num-1]);
	   num--;
           nNop(5);
          }
	while(num);   
   }
}


/***********************************************************************
** 函數名稱: 	AD9954_Write_Reg
** 功能描述: 	AD9954寫寄存器操作
** 輸 入: 	unsigned long command  寫入寄存器的指令
**              unsigned char num      發送或讀回的數據長度 num Byte
**              unsigned char addr     寄存器地址
** 輸 出:      無
** 全局變量:	無
** 調用模塊: 	RW_Reg
***********************************************************************/
void AD9954_Write_Reg(unsigned long command,unsigned char num,unsigned char addr)
{
  unsigned char temp_com[5] = {0,0,0,0,0};
  unsigned char i;
  unsigned long temp;
  temp = command;
  for(i = 0;i < num;i++)
  {
    temp_com[i] = (temp & 0xff);
    temp = temp >> 8;
  } 
  RW_Reg(addr,temp_com,num,0);
}



/***********************************************************************
** 函數名稱: 	FTW_Float
** 功能描述: 	將浮點型頻率值MHZ 轉換成頻率控制字
** 輸 入: 	float freqfloat    浮點型頻率值MHZ        
** 輸 出:      unsigned long      4 byte 頻率控制字
** 全局變量:	無
** 調用模塊: 	無
***********************************************************************/
unsigned long FTW_Float(float freqfloat)
{
  unsigned long temp = 0;
  float freqf = 0;
  freqf = freqfloat / 400;    //AD9954主頻400MHZ
  temp = (freqf * multfreq);
  return(temp);
}

/***********************************************************************
** 函數名稱: 	更新寄存器操作
** 功能描述: 	每次更新寄存器的固定操作
** 輸 入: 	無      
** 輸 出:      無
** 全局變量:	無
** 調用模塊: 	無
***********************************************************************/
void AD9954_Updata_First(void)
{
 IO9954_Init();
 CS_Enable();
 IO_SYNC_1();
 nNop(40);
 IO_SYNC_0();
 IO_UPDATE_0();
}

void AD9954_Updata_Final(void)
{
 CS_Disable();
 nNop(20);
 IO_UPDATE_1(); 
}


/*****************************************************************************
*                                 Single-Tone Mode
******************************************************************************/
/***********************************************************************
** 函數名稱: 	AD9954_SingleTone_Init
** 功能描述: 	AD9954 Single-Tone Mode  初始化 
** 輸 入: 	無       
** 輸 出:      無
** 全局變量:	CFR1 CFR2   AD9954 功能控制寄存器
** 調用模塊: 	AD9954_Write_Reg
***********************************************************************/
void AD9954_SingleTone_Init(void)
{ 
 CFR1 = 0x00000000;
 AD9954_Updata_First();
 AD9954_Write_Reg(CFR2,3,0x01);    //控制寄存器2
 AD9954_Write_Reg(CFR1,4,0x00);    //控制寄存器1
 AD9954_Updata_Final();
}

/***********************************************************************
** 函數名稱: 	AD9954_SingleTone_Freq
** 功能描述: 	更新頻率控制
** 輸 入: 	無       
** 輸 出:      無
** 全局變量:	FTW0
** 調用模塊: 	AD9954_Write_Reg   更新寄存器操作
***********************************************************************/
void AD9954_SingleTone_Freq(float freq)
{ 
 FTW0 = FTW_Float(freq);
 AD9954_Updata_First();
 AD9954_Write_Reg(FTW0,4,0x04);      //設置全局輸出頻率
 AD9954_Updata_Final();
}



/***********************************************************************
** 函數名稱: 	AD9954_Amplitude_Change
** 功能描述: 	手動改變輸出幅度
** 輸 入: 	無       
** 輸 出:      無
** 全局變量:	ASF
** 調用模塊: 	AD9954_Write_Reg   更新寄存器操作
***********************************************************************/
void AD9954_Amplitude_Change(void)
{
  CFR1 |= OSKEN;
  CFR1 &= ~AOSK;
  AD9954_Updata_First();
  AD9954_Write_Reg(CFR1,4,0x00);          
  AD9954_Write_Reg(ASF,2,0x02);
  AD9954_Updata_Final();
}



/***********************************************************************
** 函數名稱: 	AD9954_Phase_Change
** 功能描述: 	改變輸出相角  0<=phase<=360
** 輸 入: 	double phase  浮點型相角值      
** 輸 出:      無
** 全局變量:	POW0
** 調用模塊: 	AD9954_Write_Reg   更新寄存器操作
***********************************************************************/
void AD9954_Phase_Change(double phase)  //   0<=phase<=360
{
  POW0=(unsigned int)(phase*45.511111111);
  AD9954_Updata_First();    
  AD9954_Write_Reg(POW0,2,0x05);
  AD9954_Updata_Final();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品综合网| 国产精品乱码一区二区三区软件| 一区二区三区高清在线| 成人激情午夜影院| 亚洲人成在线观看一区二区| 在线一区二区三区做爰视频网站| 一区二区成人在线视频| 欧美亚日韩国产aⅴ精品中极品| 亚洲一区二区三区中文字幕 | 国产乱人伦精品一区二区在线观看 | 欧美精品日韩一区| 三级欧美在线一区| 精品国产乱码久久久久久牛牛| 国产做a爰片久久毛片| 中文字幕精品—区二区四季| jizz一区二区| 午夜精品久久久久久久久| 日韩你懂的在线播放| 国产a视频精品免费观看| 亚洲卡通欧美制服中文| 欧美精品精品一区| 丁香六月综合激情| 粉嫩高潮美女一区二区三区| 亚洲一区二区三区在线看| 精品日韩在线观看| 91丨九色丨蝌蚪富婆spa| 午夜精品一区二区三区三上悠亚| 亚洲精品一区二区三区影院| 91尤物视频在线观看| 免费欧美高清视频| 国产精品久久久久婷婷二区次| 欧美色欧美亚洲另类二区| 国产精品一区二区三区乱码| 亚洲综合色丁香婷婷六月图片| 日韩免费看网站| 91视频国产观看| 国模大尺度一区二区三区| 亚洲国产日韩一区二区| 国产免费观看久久| 91精品国产综合久久久久久久久久 | 国产精品剧情在线亚洲| 91精品久久久久久久91蜜桃| 成人影视亚洲图片在线| 青青草视频一区| 椎名由奈av一区二区三区| 日韩一区二区三| 欧美在线一区二区| 成人性色生活片免费看爆迷你毛片| 亚洲自拍偷拍图区| 国产精品久久久久7777按摩| 欧美大片在线观看| 欧美日韩1区2区| 色综合一区二区三区| 国产乱淫av一区二区三区| 日日夜夜精品免费视频| 国产尤物一区二区| 三级成人在线视频| 欧美一区二区久久久| 国产激情精品久久久第一区二区| 91麻豆精品国产91久久久久久久久 | 欧美在线看片a免费观看| 国产一区久久久| 免费成人你懂的| 日韩激情av在线| 亚洲一区二区在线观看视频| 亚洲精品中文在线| 成人欧美一区二区三区白人| 久久久精品免费观看| 日韩欧美电影在线| 91.成人天堂一区| 欧美日韩中文字幕一区| 色综合视频在线观看| 99精品国产一区二区三区不卡| 国产aⅴ综合色| 成人国产精品免费观看动漫| 国产91精品一区二区麻豆网站 | 亚洲人成在线观看一区二区| 国产精品国产三级国产aⅴ原创 | 一本到高清视频免费精品| www.日本不卡| 97国产精品videossex| 成人国产精品免费观看视频| 91在线观看高清| 色天天综合色天天久久| 91日韩在线专区| 精品夜夜嗨av一区二区三区| 激情综合五月天| 精品一区二区免费| 久久er精品视频| 久久国产精品99久久久久久老狼| 亚洲影视资源网| 日本系列欧美系列| 日韩中文字幕亚洲一区二区va在线 | 99在线热播精品免费| a在线播放不卡| 99精品视频一区| 91丨九色丨黑人外教| 91蜜桃免费观看视频| 国产精品一区二区免费不卡| 精品一区二区三区蜜桃| 国产一区视频网站| 国产激情精品久久久第一区二区| 盗摄精品av一区二区三区| 成人午夜在线播放| 不卡影院免费观看| 成人午夜精品在线| www.亚洲色图.com| 在线免费观看视频一区| 在线免费不卡电影| 8x8x8国产精品| 91精品国产综合久久久蜜臀图片| 久久精品视频一区| 亚洲天堂免费在线观看视频| 亚洲品质自拍视频网站| 一区二区三区四区在线免费观看| 亚洲成人精品一区二区| 日韩电影在线免费看| 琪琪久久久久日韩精品| 国产成a人无v码亚洲福利| 91视频观看视频| 在线播放国产精品二区一二区四区 | 成人白浆超碰人人人人| 91久久香蕉国产日韩欧美9色| 欧美日韩三级视频| 久久香蕉国产线看观看99| 中文字幕高清一区| 日韩国产精品大片| 国产精品一区二区91| 一本到高清视频免费精品| 日韩精品中午字幕| 国产精品天天看| 亚洲欧美另类综合偷拍| 日本三级韩国三级欧美三级| 成人性生交大片免费看视频在线| 色嗨嗨av一区二区三区| 日韩欧美第一区| 国产亚洲精品精华液| 日本成人中文字幕| 成人黄色大片在线观看| 日韩视频中午一区| 国产精品超碰97尤物18| 日本欧美在线观看| 成人app在线| 欧美精品一区二| 石原莉奈在线亚洲二区| 国产一区二区电影| 日本韩国精品在线| 久久综合国产精品| 亚洲欧美经典视频| 成人一级片网址| 日韩一二三区不卡| 亚洲你懂的在线视频| 国产精品亚洲а∨天堂免在线| 欧美亚洲免费在线一区| 日韩一级二级三级| 日日欢夜夜爽一区| 色女孩综合影院| 中文字幕久久午夜不卡| 激情五月婷婷综合网| 欧美群妇大交群中文字幕| 亚洲综合色区另类av| 色综合色狠狠天天综合色| 国产色91在线| 日本va欧美va瓶| 欧美色精品天天在线观看视频| 国产精品婷婷午夜在线观看| 顶级嫩模精品视频在线看| 26uuu另类欧美| 久久国产精品露脸对白| 欧美精品成人一区二区三区四区| 成人免费在线视频| 国产成人综合网| 久久久噜噜噜久久人人看| 免费人成网站在线观看欧美高清| 国产精品久久久久一区二区三区共 | 国产一区美女在线| 67194成人在线观看| 一区二区三区国产| 欧洲激情一区二区| 一区二区三区四区视频精品免费| www.av精品| 久久久久国产精品人| 岛国av在线一区| 中文成人综合网| 高清不卡一区二区| 国产欧美日产一区| 成人精品国产福利| 中文字幕免费不卡| 国产不卡一区视频| 亚洲欧美在线视频观看| 99视频有精品| 亚洲激情校园春色| 国产成人av一区| 亚洲综合另类小说| 欧美日韩国产三级| 亚洲国产成人va在线观看天堂| 91麻豆.com| 亚洲国产精品一区二区久久| 欧美精品免费视频| 国产在线播放一区二区三区|