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

標題: MSP430控制的DDS輸出波形為正弦波和方波c語言程序 [打印本頁]

作者: xueer    時間: 2013-7-14 16:19
標題: MSP430控制的DDS輸出波形為正弦波和方波c語言程序
  1. //***************************************************//
  2. //                  子程序說明                       //
  3. //***************************************************//
  4. //函數1:  ad9850_reset()
  5. //        復位ad9850,之后為并口寫入模式        
  6. //函數2:  ad9850_reset_serial()
  7. //        復位ad9850,之后為串口寫入模式
  8. //函數3:  ad9850_wr_parrel(unsigned char w0,double frequence)
  9. //        并口寫ad9850數據,w0為ad9850中w0的數據,frequence
  10. //        為寫入的頻率   
  11. //函數4:  ad9850_wr_serial(unsigned char w0,double frequence)
  12. //        串口寫ad9850數據,w0為ad9850中w0的數據,frequence
  13. //        為寫入的頻率   
  14. //需定義的位:
  15.          //ad9850_w_clk    ;
  16.          //ad9850_fq_up    ;
  17.          //ad9850_rest     ;
  18.          //ad9850_bit_data ;
  19. //例:
  20.          //sbit ad9850_w_clk    =P2^2;
  21.          //sbit ad9850_fq_up    =P2^1;
  22.          //sbit ad9850_rest     =P2^0;
  23.          //sbit ad9850_bit_data =P1^7;
  24. //***************************************************//
  25. //                 寫數據說明                        //
  26. //***************************************************//
  27. //寫數據例:
  28. //       ad9850_reset()
  29. //       wr_lcd02_data(unsigned char x)
  30. //       ad9850_wr_parrel(0x01,1000)
  31. //       ad9850_wr_serial(0x01,1000)
  32. //***************************************************//
  33. //---------------------------------------------------//
  34. //                   程序                            //
  35. //---------------------------------------------------//
  36. # include <msp430f149.h>
  37. # include <stdio.h>

  38. #define ad9850_w_clk_High   P2OUT|=0x04
  39. #define ad9850_w_clk_Low    P2OUT&=~0x04
  40. #define ad9850_fq_up_High   P2OUT|=0x02
  41. #define ad9850_fq_up_Low    P2OUT&=~0x02
  42. #define ad9850_rest_High    P2OUT|=0x01
  43. #define ad9850_rest_Low     P2OUT&=~0x01
  44. #define ad9850_bit_data     P1OUT

  45. //***************************************************//
  46. //              ad9850復位(并口模式)                 //
  47. //---------------------------------------------------//
  48. void ad9850_reset()
  49. {
  50.   ad9850_w_clk_Low;
  51.   ad9850_fq_up_Low;
  52.   ad9850_rest_Low;
  53.   ad9850_rest_High;
  54.   ad9850_rest_Low;
  55. }
  56. //***************************************************//
  57. //              ad9850復位(并口模式)                 //
  58. //---------------------------------------------------//
  59. void ad9850_reset_serial()
  60. {
  61. ad9850_w_clk_Low;
  62. ad9850_fq_up_Low;
  63. //rest信號
  64.   ad9850_rest_Low;
  65.   ad9850_rest_High;
  66.   ad9850_rest_Low;
  67. //w_clk信號
  68. ad9850_w_clk_Low;
  69. ad9850_w_clk_High;
  70. ad9850_w_clk_Low;
  71. //fq_up信號
  72. ad9850_fq_up_Low;
  73. ad9850_fq_up_High;
  74. ad9850_fq_up_Low;
  75. }
  76. //***************************************************//
  77. //          向ad9850中寫命令與數據(并口)             //
  78. //---------------------------------------------------//
  79. void ad9850_wr_parrel(unsigned char w0,double frequence)
  80. {
  81. unsigned char w;
  82. long int y;
  83. double x;
  84. //計算頻率的HEX值
  85. x=4294967295/125;//適合125M晶振
  86. //如果時鐘頻率不為125MHZ,修改該處的頻率值,單位MHz !!!
  87. frequence=frequence/1000000;
  88. frequence=frequence*x;
  89. y=(double)frequence;
  90. //寫w0數據
  91. w=w0;   
  92. ad9850_bit_data=w;      //w0
  93. ad9850_w_clk_High;
  94. ad9850_w_clk_Low;
  95. //寫w1數據
  96. w=(y>>24);
  97. ad9850_bit_data=w;      //w1
  98. ad9850_w_clk_High;
  99. ad9850_w_clk_Low;
  100. //寫w2數據
  101. w=(y>>16);
  102. ad9850_bit_data=w;      //w2
  103. ad9850_w_clk_High;
  104. ad9850_w_clk_Low;
  105. //寫w3數據
  106. w=(y>>8);
  107. ad9850_bit_data=w;      //w3
  108. ad9850_w_clk_High;
  109. ad9850_w_clk_Low;
  110. //寫w4數據
  111. w=(y>>=0);
  112. ad9850_bit_data=w;      //w4
  113. ad9850_w_clk_High;
  114. ad9850_w_clk_Low;
  115. //移入始能
  116. ad9850_fq_up_High;
  117. ad9850_fq_up_Low;
  118. }

  119. //***************************************************//
  120. //                   測試程序1000Hz                  //
  121. //---------------------------------------------------//
  122. main()
  123. {
  124.    WDTCTL=WDTPW+WDTHOLD;
  125.    P1DIR=0XFF;
  126.    P2DIR=0XFF;
  127. //---------------------------------------------------//
  128. //并行寫1000Hz程序
  129. ad9850_reset();
  130. ad9850_wr_parrel(0x00,1);
  131. //---------------------------------------------------//
  132. while(1)
  133. {
  134. }
  135. }
復制代碼

作者: wuyutian51hei    時間: 2013-8-22 08:40
看了很不錯!可實用!
作者: Vijay    時間: 2016-12-23 12:36
這要用到那幾個模塊
作者: 風蕭嘆    時間: 2017-4-27 21:22
非常不錯!謝謝樓主!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美五月婷婷 | 国产一区二区视频免费在线观看 | 国产视频精品在线观看 | 成人亚洲视频 | 成人免费看黄网站在线观看 | 在线看av的网址 | 人人爱干 | 欧美综合久久久 | 97国产精品视频人人做人人爱 | 中文字幕第一页在线 | 国产精品久久久久久久久久 | 国产999精品久久久久久 | 精品视频一区二区 | 少妇精品亚洲一区二区成人 | 亚洲国产欧美精品 | 午夜伦理影院 | 国产成人综合一区二区三区 | 亚洲精选久久 | 美日韩精品 | 国产精品久久久久久久免费大片 | 一区二区视频在线 | 91在线免费视频 | 91精品国产乱码久久久久久久久 | 日韩欧美精品一区 | 久久久xxx | 美女福利视频 | 日韩在线免费视频 | 日韩毛片 | 欧产日产国产精品视频 | 国产精品久久久久久久久免费丝袜 | 久久精品一区二区三区四区 | av中文字幕在线 | 成人在线不卡 | 欧美日韩在线视频一区二区 | 三级视频在线观看电影 | 日日夜夜视频 | 国产精品美女视频 | 亚洲国产成人精品女人 | 四虎影院免费在线播放 | 日韩精品一区二区三区在线观看 | www.日韩|