基于单片机的录放音系统设计 第8页

基于单片机的录放音系统设计 第8页
(1)设置S1的8位拨动开关,使得6位地址(A4~A9)为18H,PD=0,CE=1,S1的8位拨动开关状态为01100000,即18H。
(2)将PD开关拨到1状态,然后再将开关拨回0状态,开始录音并记时。
(3)在不超过22.4s的时间内停止录音:将PD开关拨到1状态,停止录音。
对第五段音乐录音
录音地址为200H~250H,录音时间为16s。
(1)设置S1的8位拨动开关,使得6位地址(A4~A9)为20H,PD=0,CE=1,S1的8位拨动开关状态为10010100,即20H。
(2)将PD开关拨到1状态,然后再将开关拨回0状态,开始录音并记时。
(3)在不超过16s的时间内停止录音:将PD开关拨到1状态,停止录音。
4.手动放音操作过程解说
2. 放音过程:
设置S2状态为1,即P/R=1,ISD25120处于放音状态。
连续放音
设置S1的8位拨动开关,使得6位地址(A4~A9)全为0,PD=0,CE=1;S1的8位
拨动开关状态为00000000,即00H,PD=0,CE=1;再将PD位置高(复位),再置低,放音便开始了。
分段放音
例如我们要播放第三段音乐:
(1) 设置S2状态为1,即P/R=1,ISD25120处于放音状态。
(2) 设置S1的8位拨动开关,使得6位地址(A4~A9)为01000000,,即语音地址为10H(第三段语音的起始地址);将PD置高(复位),再置低,第三段音乐就开始放音了。
(3) 其他的几段音乐播放可模仿上面播放第三段音乐的操作。
5.整体程序框架控制设计
用单片机程序控制语音播放
电路原理图中的8位并口输出74ls374的口地址为8100H,其中MIC1为驱极式话筒,LS1为放音喇叭,ISD25120为语音录放芯片。S1为8位拨动开关全部设置在OFF的位置,使得ISD25120电路能够脱离手工的操作状态,改用程序来控制ISD25120的工作。ISD25120接受来自74LS374的控制信号,(P/R=1),处于放音的状态。而地址A0~A3已经在电路图中接地。主板上的8位并口地址通过74LS374及AT89C51中的程序来控制输出ISD25120的6位地址(A4~A9)及ISD25120的PD和CE信号,共8位信号。这样,单片机就能够完全的通过程序来控制ISD25120的整个工作过程了。   
   主板上的74LS374与ISD25120的6位地址及PD和CE的对接如下表所示:

74LS374 D7 D6 D5 D4 D3 D2 D1 D0
ISD25120 PD CE A9 A8 A7 A6 A5 A4


软件的实现原理:


1. 语音的开关S2为OFF状态(P/R=1),ISD25120处于放音状态;

2. 能在仿真器上编程,执行单步调试及全速运行。


a. 从FIRST地址起始,执行程序,播放第一段音乐;
START:LCALL   FIRST
        AJMP     $

b. 从SECOND地址起始,执行程序,播放第二段音乐;
START:LCALL   SECOND
        AJMP     $

c. 从地址THIRD起始,执行程序,播放第三段音乐;
START:LCALL  THIRD
        AJMP     $

d. 从地址FORTH起始,执行程序,播放第四段音乐;
START:LCALL  FORTH
        AJMP     $

e. 从地址FIVTH起始,执行程序,播放第五段音乐;
START:LCALL   FIVTH
        AJMP     $6.软件设计方框图软件设计流程图7.详细控制程序总体设计:
START: MOV  R1,#00H
 MOV   P0,#00H   ; ISD2560地址初始化
   ORG    30H
LOOP: JNB    P3.7,LOOP ;录音键按下否?
   INC     R1
   CLR     P3.0  
   CALL    PRESS
   LJMP    LOOP
PRESS: CJNE     R1,  #1, NEXT1
    MOV     P0,  #00H  ;送字段1起始地址
    CLR     P0.6
    CLR     P0.7
    LCALL   RECORD
    JMP     BACK
NEXT1:  CJNE   R1,#2,NEXT2
    MOV    P0,#08H   ;送字段2起始地址
    CLR     P0.6
    CLR     P0.7
    LCALL   RECORD
    JMP     BACK
NEXT2: CJNE    R1,#3,NEXT3
    MOV    P0,#10H    ;送字段3起始地址
    CLR     P0.6
    CLR     P0.7
    LCALL   RECORD
    JMP     BACK
NEXT3: CJNE    R1,#4,NEXT4
    MOV    P0,#18H    ;送字段4起始地址
    CLR     P0.6
    CLR     P0.7
    LCALL   RECORD
    JMP     BACK
NEXT4: CJNE   R1,#5,BACK
    MOV    R1,#00H
    MOV   P0,#20H     ;送字段5起始地址
    CLR     P0.6
    CLR     P0.7
    LCALL   RECORD
BACK: RET
RECORD: SETB   P0.7
JNB     P0.7,$
LCALL   D22.4S
CLR     P0.7

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有