为什么无源蜂鸣器一直响个不停。因为定时器都被占用,只能用延时实现响的时间

2019-07-15 13:52发布


  #include <reg52.h>  //器件配置文件


   sbit SPK=P1^0;           //蜂鸣器引脚
            
/*********************************************************/
void delayus()     //延时函数,
{
unsigned char i;
        {
for(i=0; i<7; i++)
  {;}
        }
}
                             
/*********************************************************/

void  main(  void  )
{  
     unsigned int  j;
         
        SPK=0;           
  j = 60;     
  while(j>0)   
  {
   SPK = 1;
               delayus();  //高电平
                        delayus();
                        
   SPK = 0;
                delayus();  //低电平
                         delayus();
                        
   j--;
                 }
     
}
     
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
冬末灬的浩唱
1楼-- · 2019-07-17 09:01
好强啊!!!菜鸟的我只能望望,默默学习!
融稔
2楼-- · 2019-07-17 14:28
闹腾呗 发表于 2016-5-22 20:03
我去试试,谢谢

给你加了延时,具体多少次后断开,你可以随便改。。。

程序.rar 下载积分: 积分 -1 分

426 Bytes, 下载次数: 46, 下载积分: 积分 -1 分

闹腾呗
3楼-- · 2019-07-17 20:19
 精彩回答 2  元偷偷看……
闹腾呗
4楼-- · 2019-07-17 20:22
融稔 发表于 2016-5-23 10:55
给你加了延时,具体多少次后断开,你可以随便改。。。

嗯嗯,太谢谢你了。昨天晚上我总算明白为什么死循环了,但是蜂鸣器频率听起来声音很小,就是有一点点滴滴的声音,不知道是因为电压,还是延时程序导致的频率问题。我去试试您的程序哈。
闹腾呗
5楼-- · 2019-07-17 20:54
773865258 发表于 2016-5-22 22:50
每次执行完j有被赋值了,程序死了

嗯嗯,这个总算明白了,谢谢

一周热门 更多>