JD20181206084811.png (67.12 KB, 下載次數: 44)
下載附件
2018-12-6 08:48 上傳
//為節約成本,所以使用m寶上賣的0.2元左右的無源蜂鳴器,16R 3-12V通用的那種
//經測試,接不接三極管聲音大小都一樣
sbit beep = P3^3; //P3^3接無源蜂鳴器負極,無源蜂鳴器正極接VCC
//燒錄時可選12.000MHZ
- /*
- 1 IRC_CLKO/INT2/CLKOUT1/T0/RST/P3^4 8 RSTOUT_LOW/INT1/P3^3
- 2 VCC(5V) 7 INT0/P3^2
- 3 INT3/CLKOUT0/T1/P3^5 6 P3^1/TXD
- 4 GND 5 INT4/P3^0/RXD
- 燒錄時,燒錄器的VCC接2腳,TXD接5腳,RXD接6腳,GND接4腳
- */
- #include <reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
- //為節約成本,所以使用淘寶上賣的0.2元左右的無源蜂鳴器,16R 3-12V通用的那種
- //經測試,接不接三極管聲音大小都一樣
- sbit beep = P3^3; //P3^3接無源蜂鳴器負極,無源蜂鳴器正極接VCC
- //燒錄時可選12.000MHZ
- void Delay(uint time)//延時函數,有參函數
- {
- uint i,j;
- for(i=time; i>0; i--)
- for(j=110; j>0; j--);
- }
- void Buzzer(uint Number,uint Time) //可以選擇鳴響次數和音頻
- {
- uint i=0,j=0,k=0;
- for(i = 0; i < Number; i ++)
- {
- for(j=0; j<Time; j++)
- {
- beep = !beep; //beep取反
- for (k=0; k<100; k++); //需要產生方波,調節音頻
- }
- Delay(100); //間隔時間
- }
- beep = 1; //注意PNP=0;NPN=1關閉蜂鳴器,否則三極管電流會很大。
- }
- void main()
- {
- Buzzer(1,1000); //任意調節參數,選擇自己喜歡的鳴叫次數和音頻(1代表只響一聲)
- while(1) //看你需要不要它循環響,需要循環響就把代碼放到while里面
- {
-
- }
- }
復制代碼
全部資料51hei下載地址:
STC15F104無源蜂鳴器.zip
(23.18 KB, 下載次數: 42)
2018-12-6 08:46 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|