|
發(fā)布時間: 2024-5-15 13:11
正文摘要:當達到設定鬧鐘時間時,用繼電器控制無源蜂鳴器發(fā)出響聲 有沒有明白人講一下為什么我按照下面的方式也可以實現(xiàn)呢 我大致標注在圖里了 |
qq475878026 發(fā)表于 2024-5-17 13:55 我先接了板子上的無源蜂鳴器它不響,后面我就把有源的也接進去了,無源蜂鳴器才響,不知道為什么會這樣 |
| 不是很懂你的意思,既然線接過去了能響不是很正常嗎?跟接模塊一樣 |
lkc8210 發(fā)表于 2024-5-16 09:18 下面這個電源是USB直接插在電腦端供電的,這根綠色的線沒有接電源啊,是左邊有源蜂鳴器綠色線接地了 |
| 明顯由兩部分組成,但你這兩部分沒有共地!!!!! |
|
有可能是電源共地了你不知道 下面這電源是哪來的?
下面這綠線接的是5V嗎?
|
cy009 發(fā)表于 2024-5-15 16:06 不連接左邊有源蜂鳴器,右邊的無源蜂鳴器這樣連接不響啊,不太明白,還有您覺得這樣問很沒意思,那就不回答就好了,沒必要這樣跟我陰陽怪氣 |
| 黑色那根線多余了。你可以插入一根牙簽,然后再問:為什么插入牙簽也可以? |
| sbit beep=P3^0; sbit test=P3^6; uchar shi[]={0,1,2,3,4,5,6,7,8,9,10};//鬧鐘 uchar fen[]={0,0,0,0,0,0,0,0,0,0,0}; uchar mode=0;//模式 uchar flag=0;//切換 uchar sec=0; uchar disp1[]="2021.03.10 3"; uchar disp2[]="00:00:00 "; uchar disp3[]="00:00"; uchar disp4[]="clock00"; uchar start=0; //延時 void delay(uint i) { while(i--) { if(!k6)//停止鬧鐘 { start=0; break; while(!k6); } } } void delays(uchar i)//秒延時 { uchar j; while(i--) { for(j=0;j<50;j++) delay(1000); } } //鬧鐘 void buzzr1() //低頻 { uint i; if(start>0) { for(i=0;i<1000;i++) { beep=0; delay(50); if(!k6)//停止鬧鐘 { start=0; beep= 1; break; while(!k6); } } } } void buzzr2() //高頻 { uint i; if(start>0) { for(i=0;i<2000;i++) { beep=0; delay(25); if(!k6)//停止鬧鐘 { start=0; beep= 1; break; while(!k6); } } } } void nao()//鬧鐘控制 { switch(start) { case 1: buzzr1();delays(1); break; case 2: buzzr1();delays(1); buzzr2();delays(1); break; case 3: buzzr1();delays(1); buzzr2();delays(1); buzzr2();delays(1); break; case 4: buzzr1();delays(1); buzzr1();delays(1); buzzr2();delays(1); break; case 5: buzzr1(); buzzr1();delays(1); buzzr2(); buzzr2();delays(1); break; case 6: buzzr1(); buzzr1();delays(1); buzzr2();delays(1); break; case 7: buzzr1();delays(1); buzzr2(); buzzr2();delays(1); break; case 8: buzzr1(); buzzr1(); buzzr1();delays(3); break; case 9: buzzr2(); buzzr2();delays(2); break; case 10: buzzr1(); break; case 11: buzzr1();delays(1); buzzr1();delays(1); buzzr1();delays(4); buzzr2();delays(1); buzzr2();delays(1); buzzr2();delays(4); } } |
Powered by 單片機教程網(wǎng)