导航:首页 > 操作系统 > 怎么把报警声写入单片机里

怎么把报警声写入单片机里

发布时间:2023-11-18 03:45:23

① 如何用单片机实现防空警报音

需要找到防空警报的频率变化范围,就可以实现。
下面给一个蜂鸣器模拟消防车报警声;
*****************************************************************************/
#include <reg51.h>
#include <intrins.h>

#define uchar unsigned char
#define uint unsigned int

uchar Count;

sbit Key1 = P3^2 ;
sbit Key3 = P3^3 ;
sbit BEEP = P3^1 ; //蜂鸣器
sbit p34 = P3^4 ;

/********************************************************
延时函数
*********************************************************/
void delay(void)
{
uint k;
for(k=1700;k>0;k--);
}

/********************************************************
键控制函数
*********************************************************/
void key_control()
{

if(Key1==0)
{
while(Key1==0);
TR0=1;
}
if(Key3==0)
{
while(Key3==0);
TR0=0;
}
}
/********************************************************
主函数
*********************************************************/
main()
{
p34=0;
P0=0x0;
P1=0xff;
P2=0xff;
Count=0x00;
BEEP=1;

TMOD=0x01;
TH0=0x00;
TL0=0xff;
EA=1; ET0=1;

while(1)
{
do
{
Count++;
key_control();
delay();
}while(Count!=0xff);

do
{
Count--;
key_control();
delay();
}while(Count!=0x00);
}
}

/*********************************************************
Time0中断函数
**********************************************************/
void Time0(void) interrupt 1 using 0
{
TH0=0xfe;
TL0=Count;
BEEP=~BEEP;
}

/*********************************************************/

② 51单片机,怎么用汇编语言编程一个程序。实现4个按键控制4种报警声音(110、119、120、防空警报声)。

没有四种声音的频率库,其他的给你做个示范吧:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV SP,#5FH
MOV TMOD,#11H
SETB EA
SETB ET0
SETB ET1
LOOP:
LCALL KEYSCAN
MOV A,R2
JNZ LP1
MOV DPTR,#TAB110
SJMP LPRUN
LP1:
DEC A
JNZ LP2
MOV DPTR,#TAB119
SJMP LPRUN
LP2:
DEC A
JNZ LP3
MOV DPTR,#TAB120
SJMP LPRUN
LP3:
DEC A
JNZ LP4
MOV DPTR,#TABBOMB
SJMP LPRUN
LP4:
LJMP LOOP
LPRUN:
MOVX A,@DPTR
MOV TL0,A
INC DPTR
MOVX A,@DPTR
MOV TH0,A
............;时长控制也可以做到表里,计算后赋值给T1
LJMP LOOP
END

③ 开关控制报警器如何用单片机实现

开关控制报警器如何用单片机实现

单片机C语言程序设计:开关控制报警器

/*名称:开关控制报警器

说明:用K1开关控制报警器,程序控制P1.0输出两种不同频率的声音,模拟很逼真的报警效果

*/

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitSPK=P1^0;

sbitK1=P1^7;

//发声函数

voidAlarm(uchart)

{

uchari,j;

for(i=0;i<200;i++)

{

SPK=~SPK;

for(j=0;j//由参数t行成不同的频率

}

voidmain()

{

SPK=0;

while(1)

{

if(K1==1)

{

Alarm(90);

Alarm(120);

}

}

}

④ C51单片机有警报声又可以闪灯的程序怎么写

给你做个示范吧:
#include<reg51.h>
sbit ALARMSND=P1^0;
sbit ALARMLED=P1^1;
sbit KEY=P1^2;
void t0_isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
ALARMLED=!ALARMLED;
}
main()
{
TMOD=0x01;
ET0=1;
EA=1;
while(1)
{
if(KEY==0)
{
delay(10);
if(KEY==0)
{
ALARMSND=!ALARMSND; //按键切换报警
if(ALARMSND==1)TR0=1; //如果报警声响,则启动定时器,开始闪烁
else TR0=0; //不响则关闪烁
}
}
}
}

阅读全文

与怎么把报警声写入单片机里相关的资料

热点内容
程序员埋bug的心理 浏览:257
好多个g的文件夹怎么转发 浏览:321
javadesaes加密 浏览:126
基于单片机的wifi设计 浏览:885
国什么app 浏览:366
rtk文件夹没了怎么办 浏览:187
饥荒安卓闪退怎么办 浏览:635
python二次开发cad 浏览:304
程序员直播机器人舞团 浏览:769
devc指针编译问题 浏览:1002
支持dsd硬解压声卡 浏览:771
怎么查看u盘加密区 浏览:184
台电加密是什么格式 浏览:158
php论坛版块在哪个文件夹 浏览:442
暗黑的服务器为什么维护 浏览:624
android内存溢出的原因 浏览:18
标志307的压缩比是多少 浏览:637
服务器启动为什么叫三声 浏览:997
追风筝的人英文pdf 浏览:940
解压小熊手机壳 浏览:348