打印

各位高手帮分析一下程序

[复制链接]
1393|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wtm_dxyb|  楼主 | 2010-9-27 18:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void delay(unsigned int cnt)
{
while(--cnt);
}
/******************************************************************/
/*                   主函数                                       */
/******************************************************************/
main()
{
unsigned int i;
while(1)
      {
    for(i=0;i<200;i++)//喇叭发声的时间循环,改变大小可以改变发声时间长短
          {
          delay(80);     //参数决定发声的频率,估算值,可以自行更改参数并
          SPK=!SPK;
          }
       SPK=1;            //喇叭停止工作,间歇的时间,可更改
       delay(20000);
         
   }
}
这是个让单片机上的喇叭发声的程序请问SPK=!SPK,怎么理解?另外为什么要改变喇叭的发声频率!电路图如下请问怎么确定喇叭应该连接I/O口。
file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/39GVS3LVJ%7BZ3]N3853BALQO.jpg [img=454,30]file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/9C]6R(8BSJ%253J[XDTRX6JTB.jpg[/img]

相关帖子

沙发
wtm_dxyb|  楼主 | 2010-9-27 18:44 | 只看该作者

使用特权

评论回复
板凳
chen3bing| | 2010-9-27 19:16 | 只看该作者
IO口取反,改变声音。那样声音就会发生变化。

使用特权

评论回复
地板
原野之狼| | 2010-9-28 00:12 | 只看该作者
3L说得对

使用特权

评论回复
5
datouyuan| | 2010-9-28 10:39 | 只看该作者
3楼说得不对。
IO口取反,才会发出声音。直流是没有声音的
delay(80);      这条语句决定了声音的频率。周期为2个延时函数的时间,频率估计只有1KHz。
前面的循环决定了声音的长短。感觉这声音好短,只有0.1秒多。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

20

帖子

1

粉丝