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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6257|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

基于STM32的語音存貯錄音與回放系統(tǒng) 源程序與原理圖pcb

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:128777 發(fā)表于 2017-5-8 15:08 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
stm32F103錄音回放原理圖:


基于STM32的語音存貯與回放PCB

\野火注\

1 液晶尺寸是3.2寸,控制器是 ILI9341
2 SD卡4位模式DMA ,支持長文件名及中文文件名

stm32單片機源程序:
  1. /******************** (C) COPYRIGHT 2012 WildFire Team **************************
  2. * 文件名  :main.c
  3. * 描述    :LCD顯示實驗,可中英混合顯示,可顯示BMP格式的圖片,可截圖,
  4. *           截圖保存在MicroSD卡中,文件名存為myScreen.bmp,
  5. *           需顯示的BMP圖片和字庫存放在MicroSD卡中。         
  6. * 實驗平臺:野火STM32開發(fā)板
  7. * 庫版本  :ST3.5.0
  8. *
  9. * 作者    :wildfire team
  10. **********************************************************************************/
  11. /* Includes ------------------------------------------------------------------*/
  12. #include "stm32f10x.h"
  13. #include "SysTick.h"
  14. #include "usart1.h"       
  15. #include "lcd.h"
  16. #include "sd_fs_app.h"
  17. #include "Sd_bmp.h"
  18. #include "adc.h"
  19. #include "dac.h"
  20. #include "key.h"

  21. // ADC1轉(zhuǎn)換的電壓值通過MDA方式傳到SRAM
  22. extern __IO uint16_t ADC_ConvertedValue;


  23. //#define SIZE 1000*1024
  24. #define WriteStartAddress ((uint32_t)0x0800B000) //在這里隨著程序代碼的增加,初試地址也要隨著增加,否則不能寫入a000
  25. #define WriteEndAddress   ((uint32_t)0x0807F7FF)
  26. //#define FLASH_PAGE_SIZE   ((u16)0x400) //1024
  27. #define FLASH_PAGE_SIZE   ((u16)0x800) //2048
  28. uint32_t EraseCounter = 0x00, WriteAddress = 0x00,ReadAddress = 0x00;
  29. uint32_t NbrOfPage = 0x0000;

  30. volatile FLASH_Status FLASHStatus;//枚舉變量的定義

  31. // 軟件延時        自己加了個大延時
  32. void Delay(__IO uint32_t nCount)
  33. {
  34.   for(; nCount != 0; nCount--);
  35. }
  36. void NDelay(uint32_t n)
  37. {
  38.         uint32_t i;
  39.         for(i=0;i<n;i++)
  40.         Delay(0xFFF);
  41. }

  42. int main(void)
  43. {
  44.          /* USART1 config */
  45.         USART1_Config();       
  46.         /* enable adc1 and config adc1 to dma mode */
  47.         ADC1_Init();
  48.        
  49.         DAC1_Init();


  50.         SysTick_Init();
  51.         LCD_Init();                                                                                /* LCD 初始化*/               
  52.     sd_fs_init();


  53.         FLASHStatus = FLASH_COMPLETE;

  54.        

  55.         /*顯示圖像*/
  56.     Lcd_show_bmp(80, 0,"/pic4.bmp");             
  57.         /*豎屏顯示*/     
  58.         LCD_Str_ENCH_O_P(55,30,"請按錄音鍵開始錄音",0XF800);
  59.     LCD_Str_CH_O_P(35,30,"制作人",0X0000);
  60.         LCD_Str_ENCH_O_P(17,60,"武漢科技大學(xué)教十樓208室",0X0000);
  61. //    while (1)
  62. //        {
  63.         //        if( Key_Scan(GPIOE,GPIO_Pin_5) == KEY_ON  )
  64.         //        {               
  65.                         LCD_Str_CH_P(55,30,"正在錄音請稍后片刻",0XF800,0xffff);
  66.                         FLASH_Unlock();
  67.                         /* Clear All pending flags */
  68.                            FLASH_ClearFlag(FLASH_FLAG_BSY | FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR);
  69.                                        
  70.                         /* Define the number of page to be erased */
  71.                            NbrOfPage = (WriteEndAddress - WriteStartAddress) / FLASH_PAGE_SIZE;
  72.                                        
  73.                         /* Erase the FLASH pages */
  74.                     for(EraseCounter = 0; (EraseCounter <= NbrOfPage)&&(FLASHStatus == FLASH_COMPLETE); EraseCounter++)
  75.                     {
  76.                                FLASHStatus=FLASH_ErasePage(WriteStartAddress + (FLASH_PAGE_SIZE * EraseCounter));
  77.                     }        
  78.                     
  79.                         //寫數(shù)據(jù)
  80.                         WriteAddress = WriteStartAddress;
  81.                         while((WriteAddress < WriteEndAddress)&&(FLASHStatus == FLASH_COMPLETE))
  82.                     {
  83.                                 printf("0x%04X ",ADC_ConvertedValue);
  84.                              FLASHStatus=FLASH_ProgramHalfWord(WriteAddress, ADC_ConvertedValue);         
  85.                              WriteAddress = WriteAddress + 2;
  86.                     }   
  87.                         FLASH_Lock();
  88.                        
  89.                         LCD_Str_CH_P(55,30,"錄音完畢請按播放鍵",0XF800,0xffff);
  90.                         NDelay(10000);                  
  91.         //        }
  92.         //        if( Key_Scan(GPIOE,GPIO_Pin_6) == KEY_ON  )
  93.         //        {
  94.                         LCD_Str_CH_P(55,30,"正在播放請慢慢傾聽",0XF800,0xffff);
  95.                         //讀數(shù)據(jù)


  96. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

完整內(nèi)容下載:
基于STM32的語音存貯與回放系統(tǒng).rar (9.89 MB, 下載次數(shù): 175)


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

使用道具 舉報

來自 2#
ID:500133 發(fā)表于 2019-3-28 20:02 | 只看該作者
這也太黑了,原理圖里連STM32都沒有?說好的STM32呢?
回復(fù)

使用道具 舉報

板凳
ID:249037 發(fā)表于 2017-11-13 19:18 | 只看該作者
請問這個只有一個板子嗎 pcb版都在壓縮包里?
回復(fù)

使用道具 舉報

地板
ID:18591 發(fā)表于 2019-1-20 21:05 | 只看該作者

下載學(xué)習(xí),謝謝分享
回復(fù)

使用道具 舉報

5#
ID:949550 發(fā)表于 2023-2-3 22:03 | 只看該作者
基于STM32F103的程序,寄存器版本的,程序是完整的,但是PCB不完整,謝謝樓主
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品一区二区免费视频 | 天天夜碰日日摸日日澡 | 丁香六月伊人 | 久久久久国产一区二区三区 | 午夜精品久久久久久久久久久久 | 丁香婷婷综合激情五月色 | 欧美激情欧美激情在线五月 | 成人av片在线观看 | 国产成人精品一区 | 可以免费看的毛片 | 日本一本视频 | 日本天堂视频在线观看 | 国产一级免费视频 | 天天射天天操天天干 | 日日操av | 在线观看免费高清av | 美女爽到呻吟久久久久 | 99综合| 日韩av在线中文字幕 | 久久专区| 日韩中文字幕 | 成人免费视频播放 | av免费入口 | 国产精品视频一区二区三区四区国 | 国产精品久久亚洲 | 亚洲小视频 | 欧美激情区 | 男人天堂网址 | 国产成人精品久久二区二区 | 欧美一区免费 | 日日干日日 | 99精品国产一区二区三区 | 天天干狠狠操 | 日韩欧美国产成人一区二区 | 亚洲有码转帖 | 伊人91在线 | 免费一二区 | www.日本在线| 欧美炮房| 亚洲国产一区二区三区 | 欧美日韩一区二区在线观看 |