计算机毕业设计专业定做 计算机毕业论文专业代写 网站地图 | 加入收藏 | 设为首页

您的位置:首页 > 单片机 > 016DPJ单片机程序控制语音播放 论文

016DPJ单片机程序控制语音播放 论文

新闻来源:QQ:995502877  发表时间:2008-12-24 20:21:08  浏览次数:  责任编辑:未知
 
单片机程序控制语音播放
设计背景:用单片机控制语音芯片的地址线、片选线(CS)以及录音/放音信号线(P/R),再把单片机和语音芯片嵌入到通信设备、智能仪器、治安报警及儿童玩具中,就可做成播放的机器,应用范围很广。在工业控制过程中,常用灯光或警笛作故障提示和运行进程的阶段性提示,目前这种提示方式为语音提示的替代,这是因为新型半导体语音芯片性能优越,使用方便。
本次设计涉及的语音芯片ISD25120的介绍:它是ISD公司开发的语音芯片,其主要特点有:可持续、放音,持续录放时间可达120s;可分段录放(最多可分为600段),最小录放的时间单元为0.2s;断电后信息仍然存储,不会丢失,无需后备电池。信息可保存100年之久;录放次数在10万次以上;操作简单,无需专用编程器或语音开发器;单电源供电,典型电压为+5V;易于与单片机接口,内部自带自动音量的控制(AGC)电路及滤波电路,输出音质良好。
主要功能:本设计主要是在熟悉ISD系列语音芯片的电路设计操作及使用方法的基础上,且通过手工操作实现语音芯片ISD25120的录音(其操作过程在操作步骤模块中所述)的前提下,用程序模拟手动操作编程实现ISD系列语音芯片的分段放音过程。
硬件设备及其连线:ISD25120语音芯片及其电路板一套,模块化单片机实验仪一台,10芯电缆一条,直流电源(+5V,1A)一台,喇叭一个,仿真器及计算机一台。
实际操作步骤:
(1)录音过程:
设置S2状态为0,即P/R=0,ISD25120处于录音状态。
以对第1段录音为例:录音地址000H~0A0H,录音时间为32s。
①设置S1的8位拨位开关,使得6位地址(A4~A9)全为0,PD=0,CE=0,S1的8位拨动开关状态为00000000,即00H;
②将PD开关拨到1状态,然后再将开关拨回到0状态,开始录音并计时;
③在不超过32s的时间内停止录音:将PD开关拨到1状态,停止录音。
同样的原理,第2、3、4段录音只需将地址改为相应的0B0H~150H、160H~200H和210H~250H,即通过设置S1的8位拨动开关来实现。
(2)用10 芯扁平电缆将主板的J3插座与语音实验板的J3插座对接;设置语音实验板的开关S2为OFF状态(P/R=1),ISD25120处音状态;在仿真器上编程,执行单步调试及全速运行。
(a)从FIRST地址起始,执行程序,播放第1段音乐:
START:LACALL FIRST
          AJMP $
(b)从SECOND地址开始,执行程序,播放第2段音乐
START: LCALL SECOND
AJMP $
(c)从THIRD地址开始,执行程序,播放第3段音乐:
START:LCALL THIRD 
AJMP $
(d)从FOURTH地址起始,执行程序,播放第4段音乐:
START:LCALL FOURTH 
AJMP $
在单片机程序的控制下,分别将上述4段语音播出。
 
 
 
 
 
 
实验电路原理图:
 
 
 
 
 
 
原理图中包括2部分:一部分是主板上的8位并口输出(74LS374,U14),口地址为8100H,输出插座为J3;另一部分在语音电路实验板上,插座为J3。将主板上J3与实验板的J3用10芯扁平电缆连接。图中MICI为驻极式话筒,LS1为放音喇叭,IC1(MC34119)为语音放大电路,ISD25120为语音录放芯片。S1的8位拨动开关全部设置在OFF位置,使得ISD25120电路脱离手工操作状态,改用程序控制ISD25120工作。ISD25120接收来自主板的控制信号。该信号被锁存在U14(74LS374)的8位输出端上。用拨动开关S2设置P/R在OFF位置上(P/R=1),处于放音状态。地址A0~A3已在电路图中接地。主板上8位并口通过U14输出ISD25120的6位地址(A4~A9)及ISD25120的PD和CE信号,共8位信号。这样单片机通过程序就可以完全控制了ISD25120的分段放音操作。
主板上74LS374与实验板上ISD25120的位地址及PD和CE对接如下表1中所列:
74LS374
D7
D6
D5
D4
D3
D2
D1
D0
ISD25120
PD
CE
A9
A8
A7
A6
A5
A4
表1
在线仿真器编程,单片机程序控制ISD25120芯片放音,可将录入的内容播放出来。
程序流程图如下图1、2、3所示:

延时30s,等待放音完毕
送放音地址,播放第3段语音
延时30s,等待放音完毕
送放音地址,播放第4段语音
延时30s,等待放音完毕
开始
 
结束
 
图2 MAIN:主程序流程图
启动放音子程序
结束
停止放音(PD=0,CE=1),地址复位(PD上升沿有效),送放音地址,启动放音(CE=0)
图1 SPEAKER:放音子程序
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

启动放音子程序
结束
CE=1,PD=0
图3 ISDCLR:清除放音子程序
 

 
 
 
 
 
 
 
 
 
 
 
 
 

源程序:
ORG 0
AJMP MAIN    ;按1、2、3、4段次序播放
ORG 30H      ;主程序的首地址:30H
MAIN: LCALL FIRST;
ACALL D30S    ;延时30s,等待放音完毕
ACALL ISDCLR  ;停止播放
LCALL SECOND  ;播放第2段音乐
ACALL D30S    ;延时30s,等待放音完毕
ACALL ISDCLR  ;停止播放
LCALL THIRD   ;播放第3段音乐
LCALL D30S    ;延时30s,等待放音完毕
ACALL ISDCLR  ;停止播放
 
LCALL FOURTH  ;播放第4段音乐
ACALL D10S    ;延时30s,等待放音完毕
AJMP $        ;原地等待
;播放第1段音乐的程序起始地址:FIRST
FIRST:LCALL ISDCLR ;将语音芯片复位,停止播放
      MOV R4,#0H   ;将ISD25120的放音地址#0H存放在R4中
               ;放音首地址#000H,因为ISD25120的地址A0~A3已接地
      LCALL SPEAKER ;调用播音程序,开始播放
 
      RET
 
;播放第2段音乐的程序起始地址:SECOND
SECOND:ACALL ISDCLR ;将语音芯片复位,停止播放
       MOV R4,#0BH;将ISD25120的放音地址#0BH存放在R4中
;放音首地址#0B0H,因为ISD25120的低4位地址A0~A3
;已接地
       LCALL SPEAKER ;调用播音程序,开始播放
 
       RET
;播放第3段音乐的程序起始地址:THIRD
THIRD:LCALL ISDCLR ;将语音芯片复位,停止播放
     MOV R4,#16H  ;将ISD25120的放音地址#160H存放在R4中
  ;放音首地址#160H,因为ISD25120的低4位地址A0~A3
;已接地
     LCALL SPEAKER ;调用播音程序,开始播放
 
      RET
;播放第4段音乐的程序起始地址:FOURTH
FOURTH:LCALL ISDCLR;将语音芯片复位,停止播放
      MOV R4,#21H  ;将ISD25120的放音地址#210H存放在R4中
;放音首地址#210H,因为ISD25120的地址A0~A3已接地
      LCALL SPEAKER ;调用播音程序,开始播放
 
      RET
SPEAKER:MOV DPTR,#8100H ;#有8100H为ISD25120的端口地址
      MOV A,R4          ;将R4中存放的地址A4~A9送到ISD25120
      ORL A,#080H       ;1->PD(复位),0->CE, 送地址A4~A9
      MOVX @DPTR,A
      ACALL D50mS       ;延时
      ANL A,#3FH        ;0->PD(启动),0->CE,送地址A4~A9
      MOVX @DPTR,A
      RET
ISDCLR:MOV DPTR,#8100H ;#8100H为ISD25120的端口地址
      ORL A,#40H       ;0->PD,1->CE,停止播放
      MOVX @DPTR,A    
      LCALL D50MS
      RET
D50mS:MOV R6,#50      ;因晶振为6MHZ,1个机器周期为2,停止播放
SD:   MOV R7,#250     ;故延时时间为(4ms×250+2ms)×50=50.1ms
      DJNZ R7,$       ;DJNZ指令占有2个机器周期
      DJNZ R6,SD
      RET
D10S:MOV R5,#200      ;延迟时间为500ms×200=10s
DE1: ACALL D50mS
     DJNZ R5,DE1
     RET
D30S:MOV R3,#3        ;延迟时间为10s×3=30s
DE2: ACALL D10S
     DJNZ R3,DE2
     RET
     END
 
 
 
 
课程设计体会
通过本次课程设计,使我增进了对单片机的感性认识,加深了对单片机理论方面的理解。对单片机应用系统的软硬件设计过程、方法及实现有了一定的了解和掌握,是为以后设计和实现单片机应用系统打下良好基础一次练习过程。在设计过程中,参考了许多非常好的单片机设计实例,从中得出了许多实际设计过程中应该特别注意的问题,真正为以后实战操作提供了宝贵的实践经验。
参考文献
万光毅,严义.单片机实验与实践教程(一).北京:北京航空航天大学出版社,2003
李光儿,楼然苗等.单片机课程设计实例指导.北京:北京航空航天大学出版社,2004
发表评论】【加入收藏】【返回顶部】【打印】【关闭
相关评论
发表评论
 您的姓名:     验证码:
 评论内容:  
    最多200字。 当前字数

最新新闻

热点新闻