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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4901|回復(fù): 16
收起左側(cè)

STM32用DAC播放WAV數(shù)據(jù)源程序 效果很好

  [復(fù)制鏈接]
ID:716413 發(fā)表于 2020-5-14 20:23 | 顯示全部樓層 |閱讀模式
想找個(gè)現(xiàn)成的,沒(méi)有找到,自己改了一個(gè),讓大家好找。
編譯運(yùn)行很好,接在擴(kuò)音機(jī)上,8000HZ的量化噪聲也沒(méi)有聽(tīng)到。
KEIL5下編譯,PA5口聲音輸出,可以用一根線連接在蜂鳴器口上。

單片機(jī)源程序如下:
  1. #include "system.h"
  2. #include "SysTick.h"
  3. #include "led.h"
  4. #include "usart.h"
  5. #include "key.h"
  6. #include "dac.h"


  7. /*******************************************************************************
  8. * 函 數(shù) 名         : main
  9. * 函數(shù)功能                   : 主函數(shù)
  10. * 輸    入         : 無(wú)
  11. * 輸    出         : 無(wú)
  12. *******************************************************************************/
  13. int main()
  14. {
  15.         u8 i=0;
  16.         u8 key;
  17.         int dac_value=0;
  18.         u16 dacval;
  19.         float dac_vol;
  20.        
  21.         SysTick_Init(72);
  22.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);  //中斷優(yōu)先級(jí)分組 分2組
  23.         LED_Init();
  24.         USART1_Init(9600);
  25.         KEY_Init();
  26.         DAC1_Init();
  27.         TIM4_Init(257,35-1); //72000000/257/35=8000
  28.        
  29.         while(1)
  30.         {
  31.                 key=KEY_Scan(0);
  32.                 if(key==KEY_UP)
  33.                 {
  34.                         dac_value+=400;
  35.                         if(dac_value>=4000)
  36.                         {
  37.                                 dac_value=4095;
  38.                         }
  39.                         DAC_SetChannel2Data(DAC_Align_12b_R,dac_value);
  40.                 }
  41.                 else if(key==KEY_DOWN)
  42.                 {
  43.                         dac_value-=400;       
  44.                         if(dac_value<=0)
  45.                         {
  46.                                 dac_value=0;
  47.                         }
  48.                         DAC_SetChannel2Data(DAC_Align_12b_R,dac_value);                       
  49.                 }
  50.                
  51.                 i++;
  52.                 if(i%20==0)
  53.                 {
  54.                         led1=!led1;
  55.                 }
  56.                
  57.                 if(i%50==0)
  58.                 {
  59.                         dacval=DAC_GetDataOutputValue(DAC_Channel_2);
  60.                         dac_vol=(float)dacval*(3.3/4096);
  61.                         printf("輸出DAC電壓值為%.2fV\r\n",dac_vol);
  62.                 }
  63.                 delay_ms(10);       
  64.         }
  65. }
復(fù)制代碼

所有資料51hei提供下載:
DAC數(shù)模wav.7z (294.99 KB, 下載次數(shù): 145)
回復(fù)

使用道具 舉報(bào)

ID:58698 發(fā)表于 2020-6-20 13:08 | 顯示全部樓層
怎么我接不行?
回復(fù)

使用道具 舉報(bào)

ID:716413 發(fā)表于 2020-6-20 18:39 | 顯示全部樓層

你是怎樣接的
回復(fù)

使用道具 舉報(bào)

ID:58698 發(fā)表于 2020-7-14 16:56 | 顯示全部樓層
直接接三極管驅(qū)動(dòng)蜂鳴器,可以嗎?
回復(fù)

使用道具 舉報(bào)

ID:58698 發(fā)表于 2020-7-14 16:57 | 顯示全部樓層

直接驅(qū)動(dòng)三極管,接蜂鳴器

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:716413 發(fā)表于 2020-7-14 21:09 | 顯示全部樓層
可以的,大部分開(kāi)發(fā)板上有蜂鳴器,直接把蜂鳴器那個(gè)端口和PA5并接。先要保證蜂鳴器那個(gè)端口不是輸出0,怕燒了端口,當(dāng)然,我不怕,就接了,也響了。
也可以接到電腦音箱輸入端。

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:58698 發(fā)表于 2020-7-16 13:58 | 顯示全部樓層
新洲羅遠(yuǎn) 發(fā)表于 2020-7-14 21:09
可以的,大部分開(kāi)發(fā)板上有蜂鳴器,直接把蜂鳴器那個(gè)端口和PA5并接。先要保證蜂鳴器那個(gè)端口不是輸出0,怕燒 ...

我把驅(qū)動(dòng)蜂鳴器的三極管的IO直接跳到PA5,也不行呀,用你這個(gè)例程。
回復(fù)

使用道具 舉報(bào)

ID:58698 發(fā)表于 2020-7-16 14:58 | 顯示全部樓層
我用示波器看PA5端口沒(méi)有電壓輸出,蜂鳴器不響
回復(fù)

使用道具 舉報(bào)

ID:58698 發(fā)表于 2020-7-16 15:35 | 顯示全部樓層
接上3.3V參考電壓,DAC電壓有了。可是PA5控制三極管,去驅(qū)動(dòng)蜂鳴器也不響呀
回復(fù)

使用道具 舉報(bào)

ID:58698 發(fā)表于 2020-7-16 15:47 | 顯示全部樓層
可以了,配置問(wèn)題
回復(fù)

使用道具 舉報(bào)

ID:716413 發(fā)表于 2020-7-16 17:03 | 顯示全部樓層
ycf 發(fā)表于 2020-7-16 15:35
接上3.3V參考電壓,DAC電壓有了。可是PA5控制三極管,去驅(qū)動(dòng)蜂鳴器也不響呀

開(kāi)發(fā)板型號(hào),主芯片是什么?
回復(fù)

使用道具 舉報(bào)

ID:58698 發(fā)表于 2020-7-16 18:02 | 顯示全部樓層
STM32的,可以了,非常感謝!
回復(fù)

使用道具 舉報(bào)

ID:830151 發(fā)表于 2020-10-20 09:51 | 顯示全部樓層
可以是可以,但是有噪聲,接了功放,接了濾波還是有噪聲,可能是我的濾波電路太粗糙了
回復(fù)

使用道具 舉報(bào)

ID:648015 發(fā)表于 2020-11-3 16:37 | 顯示全部樓層
樓主,你的WAV的音頻數(shù)據(jù)那個(gè)數(shù)組是怎么弄的
回復(fù)

使用道具 舉報(bào)

ID:607298 發(fā)表于 2020-11-4 10:15 | 顯示全部樓層
沒(méi)用過(guò)STM32的DAC,程序大概看了下,音頻文件在定時(shí)中斷中播放,主程序是做啥用的?
樓上音頻數(shù)據(jù)就是從.WAV格式音頻文件掐頭去尾取中間實(shí)際音頻數(shù)據(jù)而來(lái),
要注意音頻通道數(shù)、數(shù)據(jù)長(zhǎng)度、播放速度等是否滿足需求,否則用音頻軟件重新配置下。
回復(fù)

使用道具 舉報(bào)

ID:285416 發(fā)表于 2021-5-19 08:21 | 顯示全部樓層
是f407的嗎  音頻文件怎么弄
回復(fù)

使用道具 舉報(bào)

ID:285416 發(fā)表于 2021-5-19 19:23 | 顯示全部樓層
這個(gè)有F407的嘛,幫搞一個(gè)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日本福利一区 | 久热国产精品 | www.888www看片| 日韩av三区 | 日韩精品一区二区三区在线播放 | 国产亚洲网站 | 男人av的天堂 | 久久久五月天 | 国产特一级黄色片 | 中文字幕欧美一区 | 成年人在线视频 | 久久大陆 | 成人性生交大片免费看中文带字幕 | 一区二区成人 | 久久久久国产一区二区三区 | 在线观看国产91 | 在线一区视频 | 免费久久精品视频 | 久久精品国产清自在天天线 | 亚洲情综合五月天 | 国产精品www | 国产精品电影在线观看 | 国产精品久久久久久久久久久久冷 | 天天干狠狠操 | 日韩成人在线网站 | 亚洲精品视频在线看 | 亚洲欧美视频 | 无码一区二区三区视频 | 久久国产高清 | 成人高清视频在线观看 | 综合久久av | 精品欧美一区二区三区久久久 | 欧美在线天堂 | 亚洲一区亚洲二区 | 91新视频| 人人干人人爽 | 亚洲精品视频一区 | 国产欧美在线一区 | 天天干干| 欧美日韩在线观看一区 | 欧美电影免费观看高清 |