STC2052单片机控制ISD1420实现选段播放功能实现(C程序电路图)_第1页
STC2052单片机控制ISD1420实现选段播放功能实现(C程序电路图)_第2页
STC2052单片机控制ISD1420实现选段播放功能实现(C程序电路图)_第3页
STC2052单片机控制ISD1420实现选段播放功能实现(C程序电路图)_第4页
STC2052单片机控制ISD1420实现选段播放功能实现(C程序电路图)_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、51单片机控制ISD1420实现选段播放功能的实现C程序 电路图)3推荐 转载请注明出处资料编写与整理:AVR猎手benladn911出处:AVR昔手的地盘/在2006年时候记得我在做ISD1420的播放控制,当时在选段播放上遇到了问题,当时网络上也没有详细描述具体的控制方法,也在咱们坛子里问过。折腾了很久,后来还是实现出来了。但资料后来没有实际应用到产品上,今天翻看资料的时候发现了,拿出来给同样碰到问题的朋友做为参考。以前写的C程序比较菜,注释比较多。(现在写的程序注释也很多:)电路图简单画了下,大家都看得懂:串行通讯电路省略VCC12MHz

2、丁2 口pFZTC?2加FR?10K_12-3U?45 REC LED_flRECPE1_ioRSTP3.0(RXD)P3 l(TXD)XTAL2XTAL1P3.2(INT。)P3 3(INT,P3.<T0)/ECIP3.5(T1)WM1 GNDVCC ADC7/SCLK/P1,7 ADC6MS0/Pl.fi ADC5/MOSI/P1,5ADC4/SS/P1.4 ADC3/PL3 ADC2/P1.2 ADC1/P1.1 ADC0/P1.D PWM0/P3 720_ i q a?g AS17 A516 A415 A314 A213 AlT17 / 5STC12C2052u?AOaTA2A3

3、A5A6A7VCC9 To H1314134附上 KEIL完整工程:1420_code.rar程序原文:/*功能: 使用STC2052单片机才S制ISD1420语音芯片的播放1 、顺序连续分段放音2 、选段播放 ( 播放任意段3、所有的播放控制都是通过接收串口的命令来执行编写 :benladn911AVR昔手2006-6-28 创建2008-2-21 添加注释和完善*/i nclude<STC12C2052.H>i nclude<intrins.h>i nclude<stdio.h>i nclude<string.h> void main(voi

4、d>/硬件端口的定义#define#define#define#define#definePOW P3_7/ 此引脚为单片机控制一个三极管给PL P3_5/ 接 ISD1420 的 PLAYLPE P3_4/ 接 ISD1420 的 PLAYEREC P3_3/ 接 ISD1420 的 RECREC_LEDP3_2/ISD1420 的 REC LEDISD1420 供电#definemode10xC8/ 循环放音操作,按一下 PE 键可循环放音,按#definemode20xD0/ 按顺序连续分段录放音,每段语音长度不限#definemode30xC0/ 地址指针复位,开始录放第一段#d

5、efinemode40xD1/ 按 PE 键可快速选段放音/ 操作模式的定义按PL 键停止;或按PL 键放音,松开即停止unsigned char RX_index=0 。bitFLAG_rev = 0。/unsigned char PC_COMMANDunsigned char RX_BUFFER10。 /串行接收缓存voidio_init(void> 。voidinit_serialcomm(void>。voidserial_out(unsignedchard>。voiddelay5ms(void> 。voiddelay(unsignedintx> 。void

6、nop(unsigned chari> 。voidpaly(unsigned chari> 。 /选择播放当前段操作/0xC1/ 也为地址指针复位/io_init(> 。init_serialcomm(> 。delay(1000> 。serial_out(0xaa> 。/发送到PC机,看看PC端是否收到正确数据serial_out(0x55> 。serial_out(0x33> 。POW = 0 。 / 开启电源/P1= mode4。/P1= 0X00。while(1>/ 端口初始化void io_init(void>P1M0=0x0

7、0o /设置STC的 IO 为标准51 IO模式P1M1=0x00 。P3M0=0x00 。P3M1=0x00 。P1 = 0XFF。P30XFF。/ 串行口初始化void init_serialcomm(void> /SCON: serail mode 1, 8-bit UART, enable ucvr/RX_BUFFERRX_index/RX_index+ 。switch(PC_COMMAND>/ 保存数据到数组里面SCON = 0x50TMOD= 0x20 。/TMOD:timer 1, mode 2,8-bit reloadTH1 =TL1 =0xf3 。 /12MHz,

8、24000xf3 。/IE|=0x90 。bps/Enable SerialInterruptTR1= 1。/timer 1 runES=1。EA=1。/ 串行数据发送,查询模式void serial_out(unsignedES=0。SBUF=d。ES=1。char d>while(TI=0>。 TI=0 。/ 串行中断接收void receive(>interruptif(RI>4RI = 0。ES = 0。PC_COMMAND=SBUF。PC_COMMANDserial_out(0xa0>P1 = mode2。PE = 0。nop(10> 。PE =

9、1 。P1 = 0XFF。break 。case 0xb0:serial_out(0xb0>P1 = mode3。nop(10> 。P1 = 0XFF。break 。case 0xc0:serial_out(0xc0>case 0xa0:/ 按顺序连续分段录放音,每段语音长度不限0xD0/ 地址指针复位0xC0/ 选段播放控制连续寻址,/ 第二步:快速选段放音P1 = 0xD1P1_0 = 0 nop(10> 。P1_0 = 1 nop(10> 。PE = 0。nop(10> 。PE = 1 。break 。case 0xd0:serial_out(0xd0

10、> 。/ 播放任意段的组合paly(3> 。paly(1> 。paly(5> 。paly(5> 。paly(6> 。paly(4> 。paly(3> 。paly(6> 。paly(1> 。break 。case 0x30:serial_out(0x30> 。PL 键停止;或按 PL 键放音,松开即停/ 此操作循环放音操作,按一下PE 键可循环放音,按/ 此操作没什么用P1 = mode1。PE = 0。nop(10> 。PE = 1 。/break 。default:break 。ES = 1。/* 选段播放, i 的值就

11、是要播放的当前段 i 的取值: 1 .*/ void paly(unsigned char i>i- 。A7-A0:1100 0000<A2、A5 在应用匚P1 = mode3。/ 第一步:地址指针复位 0xC0地) nop(10> 。 /P1= 0XFF。delay(30> 。 / 必要的延时if(i>0> 1101 0001<A2、A5在应用中可直接接地)P1 = 0xD1。/ 第二步:快速选段放音 0xD1A7-A0:do P1_0 = 0。/ 给 A0 低电平脉冲nop(10> 。 P1_0 = 1。 nop(10> 。PE = 0

12、。 nop(10> 。 PE = 1 。delay(50> 。 / 这个延时是非常必要的! i- 。while(i!=0> 。delay(30> 。 / 必要的延时P1=mode2。/ 第三步:播放当前段 0xD0PE=0。nop(10> 。PE=1。/P1= 0XFF。while(REC_LED=1> 。 / 等待播放while(REC_LED=0> 。 / 等待播放结束A7-A0:1101 0000<A2、A5在应用中可直接接地)/ 软件延时函数 /50ms 延时void delay5ms(void>unsigned char TempC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论