单片机蜂鸣器问题

我始终搞不懂中断定时器是怎样改变蜂鸣器的发音频率的,假如P3^7是控制蜂鸣器的。beep=P3^7; beep=!beep;这个地方为什么要取非,这样有什么好处?先谢了!!!!

发音是蜂鸣器振动引起的,而振动则是对蜂鸣器电压断通引发的,控制电压的频率就是蜂鸣器振动的频率,取非则是对电压控制的断通控制,先是1,非后是0,再非又继续循环。追问

是不是电压通他就响,电压断就不响?要是这样的话,也只能决定它响的时间长短,比如响”多“这个音,响一秒,或者响两秒。但是是哪部分程序让它响其它音调的音呢?

追答

有两种蜂鸣器,一种无源蜂鸣器吗,一种是有源,有源是指给它通上直流电,它就按本身固有的频率响(本身有震荡电路比如3K),而无源则相反,相当于喇叭,给喇叭通上直流电,是不会响的,需要交变的电压,这就是以上问题的蜂鸣器,这种蜂鸣器的振动频率是外部电路控制的,音调也即是可控的。改变高低电平的频率就是蜂鸣器的频率,可以通过定时器来改变。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-30
用一个定时器(计数器)对系统时钟进行计数,当计数满时会有一个中断发生,应该在中断服务中对输出引脚取反(取非)。如果定时器反复计数下去,引脚上就会产生交替变化的高-低-高-低....的信号,这个信号就是供蜂鸣片(或扬声器)发声的音频信号。
第2个回答  2013-05-30
用一个定时器(计数器)对系统时钟进行计数,当计数满时会有一个中断发生,应该在中断服务中对输出引脚取反(取非)。如果定时器反复计数下去,引脚上就会产生交替变化的高-低-高-低....的信号,这个信号就是供蜂鸣片(或扬声器)发声的音频信号。

如果不取反,就没有办法产生高低交变的信号。

改变定时器的计数初值,就可以改变音频信号的频率。本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网