頻率范圍21-25khz,鳥能聽到,人聽不到。音長和音頻都是隨機數,防止鳥適應。這個用555是很難做到的。程序調試通過,見附件。
單片機源程序如下:
- #define MAIN_Fosc 11059200L //定義主時鐘
- #include "STC15Fxxxx.H"
- #include <stdlib.h> //Keil library
- #define uchar unsigned char
- #define uint unsigned int
- sbit beep=P3^3;
- void main()
- {
- unsigned int i,j,k,t;
- while(1)
- {
- i=10*rand(); //產生音長隨機數
- j=rand(); //產生音頻隨機數
- for(k=0;k<=i;k++)
- {
- beep=0;
- t = MAIN_Fosc / (546000+j*3); //通電時長,自動適應時鐘,確保音頻在21-24.78khz
- while(--t) ;
- beep=1;
- t = MAIN_Fosc / (546000+j*3); //斷電時長
- while(--t) ;
- }
- }
- }
復制代碼
所有資料51hei提供下載:
15F104W 21-25khz beep.rar
(22.98 KB, 下載次數: 71)
2018-9-19 00:40 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|