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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

任意聲音延遲程序 msp430單片機工程

[復制鏈接]
跳轉到指定樓層
樓主
可用于聲音信號的任意時間延遲,msp430單片機做的


下載:
復件 program.rar (320.76 KB, 下載次數: 13)



主程序預覽:
  1. #include "VoiceHeader.h"
  2. #include "msp430f2274.h"
  3. #include "math.h"
  4. //=============================================================================
  5. // 程序初始化
  6. //=============================================================================
  7. void delay_us(unsigned int us)
  8. {
  9.   while(us--);
  10. }
  11. void delay_ms (unsigned int ms)
  12. {
  13.   unsigned int i;
  14.   for(i=0;i<ms;i++)
  15.   delay_us(500);
  16. }

  17. void InitTimeA(void)
  18. {
  19.   TACCTL0 = CCIE;                           // TACCR0 interrupt enabled
  20.   TACCR0 = 50000;
  21.   TACTL = TASSEL_2 + MC_2;                  // SMCLK, contmode
  22. }
  23. void InitWDT(void)
  24. {
  25.   WDTCTL = WDT_MDLY_32;    // 4ms  mclk=8M
  26.   IE1 |= WDTIE;            // Enable WDT interrupt
  27.   return;
  28. }

  29. void Init_CLK(void)
  30. {
  31.   DCOCTL = 0x68;
  32.   BCSCTL1 = XTS +XT2OFF +DIVA_0 +RSEL3 +RSEL2 +RSEL1 +RSEL0; //
  33.   BCSCTL2 = DIVS_0 +DIVM_0 + SELM_0 + DIVS_3;    // SMCLK = MCLK
  34.   //BCSCTL2 = DIVS_0 +DIVM_0 + SELM_0;
  35.   BCSCTL3 = XT2S_2 + LFXT1S_0;

  36.      /*
  37.   BCSCTL1 = XTS +DIVA_0;
  38.   BCSCTL2 = DIVS_0 +DIVM_0 + SELM_2 +SELS;    // SMCLK = MCLK
  39.   BCSCTL3 = XT2S_2 + LFXT1S_2 +XCAP_3;   //
  40.    */
  41.   
  42.   P1SEL |= BIT4;
  43.   P1DIR |= BIT4;
  44.   return ;
  45. }

  46. void InitADC(void)
  47. {
  48.   ADC10CTL1 = INCH_1 + ADC10DIV_7 + ADC10SSEL_3 + CONSEQ_1; // SMCLK
  49.   ADC10CTL0 = SREF_1 + ADC10SHT_0 + MSC + REF2_5V + REFON + ADC10ON+ ADC10IE;
  50.   ADC10AE0 |= BIT0 + BIT1;                  // P2.0/P2.1 ADC option select
  51. // ADC10DTC0 |= ADC10CT;           // Continous two block transfers  ADC10TB +
  52.   ADC10DTC1 = 0x02;                         // 2 conversion locations
  53.   ADC10SA = 0x0200;                         // Data buffer start
  54.   ADC10CTL0 |= ENC + ADC10SC;               // Start sampling continously
  55. }

  56. void main(void)
  57. {
  58.   _DINT();
  59.   WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  60.   Init_CLK();
  61.   InitADC();
  62. // InitTimeA();
  63.   OutLED;
  64.   WriteHighLED;
  65.   
  66.   OutAD7397D0_D7;
  67.   OutAD7397D8_D9;
  68.   OutAD7397_RS;
  69.   WriteHighAD7397_RS;
  70.   OutAD7397_CS;
  71.   WriteHighAD7397_CS;
  72.   OutAD7397_LDA;
  73.   WriteHighAD7397_LDA;
  74.   OutAD7397_AB;
  75.   OutAD7397_LDB;
  76.   WriteHighAD7397_LDB;
  77.   
  78. //  delay_ms(1000);
  79. //  WriteLowLED;
  80.   _EINT();
  81.   
  82.   pA = 200;
  83.   pB = 0;
  84.   
  85.   DataA = (unsigned int *)0x0200;              // Initialize
  86.   DataB = (unsigned int *)0x0202;              // Initialize
  87.   
  88.   
  89.   while(1)
  90.   {
  91.   
  92.   }
  93. }

  94. /*
  95. ******************************************************************************
  96. *中斷程序處理
  97. ******************************************************************************
  98. */
  99. #pragma vector = PORT1_VECTOR       /* 0xFFE4 Port 1 */
  100. __interrupt void PORT1_sever(void)
  101. {
  102. }
  103. #pragma vector = PORT2_VECTOR       /* 0xFFE6 Port 2 */
  104. __interrupt void PORT2_sever(void)
  105. {
  106. }
  107. #pragma vector = ADC10_VECTOR       /* 0xFFEA ADC10 */
  108. __interrupt void ADC10_sever(void)
  109. {  
  110.   
  111.   ADC10CTL0 &= ~(ENC + ADC10SC);               // Start sampling continously
  112.   //================================================
  113.   
  114.   pA ++;
  115.   pB ++;
  116.   
  117.   if(pA >= 400) pA = 0;
  118.   if(pB >= 400) pB = 0;
  119.   
  120.   data[pA] = *DataB;
  121.   
  122.   
  123.   
  124.   
  125.   WriteHighLED;
  126.   WriteLowLED;
  127.   //================================================
  128.   // A 1
  129.   WriteHighAD7397_AB;
  130.   WriteLowAD7397_LDA;
  131.   DD = data[pB];
  132.   WriteAD7397D0_D7 = (unsigned char)DD;
  133.   DD = DD >> 8;
  134.   WriteAD7397D8_D9 &= ~(BIT0 + BIT1);
  135.   WriteAD7397D8_D9 |= DD;
  136.   WriteLowAD7397_CS;
  137.   WriteHighAD7397_CS;
  138.   
  139.   // B 2
  140.   WriteLowAD7397_AB;
  141.   WriteLowAD7397_LDB;
  142.   DD = data[pB];
  143.   WriteAD7397D0_D7 = (unsigned char)DD;
  144.   DD = DD >> 8;
  145.   WriteAD7397D8_D9 &= ~(BIT0 + BIT1);
  146.   WriteAD7397D8_D9 |= DD;
  147.   WriteLowAD7397_CS;
  148.   WriteHighAD7397_CS;
  149.   //=======================================================
  150.   ADC10SA = 0x0200;                         // Data buffer start
  151.   ADC10CTL0 |= ENC + ADC10SC;               // Start sampling continously
  152. }
  153. #pragma vector = USCIAB0TX_VECTOR   /* 0xFFEC USCI A0/B0 Transmit */
  154. __interrupt void USCIAB0TX_sever(void)
  155. {
  156. }
  157. #pragma vector = USCIAB0RX_VECTOR   /* 0xFFEE USCI A0/B0 Receive */
  158. __interrupt void USCIAB0RX_sever(void)
  159. {
  160. }
  161. #pragma vector = TIMERA1_VECTOR     /* 0xFFF0 Timer A CC1-2, TA */
  162. __interrupt void TIMERA1_sever(void)
  163. {
  164. }
  165. #pragma vector = TIMERA0_VECTOR     /* 0xFFF2 Timer A CC0 */
  166. __interrupt void TIMERA0_sever(void)
  167. {
  168. }
  169. #pragma vector = WDT_VECTOR         /* 0xFFF4 Watchdog Timer */
  170. __interrupt void WDT_sever(void)
  171. {  
  172. }
  173. #pragma vector = TIMERB1_VECTOR     /* 0xFFF8 Timer B CC1-2, TB */
  174. __interrupt void TIMERB1_sever(void)
  175. {
  176. }
  177. #pragma vector = TIMERB0_VECTOR     /* 0xFFFA Timer B CC0 */
  178. __interrupt void TIMERB0_sever(void)
  179. {
  180. }
復制代碼


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 伊人免费在线观看 | 亚洲精选一区 | 久草新在线| 日日日色| 在线观看国产视频 | 高清久久久 | 中文字幕欧美一区 | 久久中文字幕一区 | 亚洲成人精品 | 久久久精品久久 | 国产精品久久久久久久久久久久久 | 欧美精产国品一二三区 | 秋霞在线一区 | 久久精品亚洲精品国产欧美 | 精品美女久久久 | 亚洲精品一区二区 | 高清国产一区二区 | 玖玖精品视频 | 国产成人精品一区二区三 | 国产午夜精品久久久 | 四虎永久免费在线 | 69亚洲精品 | 视频一区二区三区中文字幕 | 日韩av网址在线观看 | 婷婷在线视频 | 污片在线免费观看 | 正在播放国产精品 | 亚洲欧美国产精品久久 | 国产精品久久久久一区二区 | 久久久激情 | 成人精品一区二区三区中文字幕 | 91超碰caoporn97人人 | av片在线观看 | 国产精品1区2区 | 久在线视频播放免费视频 | 久久久久久成人 | 99pao成人国产永久免费视频 | 欧美日韩一二区 | 夜夜爽99久久国产综合精品女不卡 | 337p日韩| 亚洲精品久久国产高清情趣图文 |