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

QQ登錄

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

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

單片機(jī)+ISD2560錄音筆程序+電路原理圖設(shè)計(jì)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
           單片機(jī) STC89C52 和 ISD2560 語(yǔ)音芯片結(jié)合進(jìn)行錄音筆設(shè)計(jì),從而實(shí)現(xiàn)了語(yǔ)音的分段錄音和循環(huán)回放。語(yǔ)音錄放系統(tǒng)主要包括單片機(jī)控制模塊、錄音模塊、按鍵控制模塊、放音模塊、時(shí)間顯示模塊,其中單片機(jī)控制模塊是整個(gè)系統(tǒng)設(shè)計(jì)的關(guān)鍵,語(yǔ)音處理模塊主要進(jìn)行聲音的采集、和語(yǔ)音的濾波。本產(chǎn)品單片機(jī)通過(guò) SPI 口通訊方式與語(yǔ)音模塊進(jìn)行通訊,來(lái)實(shí)現(xiàn)語(yǔ)音的錄音和播放。由于每段錄音都對(duì)應(yīng)這不同的地址,因此在播放錄音時(shí),需要發(fā)送播放的地址即可播放。語(yǔ)音經(jīng)過(guò)駐極話筒把聲音轉(zhuǎn)換成電信號(hào)。傳感器采集的電信號(hào)經(jīng)過(guò)電容濾波后送至語(yǔ)音模塊。當(dāng)錄音時(shí),語(yǔ)音模塊對(duì)連續(xù)變化的語(yǔ)音信號(hào)進(jìn)行采樣,抽取其中的語(yǔ)音信號(hào)大、電平,直接存儲(chǔ)在語(yǔ)音芯片 ISD2560 中,防止丟失數(shù)據(jù)。當(dāng)播放時(shí),需要在語(yǔ)音芯片的輸出端加一個(gè)功放電路,使得播放出來(lái)的聲音真實(shí)自然


電路原理圖如下:


單片機(jī)源程序如下:
  1.          RECORD BIT P3.7       ;:錄音按鍵
  2.          PLAY BIT P3.5         ;:播放按鍵
  3.          STOP BIT P3.4         ;;停止按鍵
  4.          CE BIT P3.0           ;;ISD2560的片選 信號(hào),低有效。
  5.          PD BIT P3.1           ;;ISD2560 POW-ER DOWN按鍵
  6.          OVF BIT P3.2
  7.          EOM  EQU P3.2         ;;End of message 引腳
  8.          PR BIT P3.3           ;;Play or record
  9.          RECFLAG BIT 20H       ;;錄音標(biāo)記位
  10.          PLAYFLAG BIT 21H      ;:播放標(biāo)記位


  11.          ORG 0000H
  12.          LJMP MAIN
  13.          ORG 0030H

  14.      
  15. MAIN:
  16.         MOV  TMOD, #01H  ;T0定時(shí)方式1
  17.         MOV  TH0, #3CH   ;50ms@12MHz
  18.         MOV  TL0, #0B0H
  19.         SETB TR0
  20. ;
  21.         MOV  R7, #20     ;50ms中斷次數(shù).
  22.         MOV  R6, #0      ;秒數(shù)置零.
  23.   LCALL SYSINT         ;;系統(tǒng)初始化
  24. BUTTON:  MOV C,RECORD         ;;判斷“錄 音”按鍵是否為低電平?
  25.          JC BUTTON1          ;;否.繼續(xù)掃描下一個(gè)按鍵
  26.          LCALL DELAY10MS      ;;是,調(diào)用延時(shí)去抖動(dòng)
  27.          MOV C, RECORD        ;;再次讀人,
  28.          JC BUTTON1           ;;為高電平則為 干擾,繼續(xù)掃描下一個(gè)按鍵。
  29. WAITl:   MOV C,RECORD         ;;等待按鍵彈起
  30.          JNC WAITl
  31.          LCALL TORECORD
  32. BUTTON1: MOV C,PLAY
  33.          JC BUTTON2
  34.          LCALL DELAY10MS
  35.          MOV C, PLAY
  36.          JC BUTTON2
  37. WAIT2:   MOV C,PLAY
  38.          JNC WAIT2
  39.          LCALL PLAYBACK
  40. BUTTON2: MOV C,STOP
  41.          JC BUTTON3
  42.          LCALL DELAY10MS
  43.          MOV C,STOP
  44.          JC BUTTON3
  45. WAIT3:   MOV C,STOP
  46.          JNC WAIT3
  47.          LCALL STOPDEVICE
  48. BUTTON3: LJMP BUTTON

  49. ;****************下面是其錄音子程序****************
  50. TORECORD:JB RECFLAG,PAUSEl       ;;判斷是否已經(jīng)處于RECORD中,是處在RECORD下,則 跳轉(zhuǎn)到PAUSEl
  51.          CLR PLAYFLAG
  52.          SETB RECFLAG
  53.          CLR PR                  ;;修改PR引腳置為低電平表示即進(jìn)入RECORD模式,
  54.          NOP
  55.          NOP
  56. PAUSEl:  LCALL CEPULSE           ;:如果從PLAYBACK轉(zhuǎn)換到RECORD模式下,則表示開(kāi)始錄音: 如果已經(jīng)在錄音模式下,則表示暫停;調(diào)用CE低 脈沖發(fā)生子程序
  57.          LCALL DELAYl20MS        ;:延遲TDB長(zhǎng)的時(shí)間,目的是滿足兩個(gè)CE脈沖之間在時(shí) 序上要求的間隔
  58.          RET

  59. ;*****************系統(tǒng)的播放子程序**************
  60. PLAYBACK:JB PLAYFLAG,PAUSE2     ;;判斷 是否已經(jīng)處于PLAYBACK中.是處于PLAYBACK 下,則跳轉(zhuǎn)到PAUSE2
  61.          CLR RECFLAG
  62.          SETB PLAYFLAG
  63.          SETB PR                ;;修改PR引腳置為高電乎表示進(jìn)入PLAYBACK模式
  64.          NOP
  65.          NOP
  66. PAUSE2:  LCALL CEPULSE          ;;若從RECORD轉(zhuǎn)換到PLAYBACK模式下,則表示開(kāi)始播放;如果已 經(jīng)處在播放模式下,則表示暫停;調(diào)用CE低脈沖 發(fā)生子程序,已處于PLAYBACK時(shí),則暫停播放
  67.          LCALL DELAYl20MS       ;:延遲TDB長(zhǎng) 的時(shí)間,目的是滿足兩個(gè)CE脈沖之間在時(shí)序上要 求的間隔
  68.          RET

  69. ;*****************停止錄音或播放子程序***********
  70. STOPDEVICE:LCALL PDPULSE
  71.            NOP
  72.            NOP
  73.            CLR PLAYFLAG
  74.            CLR RECFLAG
  75.            RET

  76. ;*****************CE脈沖發(fā)生程序*****************
  77. CEPULSE:  CLR  CE  ;;;;;;
  78.           NOP
  79.           NOP
  80.           SETB CE
  81.           RET

  82. ;*****************PD脈沖發(fā)生程序*****************
  83. PDPULSE:  SETB PD         ;:置PD為高電平
  84.           LCALL DELAY30MS
  85.           CLR PD
  86.           RET

  87. ;****************系統(tǒng)初始化程序******************
  88. SYSINT:   CLR EA
  89.           CLR RECFLAG     ;;清除記錄標(biāo)記位
  90.           CLR PLAYFLAG    ;;清楚播放標(biāo)記位
  91.           CLR P1.0
  92.           MOV P1,#02H     ;;ISD2560處于 PUSH—BUTrON模式,A6/M6為高電平,A0/M0一 A5/M5都為低電平
  93.           MOV P1,#00H
  94.           SETB P1.1
  95.           CLR PD          ;;PD腳置為低電平
  96.           SETB CE         ;:不使能ISD2560
  97.           RET

  98. ;*******************10ms的延時(shí)程序****************
  99. DELAY10MS:MOV R7,#20
  100. DELAYl:   MOV R6,#250
  101.           DJNZ R6,$
  102.           DJNZ R7, DELAYl
  103.           RET

  104. ;******************30ms的延時(shí)程序*****************
  105. DELAY30MS:MOV R7,#60         ;;30 ms的延時(shí)
  106. DELAY2:   MOV R6,#250
  107.           DJNZ R6,$
  108.           DJNZ R7, DELAY2
  109.           RET

  110. ;******************120 ms的延時(shí)程序***************
  111. DELAYl20MS:MOV R5,#4         ;;120 ms的延時(shí)
  112. DELAY3:    LCALL DELAY30MS
  113.            DJNZ R5, DELAY3
  114.            RET
  115.            END






  116. ;****************數(shù)碼管顯示時(shí)間********************
  117. ; 共陰極數(shù)碼管顯示代碼表


  118. DISP:
  119.         MOV  DPTR, #DUAN_TAB   ;段碼表地址.
  120.         MOV  A, R6
  121.         MOVC A, @A+DPTR  ;查表.
  122. ……………………

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

所有資料51hei提供下載:
錄音筆原理圖+代碼.rar (186.06 KB, 下載次數(shù): 123)


評(píng)分

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

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:328014 發(fā)表于 2019-4-12 03:35 | 只看該作者
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

板凳
ID:162514 發(fā)表于 2020-3-30 10:14 | 只看該作者
我下了,玩玩!謝謝
回復(fù)

使用道具 舉報(bào)

地板
ID:723933 發(fā)表于 2020-4-7 11:44 | 只看該作者
很好的資料,有幫助
回復(fù)

使用道具 舉報(bào)

5#
ID:596771 發(fā)表于 2020-7-12 08:54 | 只看該作者
很好的資料,不過(guò)電路需要更新了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表