电子大神的日记本,供应链专家的功夫茶盘,在这里记录、分享与共鸣。

登录以开始

一种基于单片机控制的ISD4004语音芯片应用电路

摘要:ISD4004语音系列芯片是美国ISD公司推出的产品,具有多次重复录放,存储时间长,使用时不需扩充存储器,所需外围电路简单等特点。本文将结合ISD4004芯片在语音报站器中的一个实际应用,对其功能和使用方法做一简单介绍,从而使读者对ISD4004系列语音芯片的使用有个初步的了解。
j.xnS/BrJd3j[S#J0关键字:1SD4004 单片机89C52

kUde gb|0电子园51单片机学习网aQL-@-L.^

1 前言电子园51单片机学习网-m(zo(V%j
      ISD4004语音芯片是由美国ISD公司推出不久的新产品。关于该语音芯片的引脚说明以及内部电路等,因为很容易在ISD公司提供的芯片资料中查到,笔者就不在本文作过多的描述。只简单对其特点做一介绍。电子园51单片机学习网0f4|IGSDL&K{
    与普通的录音/重放芯片相比,ISD4004具有如下特点:首先是记录声音没有段长度限制,并且声音记录不需要A/D转换和压缩。其次,快速闪存作为存储介质,无需电源可保存数据长达100年,重复记录10000次以上。此外,ISD4004具有记录时间长(可达16分钟,本文采用的为8分钟的ISD4004语音芯片)的优点。最后,ISD4004开发应用具有所需外围电路简单的优点,这一点从本文介绍的其在语音报站器中的实际应用中可以体会到。电子园51单片机学习网k5tr,jx;j}

:P Rbc*y02 硬件电路设计电子园51单片机学习网0ZHwyz*t r
    在目前市场上流通的语音报站器,大多采用的不是ISD4004系列的芯片。这固然由于ISD4004推出不久以及其价格偏高有关。但随着ISD4004应用的增多以及价格的回落,再加上ISD4004系列芯片本身又具有的多次重复录放、自带存储器、使用简单等优点。可以相信,在语音报站器中采用ISD4004系列语音芯片也是完全可行的。笔者设计了该装置的硬件电路并进行了上车调试,取得了较为满意的效果。电子园51单片机学习网h;\%tA8hM
    本文讨论的语音报站器主要是指装在车上的放音电路,不包含录音电路,在实际应用中由录音电路完成报站内容的录音工作,并存储到语音芯片中。本文主要结合ISD4004在放音电路中的使用来介绍ISD4004的典型应用。

N C Hv$O5q$u]!~0

C#WJ,e)x-}nYG7T+X02.1 硬件电路图电子园51单片机学习网 jK2v#T7^fv/J8W
    本文讨论的报站器主电路主要由单片机89C52和ISD4004构成。该系统的硬件电路连接如图1所示:

D:\0Fl*d _Q0电子园51单片机学习网:z/];iA-f

电子园51单片机学习网B M-k-oKC+Id8G


0ai!JFLU*iJ~0

9ol)u&VK/l+A5U0

图1电子园51单片机学习网C-T n``0ve&jI

电子园51单片机学习网i*N:ditk2Q

    本系统可以主要分为三部分。单片机控制部分、放音部分和显示部分。本文的显示电路采用的是通过P3.0,P3.1控制的两个7段数码管的静态显示,在此不作详细介绍。控制部分则主要由单片机89C52构成,包含必要的按键电路、复位电路和看门狗电路等外围电路。放音部分主要由ISD4004构成,包含配套的变压电路,功放电路等。电子园51单片机学习网&U+RlY#x
    从图中可以看出89C52和ISD4004之间的连接较少,单片机的P1.0-P1.3引脚接按键,控制报站器工作过程中的放音与否和放音内容。P1.6接ISD4004的片选引脚/SS,控制ISD4004的选通与否。P1.7接ISD4004的串行输入引脚MOSI,从该引脚读入放音的地址。P3.0,P3.1控制外围显示电路,在报站器工作过程中显示出当前的站号。P3.2和P3.3分别接ISD4004的串行时钟引脚SCLK和中断引脚/INT。对于ISD4004芯片所需要的连接还有音频信号输出引脚AUDOUT,该引脚通过一个滤波电容与扬声器连接,AMCAP为自动静音端,使用时通过一个电容接地。此外由于ISD4004的工作电压为3伏,而单片机所需供电电压为5伏,因此需要采用变压电路得到3伏电压供ISD4004使用。电子园51单片机学习网 _)u I$K0H^p

dpX:_LqD03 软件设计
,b:W3un+Cet8T03.1 程序流程图
电子园51单片机学习网$H'sqwA!y
    如图2所示:

9cQk[4z\hk0电子园51单片机学习网 uuU}/?'~kv

电子园51单片机学习网ro7s1I3Rd[6G

图2

N2VT8] b8q(L \0电子园51单片机学习网'rs.^U[ VW4U"ow

3.2 程序工作思想
,kL_O`:Lc0    电路上电后,程序首先完成程序的初始化,随后查询按键状态,进入系统待机状态。如果有按键按下,则转去执行该按键指向的工作程序。按键包括放音键,停止键,加一,减一键以及特殊语键。在待机状态下,如果放音键首次被按下,程序将首先判断是去还是回(公交车路径一般是既去又回的),并点亮相应的指示灯。自动读出第一站的放音内容,站号显示1。如果不是首次按下,程序则首先判断当前站号,并以该站号为依据获得存放该站放音内容的首地址。调用放音子程序,读入前面获得的本站放音内容首地址,开始放音。每一句放音完毕后,ISD4004的中断引脚(25脚)会自动送一低电平信号。在硬件设计中,该引脚与单片机的P3.3连接。因此,会引起一次中断,在中断子程序中会有一个计数器记录中断次数,从而判断何时一站结束,站号加一并刷新显示。加一键按下后则使程序放音内容转向下一站,减一键则使程序放音内容转向上一站,相应的站号显示也将随之刷新。特殊语键按下后,程序转向执行特殊语放音(譬如拐弯请注意等语句)。停止键被按下将中止当前的放音状态。
tJ7@u DP;}?03.3 部分工作子程序电子园51单片机学习网OO#V A_5m
    为了便于读者对ISD4004应用的理解,本文给出了部分操作程序。
.X,z$SY w0该部分程序主要完成放音操作,把获得的放音内容的地址送到ISD4004中,完成放音。下面给出的就是放音部分程序。放音子程序:
n9l1DBrA8i!U;X0PLAY:电子园51单片机学习网r&TE)TVth)O^
ACALL      POWERUP           ;上电子程序
4To#~:^&D!i1p0    ACALL      DELAY25            ;延迟子程序,至少延迟25ms
)e-p0x5["uF!P6EL0    CLR         P1.6          ;选中ISD4004 
!k&x_2Aie&y%F0    MOV        PLAY2,#11100000B    ;存放SETPLAY命令
&D1c2n PG,B0    MOV        A,PLAY0             ;送放音地址低8位电子园51单片机学习网xr3e g ^6l:i
    ACALL      SEND                ;调用送地址子程序
dH/oA-C X!Q(k]0    MOV        A,PLAY1             ;送放音地址高8位
4l$x+qb\d*?0    ACALL      SEND            
Ly ZZF ?-C0mB2C0    MOV        A,PLAY2             ;送SETPLAY命令
m ]+Q(^6iZ@&fA.]"k&Y3kQ0    ACALL      SEND
mT;b&x{0    SETB        P1.6
h!Q E.UM0X0    CLR         P1.6电子园51单片机学习网*J8f`j'`C G2U5}*p
    MOV        PLAYING,#11110000B   ;送入放音指令
4jH+L3z!Uk0    MOV        A,PLAYING电子园51单片机学习网Y'q ^X']
    ACALL      SEND电子园51单片机学习网"GcN5^9q,h z&w8G
    SETB        P1.6电子园51单片机学习网-w%n2|e6~.Kq
    RET
|? h'~n/L:n(rO0POWERUP:                             ;送上电指令子程序
:A%U r(D*u[{0    MOV        POWING,#00100000B    ;送入语音芯片上电信号电子园51单片机学习网NEhvLxGI
    MOV        A,POWUPING电子园51单片机学习网i]!q$ZT W V.H$b2X:j
    CLR         P1.6
P`:B.E/Du0    ACALL      SEND电子园51单片机学习网!d"?Y(PL a`+tn
    SETB        P1.6
A$e{/j N0    RET
`ss(g A0h-W7f"}0SEND:                                  ;向ISD4004送指令,地址等的子程序电子园51单片机学习网N/LG#y$V }'T:K9o
    CLR         MOSI电子园51单片机学习网)_-Vk|3ZuI,o9s
    CLR         P3.2
@5^~qK4onl$gi0    MOV        R1,#8
:Po fcb*L\T)K0OUTBIT1:
;Xg1?}!S a:fgn0    CLR         P3.2                   ;时钟下降
#] N'H,g)]2J(G0    RRC         A电子园51单片机学习网QO \fco4^!iZ
    MOV        MOSI,C                ;输出1位
K+Bf u,cb8vx0    NOP电子园51单片机学习网?-Q5|-A%`9W3A*R} X
    NOP电子园51单片机学习网_.H$h~&W!RG%N
    NOP电子园51单片机学习网;PisZS&M
    SETB       P3.2                    ;时钟上升沿到电子园51单片机学习网K3{8eY.cW9B
    NOP电子园51单片机学习网"r1eQ{|"g n
    NOP电子园51单片机学习网6U _'ra7F,{$V |
    NOP
vZ)a*\NAbv0    DJNZ       R1,OUTBIT1电子园51单片机学习网c'_XvC nD
    RET电子园51单片机学习网PNJ0S'R#d[
3.4 编程以及调试时要注意的一些问题电子园51单片机学习网V9^fCz)Qc
   在放音程序中,要严格按照ISD4004的要求编程。首先要送上电指令,然后等待25毫秒的延迟,再送16位放音起始地址,最后送8位的开始放音指令。电子园51单片机学习网sb | u!j:g?0Pq7A&j
    在放音电路的调试过程中,首先测量ISD4004的工作电压是否3伏,如果是则进入下级调试。再看是否可以送入放音地址,对此可以测量AUDOUT引脚的电压,若为1.2伏则说明可以读入放音地址。随后测量是否能够放音,可以测量AUDOUT引脚电压,若为1.2伏,则说明ISD4004芯片工作正常,应该可以放音。如果还没有听到放音,则可以调试后级放音电路,看是否后级电路的问题。电子园51单片机学习网j4_$] K5O3M.o

X`'uIPWr04  结束语
(H3T.c!z+X1O*_y0    本文通过对ISD4004语音芯片在语音报站器中的一个实际应用的简单介绍,使读者熟悉了1SD4004的基本应用。同时本文介绍的报站器电路已经经过上车实验调试,能够可靠稳定工作。电子园51单片机学习网y/FxB@+C3HS*R

9[,x:?%gO VY0参考文献
\8u%L{A9y}01 李华           《MCS-51系列单片机实用接口技术》       北京航空航天大学出版社 1993年电子园51单片机学习网e0y$QH4q
2 薛钧义 张彦斌  《MCS-51/96系列单片微型计算机及其应用》 西安交通大学出版社 1997年第2版电子园51单片机学习网p~k1X+USO\q
3 王振红 李洋 郝承祥 《ISD4004语音芯片的工作原理及其在智能控制系统中的应用》 电子器件 2002年3月第25卷第1期

J CCv4Pgx0

博主
lihailin560@163.com
lihailin560's Blog
lihailin560
点击跳转