C語(yǔ)言程序如何讓蜂鳴器開口說(shuō)話
大?。?/span>0.1 MB 人氣: 2017-09-06 需要積分:0
推薦 + 挑錯(cuò) + 收藏(0) + 用戶評(píng)論(0)
標(biāo)簽:C語(yǔ)言(117708)蜂鳴器(44960)
簡(jiǎn)易電子琴實(shí)驗(yàn)
/* ch09-5-1.c- 簡(jiǎn)易電子琴實(shí)驗(yàn) */#include?
#define LED? P1????// 定義LED位置?
#define SW_Port? P2???// 定義按鍵位置?
sbit? buzzer=P3^7;???// 聲明蜂鳴器位置?
unsigned char? keys;??// 聲明變量??
/* 聲明音階陣列 --???? ??Do?Re?Mi?Fa?So?La?Si?Do_H? */
unsigned char code tone[]= {115,?102,?91,?86,?77,?68,?61,?57 };
void sound(unsigned char);?// 聲明發(fā)聲函數(shù)?
void delay8us(unsigned char);// 聲明延遲函數(shù)?
//====主程序=====================================
main()??????// 主程序開始?
{?while (1)????// while循環(huán)???
?{?LED=SW_Port = 0xff;?// 將LED關(guān)閉,SW_Port規(guī)劃成輸入埠?
??keys=~SW_Port;??// 讀取按鍵?
??switch (keys)??// 判讀?
??{?case 0x01:sound(0);break; ?// 按下S1,發(fā)Do音?
???case 0x02:sound(1);break; ?// 按下S2,發(fā)Re音?
???case 0x04:sound(2);break; ?// 按下S3,發(fā)Mi音?
???case 0x08:sound(3);break; ?// 按下S4,發(fā)Fa音?
???case 0x10:sound(4);break; ?// 按下S5,發(fā)So音?
???case 0x20:sound(5);break; ?// 按下S6,發(fā)La音?
???case 0x40:sound(6);break; ?// 按下S7,發(fā)Si音?
???case 0x80:sound(7);break; ?// 按下S8,發(fā)高音Do音?
??} ?
?}?????????// while循環(huán)結(jié)束?
}??????????// 主程序結(jié)束?
//=====發(fā)聲函數(shù)=============================
void sound(unsigned char x)????// 發(fā)聲函數(shù)開始
{?unsigned char i;?????// 聲明變量?
?LED=SW_Port;??????// 點(diǎn)亮LED
?for (i=0;i<60;i++)?????// 執(zhí)行60次?
?{?buzzer=0; delay8us(tone[x]);?// 蜂 器動(dòng)作?
??buzzer=1; delay8us(tone[x]);}?// 蜂 器不動(dòng)作?
?LED=0xff;???????// 關(guān)閉LED
}??????????// 結(jié)束?
//======延遲函數(shù)==============================
void delay8us(unsigned char x)?// 延遲函數(shù)開始?
{?unsigned char i,j;???// 聲明變量?
?for (i=0;i
}????????// 結(jié)束?
非常好我支持^.^
(1) 100%
不好我反對(duì)
(0) 0%
下載地址
C語(yǔ)言程序如何讓蜂鳴器開口說(shuō)話下載
相關(guān)電子資料下載
- 基于STM32F429芯片的單片機(jī)芯片內(nèi)存映射圖 154
- 基于啟明RA6M5的物聯(lián)網(wǎng)居家環(huán)境健康監(jiān)控設(shè)備設(shè)計(jì) 57
- C語(yǔ)言編寫程序執(zhí)行效率高的原因是什么? 31
- 基于51單片機(jī)溫度監(jiān)控Proteus仿真設(shè)計(jì)_報(bào)警值可調(diào) 226
- 51單片機(jī)數(shù)字溫度報(bào)警器_DS18B20可調(diào)上下限 248
- FPGA協(xié)處理的優(yōu)勢(shì)有哪些?如何去使用FPGA協(xié)處理? 887
- 辛苦整理的C語(yǔ)言筆記,一學(xué)就會(huì) 56
- 帶參數(shù)宏定義易出現(xiàn)的隱藏bug和定義方式歸納 57
- ARM9中斷中(C語(yǔ)言)如何實(shí)現(xiàn)復(fù)位功能,而不是返回中斷前的狀態(tài)? 131
- C語(yǔ)言之GNU C擴(kuò)展語(yǔ)法應(yīng)用 27