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

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

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
51单片机控制ISD1420实现选段播放功能的实现在2006年时候记得我在做?ISD1420的播放控制,当时在?选段播放上遇到了问题,当时网络上也没有详细描述具体的控制方法,也在咱们坛子里问过。 折腾了很久,后来还是实现出来了。但资料后来没有实际应用到产品上,今天翻看资料的时候发现了,拿出来给同样碰到问题的朋友做为参考。 以前写的C程序比较菜,注释比较多。(现在写的程序注释也很多?:) 电路图简单画了下,大家都看得懂:附上?KEIL完整工程: 1420_code.rar ? 程序原文: /********************************************************** 功能:??使用STC2052单片机控制?ISD1420语音芯片的播放 ???????1、顺序连续分段放音 ???????2、选段播放(播放任意段) ???????3、所有的播放控制都是通过接收串口的命令来执行 ??????? 编写:??benladn911??AVR猎手 日期:??2006-6-28创建 ???????2008-2-21添加注释和完善 **********************************************************/ #i ncludeSTC12C2052.H #i ncludeintrins.h #i ncludestdio.h #i ncludestring.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模式 ????????P1M1?=?0x00; ????????P3M0?=?0x00; ????????P3M1?=?0x00;???????? ????????P1?=?0XF

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档