当前位置:   article > 正文

JQ8900-16P语音模块(驱动及测试)

jq8900

今天,给大家带来的是JQ8900语音模块,这是硬件图:

VPP: 单线串口(就是接收脉冲信号的引进)

BUSY: 播放指示灯

RX: 接收段

TX: 发送段

DC-5V: 5v供电

SPK-: 扬声器负极

SPK+: 扬声器正极

IO1~IO7是触发输入口,对地触发,DAC为音频输出(这里我们没用到)。用USB把模块连接到电脑,就会有一个盘,把需要的音频放入其中就可以使用。如果想使用IO口对地触发的方式必须按5位数字进行命名,如00001、00002。模块有7个触发IO口,最多支持19段录音。当然,这几个IO口也可以通过配置文件改变每个IO口的作用。

     这里我不是用对地触发方式,我是用单线串口(VPP)。我的接线方式为 SPK-、 SPK+、 VPP、 DC-5V、 GND。

    我们用sda为数据的发送段(连接VPP),下面是发送的脉冲信号范例

 代码为:

  1. void SendData(u8 addr)
  2. {
  3. u8 i;
  4. sda(1);//拉高
  5. delay_us( 1000);
  6. sda(0);//拉低
  7. delay_us (3200);
  8. for ( i = 0; i < 8; i++ )
  9. {
  10. sda(1);//拉高
  11. if ( addr & 0x01 )//高电平
  12. {
  13. delay_us( 600 );
  14. sda(0);//拉低
  15. delay_us( 210 );
  16. }
  17. else //低电平
  18. {
  19. delay_us( 210 );
  20. sda(0);//拉低
  21. delay_us( 600 );
  22. }
  23. addr >>= 1;//右移一位
  24. }
  25. sda(1);//拉高
  26. }

这是指令表:

 如何播放的一些例子:

  1. //播放下一首
  2. void Next(void)
  3. {
  4. SendData(0x15);
  5. }
  6. //播放上一首
  7. void Previous(void)
  8. {
  9. SendData(0x14);
  10. }
  11. //设置音量
  12. void Set_volume(u8 vol)
  13. {
  14. SendData(0x0a);//清零数字
  15. SendData(vol);
  16. SendData(0x00);
  17. SendData(0x0c);//设置音量
  18. }

到这里大致就结束了,不喜勿喷哦。

链接:https://pan.baidu.com/s/1yXGi3nW1UAqBIVajyIswCg?pwd=4428 
提取码:4428

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号