极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13899|回复: 8

arduino控制pm66放不出音

[复制链接]
发表于 2015-4-27 20:50:33 | 显示全部楼层 |阅读模式
题主是初学者 最近用arduino结合pm66准备实现放音功能
声音在买芯片的时候就已经录好了 地址是0X00到0X0F
芯片的K1 K2 O1 以及电源端 电源地 和单片机相连
另外芯片SPP与SPN连一个小喇叭来放音
但是一直没有声音
而且检查程序发现O1端一直处于高电平


以下代码是根据51单片机串行模式的代码改编的
求大家帮忙看看代码哪里出现了问题
感激不尽

  1. int K1 = 11; //数据端
  2. int K2 = 12; //时钟端
  3. int O1 = 3;//忙信号端

  4. void sp(unsigned char k1_data)
  5. {
  6.   unsigned char i;
  7.   
  8.   digitalWrite(K2, HIGH);
  9.   delayMicroseconds(2);
  10.   
  11.   digitalWrite(K1, LOW);
  12.   delayMicroseconds(2);
  13.   
  14.   delay(25);
  15.   
  16.   digitalWrite(K1, HIGH);
  17.   delayMicroseconds(2);
  18.   
  19.   delay(25);
  20.   
  21.   for (i=0;i<8;i++)
  22.   {
  23.     digitalWrite(K2, LOW);
  24.     delayMicroseconds(2);
  25.    
  26.     if ((k1_data&0X01)==1)//qu zui hou yi wei
  27.     {
  28.       digitalWrite(K1, HIGH);
  29.       delayMicroseconds(2);
  30.     }
  31.     else
  32.     {
  33.       digitalWrite(K1, LOW);
  34.       delayMicroseconds(2);
  35.     }
  36.     k1_data = k1_data >>1;//you yi
  37.     delayMicroseconds(170);
  38.    
  39.     digitalWrite(K2, HIGH);
  40.     delayMicroseconds(2);
  41.    
  42.     delayMicroseconds(170);
  43.   }
  44.   digitalWrite(K1, HIGH);
  45.   delayMicroseconds(2);
  46. }




  47. void setup()
  48. {
  49. Serial.begin(9600);
  50. pinMode(K1, INPUT);
  51. pinMode(K2, INPUT);
  52. pinMode(O1, OUTPUT);
  53. }

  54. void loop()
  55. {
  56.   unsigned char h;
  57.   for(h = 0X00;h<=0X0F;h++)
  58.   {
  59.     sp(h);
  60.     while (HIGH == 01)
  61.     delay(5);
  62.   }
  63. }
复制代码
回复

使用道具 举报

发表于 2015-4-27 22:07:24 | 显示全部楼层
请参考http://wenku.baidu.com/link?url= ... 4NTK0Ybq8LXIKUh_eqK
接线,喇叭不是接在ssp与SPN间的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-27 22:18:38 | 显示全部楼层
林定祥 发表于 2015-4-27 22:07
请参考http://wenku.baidu.com/link?url=SmPPY7jsUMY2HQ2xl4ln1q2Z0-Aaq_BZcip5TfYFOlJr3FDz2tUSsjbutVZriG ...

我用的是MCU模式下的串行地址模式 链接中没有喇叭的接线
回复 支持 反对

使用道具 举报

发表于 2015-4-28 09:22:47 | 显示全部楼层
theboychen 发表于 2015-4-27 22:18
我用的是MCU模式下的串行地址模式 链接中没有喇叭的接线

看资料这块板可以单独使用,建议先保证单独使用,再解决和单片"联机"问题.
回复 支持 反对

使用道具 举报

发表于 2015-4-28 09:27:03 | 显示全部楼层
theboychen 发表于 2015-4-27 22:18
我用的是MCU模式下的串行地址模式 链接中没有喇叭的接线

改的程序也是有问题,K1K2对于单片应该是输出,O对于单片应该是输入,好像反了.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-29 11:37:48 | 显示全部楼层
林定祥 发表于 2015-4-28 09:27
改的程序也是有问题,K1K2对于单片应该是输出,O对于单片应该是输入,好像反了.

好的我改改程序看看
回复 支持 反对

使用道具 举报

发表于 2016-5-24 23:11:46 | 显示全部楼层
你好,想问楼主最终做出来了吗,我们也在用PM66,但发出的声音是乱的。
回复 支持 反对

使用道具 举报

发表于 2018-5-7 15:18:05 | 显示全部楼层
你好,请问你弄的Arduino控制PM66语音实现功能了吗?
回复 支持 反对

使用道具 举报

发表于 2018-5-7 16:47:49 | 显示全部楼层
BUGU 发表于 2016-5-24 23:11
**** 作者被禁止或删除 内容自动屏蔽 ****

你做出来了吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 14:55 , Processed in 0.042022 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表