7.2.3  报警音的产生

7.2.3 报警音的产生

普通的报警器大多使用模拟电路自激震荡来产生报警信号,而用单片机编脉冲信号是很容易的事,可使电路设计简化。利用单片机P1.0输出1kHz和500Hz的音频信号驱动扬声器,用作报警信号,要求1kHz信号响应100ms,500Hz信号响应200ms,交替进行,P1.7接一开关进行控制,开关合上响报警信号,开关断开报警信号停止。

由于单片机引脚驱动电流很小,故应根据驱动扬声器的功率选择适当的功率放大电路,实验中驱动8Ω 0.25W的扬声器,驱动电路选用单管驱动,三极管可选用s8050等小功率管。单管驱动扬声器电路如图7-11所示。

978-7-111-46831-8-Chapter07-27.jpg

图7-11 单管驱动扬声器电路图

1.应用电路

报警音产生电路如图7-12所示。单片机的P1.7接口接一个两位置开关,P1.0接口接驱动电路。

978-7-111-46831-8-Chapter07-28.jpg

图7-12 报警音产生电路

2.程序设计

(1)程序功能 单片机读取P1.7接口的开关状态,当开关接低电平时开始报警。

(2)程序流程图 报警产生流程如图7-13所示。

(3)参考程序

1)汇编参考程序:

978-7-111-46831-8-Chapter07-29.jpg

978-7-111-46831-8-Chapter07-30.jpg

978-7-111-46831-8-Chapter07-31.jpg

图7-13 报警产生流程图

2)C语言参考程序:

978-7-111-46831-8-Chapter07-32.jpg

978-7-111-46831-8-Chapter07-33.jpg

运行后的结果如图7-14所示。