|
單片機(jī)用開(kāi)關(guān)控制并發(fā)出變頻警報(bào)聲的仿真原理圖(proteus工程文件可到本帖附件下載):
0.png (21.09 KB, 下載次數(shù): 52)
下載附件
2017-3-29 22:14 上傳
單片機(jī)源程序:
- //---------------------------------------------------------------------------------------------------------------
- // 程序名: FS5-7.c
- // 程序功能:開(kāi)關(guān)控制發(fā)出變頻警報(bào)聲
- //---------------------------------------------------------------------------------------------------------------
- #include <reg51.h> // 頭文件
- sbit SPK=P0^0;
- sbit K=P2^7;
- d_b(); // 聲明發(fā)聲函數(shù)d_b()
- //-------------------------------------------- 主函數(shù) -------------------------------------------
- void main( ) // 主函數(shù)
- {
- for (;;) // 無(wú)限循環(huán)
- {
- while(K==0) //開(kāi)關(guān)K被觸動(dòng)時(shí),執(zhí)行while循環(huán) */
- {
- SPK=1;
- d_b (); // 調(diào)用發(fā)聲函數(shù)d_b()
- }
- }
- }
- //----------------------------------------- 發(fā)聲函數(shù)d_b ( ) -----------------------------
- d_b ( )
- {
- unsigned int i,j,k,y; // 聲明無(wú)符號(hào)整型變量i,j,k
- for(k=0;k<10;k++) // 發(fā)聲次數(shù)循環(huán)
- {
- for(i=0;i<2000;i++) // 循環(huán)2000次,1kHz響 1s
- {
- SPK=~SPK;
- for(j=0;j<50;j++); // 延時(shí)500μs
- }
-
- //---------------------------------------
- for(y=0;y<4000;y++) // 循環(huán)4000次,2kHz響 1秒鐘
- {
- SPK=~SPK;
- for(j=0;j<25;j++); // 延時(shí)250μs
- }
- }
- }
- //-------------------------------------------------------------------------------------------------------------
復(fù)制代碼
0.png (45.49 KB, 下載次數(shù): 74)
下載附件
2017-3-29 22:16 上傳
該系列源碼包含有很多非常經(jīng)典,代碼風(fēng)格十分規(guī)范,而且注釋詳細(xì)的單片機(jī)例程,還帶仿真,對(duì)于MCU學(xué)習(xí)特別是初學(xué)者是很有幫助的,全部源碼下載(共25個(gè)項(xiàng)目):http://www.raoushi.com/bbs/dpj-79328-1.html
本例程下載(含proteus仿真工程文件與源碼):
5-7開(kāi)關(guān)控制發(fā)出變頻警報(bào)聲.rar
(35.96 KB, 下載次數(shù): 35)
2017-3-29 22:16 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|