ISD1730语音芯片编程c_第1页
ISD1730语音芯片编程c_第2页
ISD1730语音芯片编程c_第3页
ISD1730语音芯片编程c_第4页
ISD1730语音芯片编程c_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

ISD1730 语音芯片编程 c 2010 07 11 21 22 自己编写的芯片头文件 ifndef SPI H define SPI H include reg52 h 命令定义 define PU 0 x01 17xx 上电 define STOP 0 x02 停止当前操作 define RESET 0 x03 芯片复位 define CLR INT 0 x04 清除 EOM 标志和中断信号 define RD STATUS 0 x05 返回状态寄存器内容 define RD PLAY PTR 0 x06 在 1 2 字节返回状态寄存器信息 2 3 字节返回放音指针 define PD 0 x07 芯片下电 define RD REC PTR 0 x08 在 1 2 字节返回状态寄存器信息 2 3 字节返回录音指针 define DEVID 0 x09 读取芯片 ID 号码 define PLAY 0 x40 从当前地址放音 define REC 0 x41 从当前地址录音 define ERASE 0 x42 擦除当前语音段 define G ERASE 0 x43 擦除芯片所有语音 define RD APC 0 x44 返回状态寄存器信息在 1 2 字节 APC 寄存器信息在 3 字节 define WR APC1 0 x45 将写入 APC 寄存器 define WR APC2 0 x65 将写入 APC 寄存器 并由 位控制音量 define WR NVCFG 0 x46 将 APC 内容写入 NVCFG define LD NVCFG 0 x47 将 NVCFG 内容写入 APC define FWD 0 x48 将放音指针指向下一段语音地址处 define CHK MEM 0 x49 检查环状存储体系 define EXTCLK 0 x4a 外部时钟使能 define SET PLAY 0 x80 从起始地址放音到结束地址 结束 define SET REC 0 x81 从起始地址录音到结束地址 结束 define SET ERASE 0 x82 从起始地址擦除到结束地址 结束 define uchar unsigned char define uint unsigned int SPI 与 MCU 引脚连接 sbit ISD1730 MISO P0 0 sbit ISD1730 MOSI P0 1 sbit ISD1730 SCLK P0 2 sbit ISD1730 SS P0 3 define ENISD1730 SS ISD1730 SS 0 define DISENISD1730 SS ISD1730 SS 1 define ISD1730 MISO L ISD1730 MISO 0 define ISD1730 MISO H ISD1730 MISO 1 define ISD1730 MOSI L ISD1730 MOSI 0 define ISD1730 MOSI H ISD1730 MOSI 1 define ISD1730 SCLK L ISD1730 SCLK 0 define ISD1730 SCLK H ISD1730 SCLK 1 函数声明 void isd1730 delay void delay10ms unsigned int n unsigned char ISD1730 Spio unsigned char dat void ISD1730 PU void void ISD1730 Set Play unsigned char VOICE NUM void ISD1730 PLAY unsigned char voice name void ISD1730 Write APC2 void endif 芯片的源文件 include SPI h unsigned char SR0H bdata unsigned char SR0L bdata unsigned char SR1 bdata unsigned char SR2 程序中的延时都屏蔽了也可以运行 函数原型 void GetToneAdd uchar cNum Uint ipStartAdd Uint ipEndAdd 功 能 取出当前语音的首末地址 void GetToneAdd unsigned char NUM unsigned int ipStartAdd unsigned int ipEndAdd unsigned int caToneAdd 0 x0010 0 x00ff 0 x0015 0 x0016 0 x001c 0 x001d 0 x0023 0 x0024 0 x002a 0 x002b 0 x0030 0 x0031 0 x0035 0 x0036 0 x003b 0 x003c 0X0041 0 x0042 0 x0047 0X0048 0 x004d 0 x004e 0 x0053 0 x0054 0 x0059 0 x005a 0 x005f ipStartAdd caToneAdd NUM 2 ipEndAdd caToneAdd NUM 2 1 名称 isd1730 delay 功能 7us 延时 输入 无 输出 无 返回 无 备注 无 static void isd1730 delay void unsigned char i for i 0 i 7 i 名称 delay10ms 功能 延时 n 1 毫秒 输入 n 输出 无 返回 无 备注 无 static void delay10ms unsigned int n unsigned int i j for i 0 i n i for j 0 j 1000 j 名称 ISD1730 Spio 功能 ISD1730 SPI 驱动函数 输入 dat 要传送到 ISD1730 的数据 输出 无 返回 receive 接收的数据 备注 无 static unsigned char ISD1730 Spio unsigned char dat unsigned char i unsigned char recevice ISD1730 SCLK L 先将 SCLK 清 0 for i 0 i 1 要写入的数据左移一位 isd1730 delay 稍微延时 7us ISD1730 SCLK H 将要发送的数据位送到 MOSI 上后 置 SCLK 为 1 上升沿时将当前 MOSI 上的数据传到 ISD1730 isd1730 delay 下面开始接收从 MISO 发出的数据位 recevice 1 ISD1730 MISO H if ISD1730 MISO 1 SPI 接口的串行输出 ISD1700 在 SCLK 下降沿之前的半个周期将数据 放置在 MISO 端 数据在 SCLK 的下降沿时移出 recevice 0 x80 ISD1730 SCLK L return recevice 名称 ISD1730 PU 功能 ISD1730 上电操作 输入 无 输出 无 返回 无 备注 无 static void ISD1730 PU void SPI 初始条件 DISENISD1730 SS ISD1730 SCLK H ISD1730 MOSI L ENISD1730 SS 发送命令 SR0L ISD1730 Spio PU 发送命令字节 SR0H ISD1730 Spio 0 x00 发送数据字节 1 DISENISD1730 SS delay10ms 2 名称 ISD1730 Write APC2 功能 写入 APC 参数 输入 无 输出 无 返回 无 备注 无 void ISD1730 Write APC2 void SPI 初始条件 DISENISD1730 SS ISD1730 SCLK H ISD1730 MOSI L ENISD1730 SS 发送命令 SR0L ISD1730 Spio WR APC2 发送命令字节 SR0H ISD1730 Spio 0 x40 发送数据字节 1 SR1 ISD1730 Spio 0 x0c 发送数据字节 2 DISENISD1730 SS delay10ms 2 名称 功能 输入 输出 返回 备注 void ISD1730 Set Play unsigned char VOICE NUM unsigned int Add ST Add ED unsigned char Add ST H Add ST L Add ED H Add ED L GetToneAdd VOICE NUM Add ST L unsigned char Add ST Add ST H unsigned char Add ST 8 Add ED L unsigned char Add ED Add ED H unsigned char Add ED 8 SPI 初始条件 DISENISD1730 SS ISD1730 SCLK H ISD1730 MOSI L ENISD1730 SS 发送命令 SR0L ISD1730 Spio SET PLAY 发送命令字节 SR0H ISD1730 Spio 0 x00 发送数据字节 1 SR1 ISD1730 Spio Add ST L 发送数据字节 2 放音起始地址低 8 位 SR2 ISD1730 Spio Add ST H 发送数据字节 3 放音起邕地址高 3 位 ISD1730 不用 SR0H ISD1730 Spio Add ED L 发送数据字节 4 放音结束地址低 8 位 SR0H ISD1730 Spio Add ED H 发送数据字节 5 放音结束地址低 8 位 ISD1730 不用 SR0H ISD1730 Spio 0 x00 发送数据字节 6 DISENISD1730 SS delay10ms 2 名称 ISD1730 PD 功能 ISD1730 下电命令 输入 无 输出 无 返回 无 备注 无 void ISD1730 PD void SPI 初始条件 DISENISD1730 SS ISD1730 SCLK H ISD1730 MOSI L ENISD1730 SS 发送命令 SR0L ISD1730 Spio PD 发送命令字节 SR0H ISD1730 Spio 0 x00 发送数据字节 1 DISENISD1730 SS delay10ms 2 名称 ISD1720 PLAY 功能 播放指定的语音信息 输入 voice num 语音索引编号 输出 无 返回 无 备注 无 void ISD1730 PLAY unsigned char voice name ISD1730 PU delay10ms 5 ISD1730 Set Play voice name delay10ms 350 ISD1730 PD delay10ms 15 程序结束 主函数所在的 C 文件 include reg52 h inc

温馨提示

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

评论

0/150

提交评论