熱門(mén): 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2018-4-25 08:40
正文摘要:控制要求就是行程開(kāi)關(guān)有信號(hào)然后控制isd1820播放語(yǔ)音。流程圖里的有無(wú)內(nèi)膽,是否按下,都是用行程開(kāi)關(guān)代替 |
樓主,請(qǐng)問(wèn)你的isd1820播放語(yǔ)音的功能實(shí)現(xiàn)了么,想學(xué) |
我上網(wǎng)查了很久,找了很多資料都沒(méi)有解決問(wèn)題。最后在現(xiàn)實(shí)中操作一遍后得出結(jié)論: #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的特性而制作的,自己上網(wǎng)查天特性。 #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; } } 第二種方法是用到定時(shí)器,用普通的延時(shí)沒(méi)用的。我試過(guò),這也是因?yàn)镻LAYE按鍵的特性。 加油!單片機(jī)沒(méi)有什么難的,難的堅(jiān)持不懈的決心。。 |
照片模糊 |
Powered by 單片機(jī)教程網(wǎng)