产品概述

单片机驱动喇叭 学习笔记单片机的40个经典实验之5:报警产生器

小编 2025-06-19 产品概述 23 0

学习笔记单片机的40个经典实验之5:报警产生器

一、实验任务

用 P1.0 输出 1KHz 和 500Hz 的音频信号驱动扬声器,作报警信号,要求 1KHz信号响 100ms,500Hz 信号响 200ms,交替进行,P1.7 接一开关进行控制,当开关合上响报警信号,当开关断开告警信号停止,编出程序。

二、 电路原理图

图 4.6.1

三、 系统板上硬件连线

(1. 把“单片机系统”区域中的 P1.0 端口用导线连接到“音频放大模块”区域中的 SPK IN 端口上;

(2. 在“音频放大模块”区域中的 SPK OUT 端口上接上一个 8 欧的或者是16 欧的喇叭;

(3. 把“单片机系统”区域中的 P1.7/RD 端口用导线连接到“四路拨动开关”区域中的 K1 端口上;

四、 程序设计内容

(1. 信号产生的方法500Hz 信号周期为 2ms,信号电平为每 1ms 变反 1 次,1KHz 的信号周期为 1ms,信号电平每 500us 变反 1 次;

五、 程序框图

图 4.6.2

六、 汇编源程序

FLAG BIT 00H

ORG 00H

START: JB P1.7,START

JNB FLAG,NEXT

MOV R2,#200

DV: CPL P1.0

LCALL DELY500

LCALL DELY500

DJNZ R2,DV

CPL FLAG

NEXT: MOV R2,#200

DV1: CPL P1.0

LCALL DELY500

DJNZ R2,DV1

CPL FLAG

SJMP START

DELY500: MOV R7,#250

LOOP: NOP

DJNZ R7,LOOP

RET

END

七、 C 语言源程序

#include <AT89X51.H>

#include <INTRINS.H>

bit flag;

unsigned char count;

void dely500(void)

{

unsigned char i;

for(i=250;i>0;i--)

{

_nop_;

}

}

void main(void)

{

while(1)

{

if(P1_7==0)

{

for(count=200;count>0;count--)

{

P1_0=~P1_0;

dely500;

阅读本文用了: 秒,转发只需1秒

转载是一种智慧 分享是一种美德❀

单片机音频控制电路的制作

单片机的 P1.0 驱动扬声器发出不同频率、不同长短的声音。

硬件电路制作 : (1) 电路原理图

(2)制作要点及元器件清单

(3)电路的调试

通电之前先用万用表检查各种电源线与地线之间是否有短路现象。 给硬件系统加电,检查所有插座或器件的电源端是否有符合要求的电压值,接地端电压是否为0V。不插入单片机,用一根导线,导线的一端接+5V电源,另一端碰触IC插座的1脚,听扬声器是否发出“咔咔”声。

程序编写

1 )单频率声音 ORG 0000H ; 复位入口地址 LJMP MAIN ; 转移到主程序 MAIN MAIN: CPL P1.0 ;P1.0 取反 LCALL DELAY ; 调延时子程序 LJMP MAIN ; 循环执行主程序 DELAY: MOV R0,#07H ; 延时子程序 LOOP2: MOV R1,#1FH LOOP1: DJNZ R1,LOOP1 DJNZ R0,LOOP2 RET 请读者修改延时时间,听音调的变化。

2)双音报警声( 本程序可模拟出非常急促的双音报警声。

ORG 0000H LJMP MAIN MAIN: MOV R0,#0FFH LOOP1: CPL P1.0 LCALL DELAY1 DJNZ R0,LOOP1 MOV R0,#0FFH LOOP2: CPL P1.0 LCALL DELAY2 DJNZ R0,LOOP2 LJMP MAIN DELAY1: MOV R6,#07H D1: MOV R7,#20H DJNZ R7,$ DJNZ R6,D1 RET DELAY2: MOV R4,#07H D2: MOV R5,#50H DJNZ R5,$ DJNZ R4,D2 RET

相关问答

用plc可以 驱动 有源蜂鸣器?-ZOL问答

无源蜂鸣器才需要有专用的音频电路驱动。要用有源蜂鸣器,通3-5V直流电即响同,频率是固定的无源蜂鸣器,和普通的喇叭类似,需通交流电或方波才会响,频率即是交流...

单片机 如何控制 喇叭 发语音?

方法是单片机的IO口接蜂鸣器的负端,蜂鸣器的正端接电源Vcc,IO口输出低电平时蜂鸣器导通,输出高电平时蜂鸣器截止。是否发声要看所选蜂鸣器的类型。如果是无...

怎么调 单片机喇叭 声音?

你的问题太笼统了,晶体振荡器主要用于提供单片机运行需要的频率。如果喇叭发声的原理是输入点信号脉冲的频率改变。我以前用51单片机试过链接喇叭可以发声,也...

51 单片机 控制蜂鸣器,三极管的基极上的电阻阻值-ZOL问答

三极管要想饱和导通驱动喇叭工作,其Ib应大于0.45mA。5-0.7V=4.3,4.3÷0.45=9.56K。实际中,要使管子饱和,R25应当<9.56K,这里取1K,足可以使管子充分饱和导...

单片机 接的蜂鸣器应当是有源的还是无源的-ZOL问答

要用有源蜂鸣器,通3-5V直流电即响同,频率是固定的无源蜂鸣器,和普通的喇叭类似...和普通的喇叭类似,需通交流电或方波才会响,频率即是交流电的频率单片机接蜂鸣...

单片机 如何插入音乐?

单片机插入音乐需要先将音乐文件转换成单片机可以识别的数字信号,并将其存储在单片机的存储器中。然后通过单片机的IO口输出数字信号到音响系统中,实现音乐播...

proteus里的仿真蜂鸣器怎么设置,怎么接才能响! - 懂得

1、首先第一步就是进行双击打开proteus软件,如下图所示。2、接着就是进行在左侧的工具栏中中找到“P”并点击即可。3、然后在弹出的对话框中这时候...

求助有关51 单片机 的蜂鸣器音乐控制的程序-ZOL问答

不过,蜂鸣器发出高音不太好,基本属于噪音范畴,所以推荐用喇叭之类的。有问题再联系哈。有源蜂鸣器需要PWM驱动,用51模拟PWM,调节占空比,就可以发出不同的声音...

at89c51 单片机 连接 喇叭 声音低沉?

如果您的AT89C51单片机连接到喇叭上,但是声音低沉,可能有以下几个原因:1.电源不足:AT89C51需要稳定的电源供应来正常工作。如果电源电压不足或波动过大,则...

单片机 ls1是什么?

单片机LS1是一个小喇叭发声音的。单片机算是一个袖珍版计算机,一个芯片就能构成完整的计算机系统。但在性能上远不如计算机,但单片机成本低、体积小、结构简单...

猜你喜欢