ZR-YY800语音模块的应用(2).doc_第1页
ZR-YY800语音模块的应用(2).doc_第2页
ZR-YY800语音模块的应用(2).doc_第3页
ZR-YY800语音模块的应用(2).doc_第4页
ZR-YY800语音模块的应用(2).doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

ZR-YY800 型语音模块的应用(2)四ZR-YY800语音模块串行模式电路 当模块的5脚(MOD)接低电平,上电后,模块就自动设定为串行模式。在串行模式下,外电路可通过SCLK(1脚)和SDAT(2脚)二条线对模块进行控制,另外,OVF(4脚)、EOM(6脚)信号也可为用户所用(详见图4)。 图4图4中的3位数码显示器可不要,此时,P1PA端可作为通用输出口应用(后面介绍)。五串行控制时序图1外部单元对ZR-YY800模块的写命令时序(见图5) 图5由图可知: * 在写命令操作开始前,外部单元设定SDAT和SCLK线均为输出态。 * 每一次写命令操作由外部单元发出9个SCLK低脉冲,从外部单元移出8个数据位且遵循高位在先的原则,接着,外部单元接收模块返回的“ACK”应答信号,该信号表明,模块已完成外部单元命令的工作,已准备好接收新的命令。 * SCLK线为高电平时,数据位从SDAT线上移出,SCLK线为低电平时,应保持SDAT线上的数据位不变。 * 当8个数据位全移出后,在SCLK的第9个下降沿处,外部单元将SDAT线由原来的输出态转为输入态,准备接收ZR-YY800模块返回的“ACK”应答信号。 * ACK 应答信号经过t4时间后在SDAT线上出现,t4时间由ZR-YY800模块执行各种命令的操作时间来确定,并没有确定的值。 * ACK 应答信号为t5 时间长度的低电平。 * 外部单元在收到应答信号的上升沿后,应在t6 时间内将SDAT线再转为输出态,准备下一次新的写操作。2外部单元对ZR-YY800模块的读数据时序(见图6) 图6由图6可知: * 在读数据操作开始前,外部单元设定SDAT线为输入态,SCLK线为输出态。* 每一次读数据操作由外部单元发出9个SCLK低脉冲,从ZR-YY800模块移出8个数据位且遵循高位在先的原则。 * 在SCLK的下降沿,模块的数据移出SDAT线,在SCLK的上升沿,外部单元读取SDAT线上的数据。 * 在SCLK的第9个上升沿处,外部单元将SDAT线由原来的输入态转为输出态,准备新的写操作。3时间解释t1 从SDAT线上出现有效数据位到SCLK下降沿的时间,该时间要 0.5S。 t2 SCLK低电平时间,该时间要 1.75S。t3 SCLK高电平时间,该时间要 1.75S。t4 该时间是ZR-YY800模块接到外部单元的命令后的处理时间,该时间要 1.25S。t5 ACK应答信号有效时间,该时间为32S。t6 收到ACK应答信号上升沿到新的写操作开始的时间,该时间要 2S。六串行控制命令(用十六进制数表示) * 回零命令 00* 从当前段开始录音命令 01 * 从指定段开始录音命令 02 (段数高位)(段数低位) 这是三字节命令,每字节都是写操作。例如,要在第22段开始录音则命令如下:02 00 16(十进制“22”变为四位十六进制数为0016) 。再例如,要在第356段开始录音:02 01 64(十进制“356”变为四位十六进制数为0164)。* 从当前段开始放音命令 03 * 从指定段开始放音命令 04 (段数高位)(段数低位) 这是三字节命令,例如,要在第9段开始放音则命令如下:04 00 09(十进制“9”变为四位十六进制数为0009 )。再例如,要在第511段开始放音:04 01 FF(十进制“511”变为四位十六进制数为01FF)。 * 停止命令 05 * 段选+命令 06* 段选-命令 07* 读溢出(到底)标志OVF命令 08 (接收数据)这是二字节命令,第1字节是写操作,第2字节是读操作。ZR-YY800模块是按照高位在先的原则传送数据位的,排序如图7。OVF为 “0”说明没有溢出, OVF为 “1”说明溢出. 图7注:“”为无效数。* P0端输出高电平命令 09* P0端输出低电平命令 0A* 开显示器命令 0B 该命令执行后三位LED数码显示器点亮。* 关显示器命令 0C 该命令执行后三位LED数码显示器灭。* P1端输出高电平命令 0D* P1端输出低电平命令 0E* P2端输出高电平命令 0F* P2端输出低电平命令 10* P3端输出高电平命令 11* P3端输出低电平命令 12* P4端输出高电平命令 13* P4端输出低电平命令 14* P5端输出高电平命令 15* P5端输出低电平命令 16* P6端输出高电平命令 17* P6端输出低电平命令 18* P7端输出高电平命令 19* P7端输出低电平命令 1A* P8端输出高电平命令 1B* P8端输出低电平命令 1C* P9端输出高电平命令 1D* P9端输出低电平命令 1E* PA端输出高电平命令 1F* PA端输出低电平命令 20七 C-BASIC 语言串行控制程序 1 连接图(见图8)图82程序P11-时钟端(SCLK)。P10-数据端(SDAT)。R036-发射或接收的数据。R037-发射或接收位循环计数器。=发射子程序= FSH P11=1 R037=008 FSH0 R036 RLC P10=C FSH3 LC,CLK0 LC,CLK1 R037-001 RO37=000,FSH2 LJ,FSH0 FSH2 LC,CLK0 P11=1 RET=接收子程序= JSH P11=1 P10=1 R037=008 JSH0 LC,CLK0 P11=1 C=P10 JSH3 R036 RLC LC,CLK1 R037-001 R037=000,JSH2 LJ,JSH0 JSH2 LC,CLK0 P11=1 RET=时钟正脉冲子程序= CLK1 P11=1 P11=1 RET=时钟负脉冲子程序= CLK0 P11=0 P11=0 RET=接收应答信号子程序= ACK P10=1 ACK1 P10=1,ACK1 ACK2 P10=1,ACK3 LJ,ACK2 ACK3 RET=3例1 在第15段开始放音命令。 R036=004 发命令码 LC,FSH LC,ACK;- R036=000 发段数高位 LC,FSH LC,ACK;- R036=015 发段数低位 LC,FSH LC,ACK 4例2 停止命令。 R036=005 LC,FSH LC,ACK5例2 回零命令。 R036=000 LC,FSH LC,ACK八 51系列单片机汇编语言串行控制程序1程序P1.1-时钟端(SCLK)。P1.0-数据端(SDAT)。R1-发射或接收的数据。R2-发射或接收位循环计数器。=发射子程序=FSH: SETB P1.1 MOV R2, #08H MOV A,R1FSH0: RLC A MOV P1.0, CFSH3: LCALL CLK0 LCALL CLK1 DJNZ R2, FSH0 LCALL CLK0 SETB P1.1 RET=接收子程序=JSH: SETB P1.1 SETB P1.0 MOV R2, #08HJSH0: LCALL CLK0 SETB P1.1 MOV C, P1.0JSH3: RLC A LCALL CLK1 DJNZ R2, JSH0 MOV R1, A LCALL CLK0 SETB P1.1 RET=时钟正脉冲子程序= CLK1: SETB P1.1 SETB P1.1 RET=时钟负脉冲子程序= CLK0: CLR P1.1 CLR P1.1 RET=接收应答信号子程序=ACK: SETB P1.0ACK1: JB P1.0,ACK1ACK2: JNB P1.0,ACK3RET=2例1 读OVF标志命令,如果OVF=1 P0 就输出低电平,否则P0输出高电平。 MOV R1,#09H ; P0输出高电平 LCALL FSH LCALL ACK ;- R_OVF: MOV R1,#08H ; 读OVF标志 LCALL FSH LCALL ACK LCALL JSH ;- MOV A, R1 ; 判别OVF值 ANL A, #01H CJNE A, #01H, R_OVF ;- MOV R1,#0AH ; P0输出低电平 LCALL FSH LCALL ACK3例2 开显示器命令 MOV R1,#0BH ; 开显示器 LCALL FSH LCALL ACK4例3 关显示器命令 MOV R1,#0CH ; 关显示器 LCALL FSH LCALL ACK九ZR-YY800A型语音模块开发板的应用ZR-YY800A 开发板是专门用于ZR-YY800 语音模块的开发的。详见图9和图10。图9图101 录音输入插座(CN2)可接麦克风和线路输出信号用于录音。2 放音输出插座(CN4)可接高阻耳机

温馨提示

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

评论

0/150

提交评论