频率范围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)
|