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

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

QQ登錄

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

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

基于stm32 DIY的網(wǎng)絡(luò)收音機(jī) 播放mp3(DM9000A+PCM1770源碼+電路)帶觸摸屏

  [復(fù)制鏈接]
ID:221028 發(fā)表于 2019-1-4 15:50 | 顯示全部樓層 |閱讀模式
使用STM32F103ZE芯片,通過(guò)DM9000AEP把互聯(lián)網(wǎng)上的網(wǎng)絡(luò)音頻流(支持shoutcast、http mp3流)抓取下來(lái),先在板子上外擴(kuò)的SRAM上緩存。然后在STM32F103ZE上通過(guò)mp3軟件解碼器解碼變成PCM音頻,通過(guò)DMA方式送到PCM1770進(jìn)行回放;

它也可以流暢播放SD卡上的mp3、wav格式文件。(支持大于4G的SD卡);

通過(guò)3.2寸240*320的TFT觸摸屏、五向按鍵、紅外遙控器進(jìn)行控制;

紅外遙控器具備自學(xué)習(xí)功能;

系統(tǒng)信息顯示;

LCD背光、音量可調(diào),觸摸靈敏度可隨時(shí)校準(zhǔn);

編譯說(shuō)明:編譯時(shí)報(bào) 關(guān)于‘;’的error時(shí),請(qǐng)直接注釋掉錯(cuò)誤所在行即可

需要將resource文件夾放到tf卡根目錄,方可正常工作
Fl9_hzABCX7veqkXJl5HIwVy6TyV.jpg Foj6jPv07bWYqjNnV3hOvF3coiPT.png

電路原理圖如下:
0.jpg

單片機(jī)源程序如下:
  1. /**********************************************************************************************************
  2. *                                      
  3. *    模塊名稱 : da驅(qū)動(dòng)模塊
  4. *    文件名稱 : pcm1770.c
  5. *    版    本 : V1.0
  6. *    說(shuō)    明 : 通過(guò)iis接口驅(qū)動(dòng)da芯片
  7. *
  8. **********************************************************************************************************/
  9. #include "stm32f10x.h"
  10. #include "codec.h"
  11. #include <rtthread.h>

  12. #define PCM_PD              // (1 <<  14)//PB14       PD口接到主ic reset腳
  13. #define PCM_PD_SET_L        //GPIOB->ODR&=~(PCM_PD)     //GPIOB->ODR = (GPIOB->ODR & ~PCM_PD) | (x ? PCM_PD : 0);   
  14. #define PCM_PD_SET_H        //GPIOB->ODR|=(PCM_PD)

  15. #define PCM_CS               (1 <<  3)//PC3
  16. #define PCM_CS_SET_L         GPIOC->ODR&=~(PCM_CS)      //GPIOB->ODR = (GPIOB->ODR & ~PCM_CS) | (x ? PCM_CS : 0);   
  17. #define PCM_CS_SET_H         GPIOC->ODR|=(PCM_CS)

  18.    
  19. #define PCM_CLK              (1 <<  4)//PC4
  20. #define PCM_CLK_SET_L        GPIOC->ODR&=~(PCM_CLK)    //     GPIOB->ODR = (GPIOB->ODR & ~PCM_CLK) | (x ? PCM_CLK : 0);   
  21. #define PCM_CLK_SET_H         GPIOC->ODR|=(PCM_CLK)

  22. #define PCM_DAT               (1 <<  5)//PC5
  23. #define PCM_DAT_SET_L         GPIOC->ODR&=~(PCM_DAT)    //GPIOB->ODR = (GPIOB->ODR & ~PCM_DAT) | (x ? PCM_DAT : 0);   
  24. #define PCM_DAT_SET_H          GPIOC->ODR|=(PCM_DAT)


  25. vu8 s_Volume;//音量大小




  26. /**
  27.   * @brief  Delay
  28.   * @param  Delay Num
  29.   * @retval None
  30.   */

  31. void Delay(u32 Num)
  32. {
  33.     vu32 Count = Num*2;//*4;
  34.    
  35.     while (--Count);   
  36. }

  37. /**
  38.   * @brief  PCM1770 Init
  39.   * @param  None
  40.   * @retval None
  41.   */
  42. void PCM1770Init(void)
  43. {
  44.     GPIO_InitTypeDef GPIO_InitStructure;
  45.     //使能控制信號(hào)的時(shí)鐘
  46.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

  47.       GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5;
  48.       GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  49.       GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
  50.       GPIO_Init(GPIOC, &GPIO_InitStructure);
  51.    
  52.       //硬件復(fù)位一下
  53.       PCM_PD_SET_L;
  54.     Delay(500);//
  55.     PCM_PD_SET_H;      
  56.      Delay(10);    //
  57.   
  58.        PCM_CS_SET_H ;
  59.       PCM_CLK_SET_H;
  60.       PCM_DAT_SET_H;     
  61.     Delay(6);    //
  62.    
  63.       PCM_WriteData(0x03, 0x84);     //256fs IIS格式  stm32的iis mclk規(guī)定為256fs ( 84= 16 right)     
  64.      PCM_WriteData(0x04, 0x00);     //         
  65.     //PCM1770_VolumeSet(50);
  66. }
  67. /**
  68.   * @brief  
  69.   * @param  Reg Index, Data
  70.   * @retval None
  71.   */
  72.   
  73. void PCM_WriteData(const u8 Reg, const u8 Data)
  74. {
  75.     vu16 TrasferData, i;
  76.    
  77.     TrasferData = Data;
  78.     TrasferData |= (Reg<<8)&0xff00;

  79.     PCM_CS_SET_L;//select
  80.     Delay(5);
  81.     for (i = 0; i < 16; i++)
  82.     {//傳輸時(shí)MSB first
  83.         PCM_CLK_SET_L;
  84.         
  85.         if (TrasferData&(0x8000>>i))
  86.         {
  87.              PCM_DAT_SET_H;   
  88.         }
  89.         else
  90.         {
  91.              PCM_DAT_SET_L;   
  92.         }
  93.         Delay(5);//等數(shù)據(jù)穩(wěn)定
  94.         PCM_CLK_SET_H;    //上升沿寫入
  95.         Delay(5);//等待從機(jī)讀數(shù)據(jù)        
  96.     }        
  97.     PCM_CLK_SET_H;
  98.       PCM_DAT_SET_H;   

  99.     PCM_CS_SET_H;//relase
  100.     Delay(5);
  101. }
  102.   

  103.   
  104. /**
  105.   * @brief  Volume_Add
  106.   * @param  None
  107.   * @retval None
  108.   */
  109. void PCM1770_VolumeSet(vu8 vol)
  110. {
  111.         s_Volume = vol*63/100;
  112.           PCM_WriteData(0x01, s_Volume);
  113.           PCM_WriteData(0x02, s_Volume);        
  114.    
  115.         //rt_kprintf("Volume = %d\n\r", s_Volume);
  116. }

  117. u8  GetPCM1770_Volume(void)
  118. {
  119.         return  s_Volume*100/63;
  120. }

  121. void PCM1770_Mute(void)
  122. {
  123.           PCM_WriteData(0x01, 0xc0);//
  124.            PCM_WriteData(0x02, 0x00);//   
  125. }




  126. /******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/
復(fù)制代碼
0.png

所有資料51hei提供下載:
原理圖.zip (259.68 KB, 下載次數(shù): 138)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:104477 發(fā)表于 2019-1-4 21:28 來(lái)自手機(jī) | 顯示全部樓層
這成本好高
回復(fù)

使用道具 舉報(bào)

ID:499661 發(fā)表于 2019-7-18 14:45 | 顯示全部樓層
好東西呀
回復(fù)

使用道具 舉報(bào)

ID:611151 發(fā)表于 2019-10-20 22:17 | 顯示全部樓層
挺不錯(cuò)的!!支持了!!
回復(fù)

使用道具 舉報(bào)

ID:447180 發(fā)表于 2019-11-8 12:37 | 顯示全部樓層
這個(gè)太牛了  支持
回復(fù)

使用道具 舉報(bào)

ID:71437 發(fā)表于 2020-6-17 23:26 | 顯示全部樓層
感謝分享!
回復(fù)

使用道具 舉報(bào)

ID:640240 發(fā)表于 2020-6-27 00:18 來(lái)自手機(jī) | 顯示全部樓層
支持好東西
回復(fù)

使用道具 舉報(bào)

ID:628703 發(fā)表于 2020-7-1 23:39 | 顯示全部樓層
好東西,非常感謝!
回復(fù)

使用道具 舉報(bào)

ID:98875 發(fā)表于 2020-11-30 11:59 | 顯示全部樓層
能連接互聯(lián)網(wǎng)或者wifi就好了!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲欧美在线一区 | 精久久久| 午夜a v电影| 日批av| 精品伦精品一区二区三区视频 | 久久精品91久久久久久再现 | 成人免费视频在线观看 | 久久亚洲综合 | 91精品国产综合久久精品 | 久久久亚洲一区 | 亚洲久久在线 | 在线观看中文字幕 | 欧美一区在线视频 | 日韩在线一区二区 | 欧美国产日韩在线观看 | 亚洲精品成人网 | 久久国产精品视频 | 久久精品久久精品 | 亚洲一区中文字幕 | 激情一区 | 先锋资源网 | 日韩欧美国产一区二区 | 国产视频久久久久 | 久久精品视频一区二区 | 成人小视频在线观看 | 午夜久久久 | 91精品国产自产精品男人的天堂 | 人人草人人干 | 99pao成人国产永久免费视频 | 亚洲在线一区 | 久久国产精品视频免费看 | 国产精品一二三区 | 国产伦一区二区三区四区 | 91大神在线资源观看无广告 | 国产福利视频 | 国产日韩精品一区二区三区 | 在线a视频网站 | 成人在线观看免费 | 超碰人人人 | 人人玩人人干 | 91av免费观看 |