久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3380|回復: 1
打印 上一主題 下一主題
收起左側

MSP430F149控制ADF4360-7程序+資料

[復制鏈接]
跳轉到指定樓層
樓主
在應用ADF4360-7時找到的學習應用資料,用的是MSP430F149單片機。
資料包括
官方資料:芯片數據手冊、應用手冊、開發板資料等
原理圖:ADF4360-7及控制部分原理圖(Altium Designer Winter 09 格式和PDF格式),所需元件封裝庫等
控制程序:基于MSP430F149的控制程序及其他參考程序
單片機源程序如下:
  1. /***********************************************************************************************
  2. 文件:ADF4370.H
  3. 作者:沨
  4. 用途:集成鎖相環ADF4360-7控制程序
  5. MCU: MSP430F149 晶振:8MHz
  6. 編譯器:IAR Ror MSP430 5.10
  7. 硬  件:2011_10_06
  8. 說明:
  9. 日期:下午 02:56 2011-12-5
  10. ***********************************************************************************************/

  11. #define uchar unsigned char
  12. #define uint unsigned int

  13. #define        PLL_SET_CE()                P5OUT |= BIT0        //P5.0->CE
  14. #define        PLL_CLR_CE()                P5OUT &=~BIT0

  15. #define PLL_SET_DATA()                P5OUT |= BIT1        //P5.1->DATA
  16. #define PLL_CLR_DATA()                P5OUT &=~BIT1
  17. #define PLL_SET_DATA_OUT()        P5DIR |= BIT1
  18. #define PLL_SET_DATA_IN()        P5DIR &=~BIT1
  19. #define PLL_DATA_IN                 (P5IN & BIT1)

  20. #define        PLL_SET_SCL()                P5OUT |= BIT3        //P5.3->SCL
  21. #define        PLL_CLR_SCL()                P5OUT &=~BIT3

  22. #define PLL_SET_LE()                P5OUT |= BIT4        //P5.4->LE
  23. #define PLL_CLR_LE()                P5OUT &=~BIT4

  24. #define PLL_LD_IN                 (P5IN & BIT5)
  25. #define PLL_IO_SET                 P5DIR = 0xDB;                //PLL端口配置


  26. //===========================變量定義=======================================
  27. /*-------------------------------------400MHz---------------------------------------------
  28. ----------------------------------------------------------------------------------------*/
  29. unsigned char CONTROL_LATCH[3]                ={0x0F,0xF1,0x20};               
  30. unsigned char N_COUNTER_LATCH[3]        ={0x00,0x0A,0X02};
  31. unsigned char R_COUNTER_LATCH[3]        ={0x30,0x00,0x09};

  32. void delay (unsigned int length)
  33. {
  34.         while (length >0)
  35.             length--;
  36. }

  37. //--------------------------------------------------------------------------------
  38. void DelaymS(uint ms)
  39. {
  40.     uint i;
  41.     while(ms--)   
  42.    {
  43.      for(i=1;i<(uint)(8*143-2);i++)
  44.          ;
  45.    }   
  46. }
  47. //---------------------------------
  48. //void WriteToADF4350(unsigned char count,unsigned char *buf);
  49. //---------------------------------
  50. //Function that writes to the ADF4350 via the SPI port. 函數,該函數通過SPI端口寫入ADF4350。
  51. //--------------------------------------------------------------------------------
  52. void WriteToADF4360(unsigned char count, unsigned char *buf)
  53. {
  54.         unsigned        char        ValueToWrite = 0;
  55.     unsigned        char        i = 0;
  56.         unsigned        char        j = 0;
  57.         
  58.         PLL_SET_DATA_OUT();
  59.         
  60.         delay(10);
  61.         PLL_CLR_SCL();
  62.         PLL_CLR_LE();
  63.         delay(10);

  64.         for(i=0;i<count;i++)
  65.          {
  66.                  ValueToWrite = *(buf + i);
  67.                 for(j=0; j<8; j++)
  68.                 {
  69.                         if(0x80 == (ValueToWrite & 0x80))
  70.                         {
  71.                                 PLL_SET_DATA();          //Send one to SDO pin
  72.                         }
  73.                         else
  74.                         {
  75.                                 PLL_CLR_DATA();          //Send zero to SDO pin
  76.                         }
  77.                         delay(10);
  78.                         PLL_SET_SCL();
  79.                         delay(10);
  80.                         ValueToWrite <<= 1;        //Rotate data
  81.                         PLL_CLR_SCL();
  82.                 }
  83.         }
  84.         PLL_CLR_DATA();
  85.         delay(10);
  86.         PLL_SET_LE();
  87.         delay(10);
  88.         PLL_CLR_LE();
  89. }


  90. //---------------------------------
  91. //void ReadFromADF4350(unsigned char count,unsigned char *buf)從ADF4350讀取
  92. //---------------------------------
  93. //Function that reads from the ADF4350 via the SPI port. 該函數通過SPI端口從ADF4350中讀取數據。
  94. //--------------------------------------------------------------------------------
  95. void ReadFromADF4360(unsigned char count, unsigned char *buf)
  96. {
  97.         unsigned        char        i = 0;
  98.         unsigned        char        j = 0;
  99.         unsigned        int          iTemp = 0;
  100.         unsigned        char          RotateData = 0;

  101.         PLL_SET_DATA_IN();
  102.         
  103.         delay(1);
  104.         PLL_CLR_SCL();
  105.         PLL_CLR_LE();
  106.         delay(1);

  107.         for(j=0; j<count; j++)
  108.         {
  109.                 for(i=0; i<8; i++)
  110.                 {
  111.                         RotateData <<= 1;                //Rotate data
  112.                         delay(1);
  113.                         iTemp = PLL_DATA_IN;                        //Read DATA of ADF4350
  114.                         PLL_SET_SCL();        
  115.                         if(iTemp)
  116.                         {
  117.                                 RotateData |= 1;        
  118.                         }
  119.                         delay(1);
  120.                         PLL_CLR_SCL();
  121.                 }
  122.                 *(buf + j)= RotateData;
  123.         }         
  124.         delay(1);
  125.         PLL_SET_LE();
  126.         delay(1);
  127.         PLL_CLR_LE();
  128. }

  129. void PLL_set_frq (void)
  130. {        DelaymS(20);
  131.           PLL_SET_CE();
  132.         WriteToADF4360(3,R_COUNTER_LATCH);        
  133.         WriteToADF4360(3,CONTROL_LATCH);                //
  134.         DelaymS(50);        //需大于10mS
  135.         WriteToADF4360(3,N_COUNTER_LATCH);                //
  136. }
復制代碼

123.png (6.79 KB, 下載次數: 212)

123.png

ADF4360-7應用資料.rar

4.5 MB, 下載次數: 18, 下載積分: 黑幣 -5

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:632612 發表于 2019-10-30 12:52 | 只看該作者
謝謝樓主的分享
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: av香蕉 | 91精品国产色综合久久不卡蜜臀 | 欧州一区二区三区 | 中文字幕男人的天堂 | 亚洲精品福利视频 | 免费视频一区 | 精品久久久久久久久久久下田 | 亚洲国产精久久久久久久 | 国产九九精品 | 欧美日韩免费 | 婷婷毛片 | 国产成人久久精品一区二区三区 | 电影午夜精品一区二区三区 | 久久精品亚洲欧美日韩精品中文字幕 | 国产成人一区二区 | 国产精品视频在线播放 | 亚洲欧美综合精品久久成人 | 美日韩精品 | 天天天天操 | 精品国产乱码久久久久久老虎 | 福利网址 | 久久久一区二区三区 | 欧美成人激情 | 一区二区三区四区在线视频 | 国产精品极品美女在线观看免费 | 精产国产伦理一二三区 | 日本不卡一区二区三区在线观看 | 日韩中文字幕在线观看 | 91影视 | 网黄在线| 99热精品在线 | 中文字幕一区二区三区不卡在线 | 国产69精品久久99不卡免费版 | 在线色 | 黄色在线免费观看视频 | 国产黄色av网站 | 永久免费在线观看 | 亚洲一区精品在线 | 最新中文字幕第一页视频 | 欧美日韩在线播放 | xx视频在线 |