找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1548|回复: 6
收起左侧

关于如何制作一个报警声音的单片机程序

[复制链接]
ID:919165 发表于 2021-5-16 00:56 | 显示全部楼层 |阅读模式
如何才能制作关于各种报警声的程序?希望各位能给些意见。

回复

使用道具 举报

ID:96682 发表于 2021-5-16 05:20 来自手机 | 显示全部楼层
学习例程里面找呗
回复

使用道具 举报

ID:922247 发表于 2021-5-16 17:40 | 显示全部楼层
用蜂鸣器
回复

使用道具 举报

ID:230742 发表于 2021-5-16 18:22 | 显示全部楼层
找一个电子琴方面的例程,把里面的音调随意组合一下。
要学会搬砖。慢慢搬。
回复

使用道具 举报

ID:600695 发表于 2021-5-17 00:18 | 显示全部楼层
模拟报警声,如闹钟 滴 滴 滴 滴
------------------------------------------------*/
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义

sbit SPK=P1^2;    //定义喇叭端口
unsigned char frq;

void DelayUs2x(unsigned char t);//函数声明
void DelayMs(unsigned char t);

/*------------------------------------------------
                    主函数
------------------------------------------------*/
main()
{
unsigned int i;

while(1)
      {
   for(i=0;i<200;i++)
      {
      DelayUs2x(200);
          SPK=!SPK;
          }
          SPK=0;//防止一直给喇叭通电造成损坏
   for(i=0;i<200;i++)
      {
      DelayMs(1);  
          }      
    }
}
/*------------------------------------------------
uS延时函数,含有输入参数 unsigned char t,无返回值
unsigned char 是定义无符号字符变量,其值的范围是
0~255 这里使用晶振12M,精确延时请使用汇编,大致延时
长度如下 T=tx2+5 uS
------------------------------------------------*/
void DelayUs2x(unsigned char t)
{   
while(--t);
}
/*------------------------------------------------
mS延时函数,含有输入参数 unsigned char t,无返回值
unsigned char 是定义无符号字符变量,其值的范围是
0~255 这里使用晶振12M,精确延时请使用汇编
------------------------------------------------*/
void DelayMs(unsigned char t)
{
     
while(t--)
{
     //大致延时1mS
     DelayUs2x(245);
         DelayUs2x(245);
}
}
回复

使用道具 举报

ID:71233 发表于 2021-5-17 08:14 | 显示全部楼层
各种报警声?万能的报警声程序应该没有吧.
下面是本人制作的超温报警声,用STC15F104W,选择内部RC时钟6MHz(时钟频率不同,效果就不同)
sbit Beep=P3^3;
void alarm()//报警声演奏程序
{
        unsigned char m,a;   //m为频率常数变量
        unsigned r;
        m=40;
        for(r=0;r<3*255;r++)
        {
                for(a=0;a<9;a++)
                {
                        Beep=~Beep,
                        delay(m);   //等待节拍完成, 通过P1口输出音频(可多声道哦!)        
                }
                m++;if(m==0)m=40;
        }
}
回复

使用道具 举报

ID:922572 发表于 2021-5-17 12:03 | 显示全部楼层
一个蜂鸣器电路+单片机,百度一个PWM例程,调节PWM输出频率就行了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表