doc6.c

来自「一个单片机程序」· C语言 代码 · 共 59 行

C
59
字号
无源蜂鸣器不同频率的发声程序  
   
 
作者:鞠春阳    来源:QQ单片机    点击数:542    更新时间:2006-4-19 
 
 
 
/*-------------------------------LED数码管显示实验说明------------------------------------------------------------------------------
  [程序名称]      BELL.C
  [程序作用]      实现无源蜂鸣器的奏乐
  [程序作者]      鞠春阳
  [版权所有]      鞠春阳
  [创建时间]      2006年04月16日
  [疑问解答]      http://www.qqmcu.com
  [技术支持]      http://www.qqmcu.com/bbs
  [本人E-mail]    jcygood@163.com
  [本人QQ]        383547
  [实验板购买方式及详情请访问:www.qqmcu.com]
  
  无源蜂鸣器的工作原理:用单片机的一个I/O来控制蜂鸣器的通电与断电,在本实验板上,当I/O输出"1"的时候,蜂鸣器有电通过,则发音片被通过的电
                        流产生的磁场吸引过去,当I/O输出"0"的时候,蜂鸣器没有电通过,那么发音片又被释放回原位,这样,频繁的通电,掉电,
                        使发音片按照你的频率在振动,就产生了相应的声音。
  
=====================================如需转载请保留以上信息,并通知作者=============================================================*/

#include"reg51.h"

sbit P3_6 = P3^6;   //控制蜂呜器的I/O

delay(unsigned int i)                //延时函数
{
 while(i--);
}

Bell(unsigned int f1,unsigned int f2,unsigned int L)    //发音函数,其中f1是设定不通电的时间,f2是设定通电的时间,L是设定发音的长短。
{
 while(L--)
 {
  P3_6=0;            //断掉给蜂鸣器的电
  delay(f1);         //延一个你设定的时间
  P3_6=1;            //给蜂鸣器通电
  delay(f2);         //延一个你设定的时间
 } 
}

main()
{
 unsigned int a=1000;  //发音的次数
 while(a--)
 {
  Bell(20,20,1000);    //循环发1000遍的"滴"声
  delay(60000);
 }
 while(1);
}
 
 
 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?