STC2052单片机控制ISD1420实现选段播放功能实现(C程序电路图).docVIP

STC2052单片机控制ISD1420实现选段播放功能实现(C程序电路图).doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
51单片机控制ISD1420实现选段播放功能的实现(C程序?电路图) 3 推荐 资料编写与整理:AVR猎手benladn911????? 出处:AVR猎手的地盘? /?????? 转载请注明出处 在2006年时候记得我在做?ISD1420的播放控制,当时在?选段播放上遇到了问题,当时网络上也没有详细描述具体的控制方法,也在咱们坛子里问过。 折腾了很久,后来还是实现出来了。但资料后来没有实际应用到产品上,今天翻看资料的时候发现了,拿出来给同样碰到问题的朋友做为参考。 以前写的C程序比较菜,注释比较多。(现在写的程序注释也很多?:) 电路图简单画了下,大家都看得懂: 附上?KEIL完整工程: 1420_code.rar ? 程序原文: /********************************************************** 功能:??使用STC2052单片机控制?ISD1420语音芯片的播放 ???????1、顺序连续分段放音 ???????2、选段播放(播放任意段) ???????3、所有的播放控制都是通过接收串口的命令来执行 ??????? 编写:??benladn911??AVR猎手 日期:??2006-6-28创建 ???????2008-2-21添加注释和完善 **********************************************************/ #i nclude<STC12C2052.H> #i nclude<intrins.h> #i nclude<stdio.h> #i nclude<string.h> //硬件端口的定义 #define??POW?P3_7???//此引脚为单片机控制一个三极管给?ISD1420供电 #define??PL??P3_5???//接?ISD1420?的?PLAYL #define??PE??P3_4???//接?ISD1420?的?PLAYE #define??REC?P3_3???//接?ISD1420?的?REC #define??REC_LED??P3_2???//ISD1420?的?REC?LED //操作模式的定义 #define??mode1??0xC8?//循环放音操作,按一下?PE?键可循环放音,按?PL?键停止;或按?PL?键放音,松开即停止 #define??mode2??0xD0?//按顺序连续分段录放音,每段语音长度不限 #define??mode3??0xC0?//地址指针复位,开始录放第一段 #define??mode4??0xD1?//按?PE?键可快速选段放音 ????????????????//0xC1?//也为地址指针复位 ???????????????? unsigned?char?RX_index=0;????????????????// bit?FLAG_rev?=?0;?// unsigned?char?PC_COMMAND; unsigned?char?RX_BUFFER[10];//串行接收缓存 void?io_init(void); void?init_serialcomm(void); void?serial_out(unsigned?char?d); void?delay5ms(void); void?delay(unsigned?int?x); void?nop(unsigned?char?i); void?paly(unsigned?char?i);//选择播放当前段操作 void?main(void) { ????????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?=?0x00;?//设置STC的?IO?为标准51?IO模式 ?????

文档评论(0)

ipad0c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档