wtv020-sd模块与stc51连接的怪现象,谁做过,解释下?
电路连接如下:WTV020控制时序如下:
stc89le52rc的写WTV020的程序如下:
/************************************************************************************/
//WTV020-SD模块
/************************************************************************************/
sbit WRST=P1^7; //WTV20-SD的复位线
sbit WCLK=P1^6; //时钟信号线
sbit WSDA=P1^5; //数据线
/************************************************************************************/
/************************************************************************************/
/************************************************************************************/
//发送命令到WTV020-SD
void Read_voice(uint16 add) //根据WTV020-SD模块的时序写命令码
{
uint8 i;
EA=0; //屏蔽中断
WRST=1;
WCLK=1;
WSDA=1; //第一步先全部置高位
WRST=0; //拉低RST,启动模块
delay5ms(); //持续5ms
WRST=1; //拉高RST,RST信号完成
delay300ms();
WCLK=0; //拉低clk
delay2ms(); //持续2ms
for(i=0;i<16;i++)//16位的命令码
{
WCLK=0; //拉低clk
if(add & 0x8000)//先高位,再低位
{
WSDA=1;
}
else
{
WSDA=0;
}
delay100us();//持续100us
WCLK=1; //拉高clk
add<<=1; //先高位,再低位,故左移
delay100us();//持续100us
}
WRST=1;
WCLK=1;
WSDA=1; //最后全部置高位
EA=1; //开中断
}
空载,不接wtv020-sd模块,时序很准确,接上模块,wrst接到模块reset电平拉不低,一直是高电平,clk和sda的时序很正常,也能发音,不过要置后10来秒。写了个p1.7发送1HZ方波的小程序,接到模块的reset端还是一直高电平,根本拉不低,空载,p1.7方波正常,实在是想不通,是reset就是拉不低,还是这个模块有问题,可模块在程序下还是能发声的,只是滞后了,这应该就是reset不能置电平引起的,还是怎么样?现在一点思路都没,有谁做过这个,给我解答解答,不胜感激! 恩,我也遇到这个问题了,也还没解决啊 我也在搞这个,我的QQ:2572136520求交流 我现在也是搞这个,和楼主说的情况基本一样,空载时信号时序都对,加上WTV020模块后SCL和SDA时序也是对的,就是RST信号不正常,拉低了,但不是低到0V,而是1.4V左右,关于声音延迟这个我到没有等待这么久去测试,有空的时候再测试一下 我也一直在用这个模块,感觉模块挑卡,之前买了好几批卡才能放出声来,现在又买了一批模块,按键播放可以,二线控制放不出声来了,有大神知道怎么回事的吗? 正在学习、、、、 推荐一下我们的模块,支持TF卡、U盘、SPIFLASH设备
支持USB更新TF卡和SPIFLASH。性价比远超VS1003
页:
[1]