楼主,请问你的isd1820播放语音的功能实现了么,想学 |
我上网查了很久,找了很多资料都没有解决问题。最后在现实中操作一遍后得出结论: #include<reg51.h> sbit RLAYL=P1^0; sbit RLAYE=P1^1; #define uint unsigned int #define uchar unsigned char void delay(uint z) { uchar x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void main() { P1=0xfe; while(1) { P1=0xfe; delay(2000); P1=0xff; delay(2000); } } 第一种方法是利用PLAYL的特性而制作的,自己上网查天特性。 #include<reg52.h> #include<intrins.h> #define uint unsigned int #define uchar unsigned char uchar num; sbit PLAYE=P1^0; //void delay(uint z); void main() { TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; while(1); } void timer0() interrupt 1 { TH0=(65536-45873)/256; TL0=(65536-45873)%256; num++; if(num==80) { num=0; PLAYE=~PLAYE; } } 第二种方法是用到定时器,用普通的延时没用的。我试过,这也是因为PLAYE按键的特性。 加油!单片机没有什么难的,难的坚持不懈的决心!!! |
照片模糊 |