找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6531|回复: 4
打印 上一主题 下一主题
收起左侧

单片机+ISD2560录音笔程序+电路原理图设计

[复制链接]
跳转到指定楼层
楼主
           单片机 STC89C52 和 ISD2560 语音芯片结合进行录音笔设计,从而实现了语音的分段录音和循环回放。语音录放系统主要包括单片机控制模块、录音模块、按键控制模块、放音模块、时间显示模块,其中单片机控制模块是整个系统设计的关键,语音处理模块主要进行声音的采集、和语音的滤波。本产品单片机通过 SPI 口通讯方式与语音模块进行通讯,来实现语音的录音和播放。由于每段录音都对应这不同的地址,因此在播放录音时,需要发送播放的地址即可播放。语音经过驻极话筒把声音转换成电信号。传感器采集的电信号经过电容滤波后送至语音模块。当录音时,语音模块对连续变化的语音信号进行采样,抽取其中的语音信号大、电平,直接存储在语音芯片 ISD2560 中,防止丢失数据。当播放时,需要在语音芯片的输出端加一个功放电路,使得播放出来的声音真实自然


电路原理图如下:


单片机源程序如下:
  1.          RECORD BIT P3.7       ;:录音按键
  2.          PLAY BIT P3.5         ;:播放按键
  3.          STOP BIT P3.4         ;;停止按键
  4.          CE BIT P3.0           ;;ISD2560的片选 信号,低有效。
  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       ;;录音标记位
  10.          PLAYFLAG BIT 21H      ;:播放标记位


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

  14.      
  15. MAIN:
  16.         MOV  TMOD, #01H  ;T0定时方式1
  17.         MOV  TH0, #3CH   ;50ms@12MHz
  18.         MOV  TL0, #0B0H
  19.         SETB TR0
  20. ;
  21.         MOV  R7, #20     ;50ms中断次数.
  22.         MOV  R6, #0      ;秒数置零.
  23.   LCALL SYSINT         ;;系统初始化
  24. BUTTON:  MOV C,RECORD         ;;判断“录 音”按键是否为低电平?
  25.          JC BUTTON1          ;;否.继续扫描下一个按键
  26.          LCALL DELAY10MS      ;;是,调用延时去抖动
  27.          MOV C, RECORD        ;;再次读人,
  28.          JC BUTTON1           ;;为高电平则为 干扰,继续扫描下一个按键。
  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       ;;判断是否已经处于RECORD中,是处在RECORD下,则 跳转到PAUSEl
  51.          CLR PLAYFLAG
  52.          SETB RECFLAG
  53.          CLR PR                  ;;修改PR引脚置为低电平表示即进入RECORD模式,
  54.          NOP
  55.          NOP
  56. PAUSEl:  LCALL CEPULSE           ;:如果从PLAYBACK转换到RECORD模式下,则表示开始录音: 如果已经在录音模式下,则表示暂停;调用CE低 脉冲发生子程序
  57.          LCALL DELAYl20MS        ;:延迟TDB长的时间,目的是满足两个CE脉冲之间在时 序上要求的间隔
  58.          RET

  59. ;*****************系统的播放子程序**************
  60. PLAYBACK:JB PLAYFLAG,PAUSE2     ;;判断 是否已经处于PLAYBACK中.是处于PLAYBACK 下,则跳转到PAUSE2
  61.          CLR RECFLAG
  62.          SETB PLAYFLAG
  63.          SETB PR                ;;修改PR引脚置为高电乎表示进入PLAYBACK模式
  64.          NOP
  65.          NOP
  66. PAUSE2:  LCALL CEPULSE          ;;若从RECORD转换到PLAYBACK模式下,则表示开始播放;如果已 经处在播放模式下,则表示暂停;调用CE低脉冲 发生子程序,已处于PLAYBACK时,则暂停播放
  67.          LCALL DELAYl20MS       ;:延迟TDB长 的时间,目的是满足两个CE脉冲之间在时序上要 求的间隔
  68.          RET

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

  76. ;*****************CE脉冲发生程序*****************
  77. CEPULSE:  CLR  CE  ;;;;;;
  78.           NOP
  79.           NOP
  80.           SETB CE
  81.           RET

  82. ;*****************PD脉冲发生程序*****************
  83. PDPULSE:  SETB PD         ;:置PD为高电平
  84.           LCALL DELAY30MS
  85.           CLR PD
  86.           RET

  87. ;****************系统初始化程序******************
  88. SYSINT:   CLR EA
  89.           CLR RECFLAG     ;;清除记录标记位
  90.           CLR PLAYFLAG    ;;清楚播放标记位
  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的延时程序****************
  99. DELAY10MS:MOV R7,#20
  100. DELAYl:   MOV R6,#250
  101.           DJNZ R6,$
  102.           DJNZ R7, DELAYl
  103.           RET

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

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






  116. ;****************数码管显示时间********************
  117. ; 共阴极数码管显示代码表


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

  123. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
录音笔原理图+代码.rar (186.06 KB, 下载次数: 117)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:328014 发表于 2019-4-12 03:35 | 只看该作者
好资料,51黑有你更精彩!!!
回复

使用道具 举报

板凳
ID:162514 发表于 2020-3-30 10:14 | 只看该作者
我下了,玩玩!谢谢
回复

使用道具 举报

地板
ID:723933 发表于 2020-4-7 11:44 | 只看该作者
很好的资料,有帮助
回复

使用道具 举报

5#
ID:596771 发表于 2020-7-12 08:54 | 只看该作者
很好的资料,不过电路需要更新了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表