找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 486|回复: 23
打印 上一主题 下一主题
收起左侧

要STC8G1K08A单片机输出一个报警声音

  [复制链接]
跳转到指定楼层
楼主
ID:1173147 发表于 2026-6-29 11:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
要求STC8G1K08A 输出一个报警声音,使用的是放大电路+无源的蜂鸣器,声音我已经有了,但是我没有办法将这个声音用代码去实现,,,,,哪个大哥大姐帮帮忙啊,卡在这里已经两周了,,还是没能实现,,,头晕了几天,,,,,,
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:624769 发表于 2026-6-29 13:32 | 只看该作者
你报警音共有多少个音? 算出每个音的震动频率,以及发音时间长度。然后用两个定时器分别设定出定时器周期,在定时器中断中翻转IO就能实现了。
回复

使用道具 举报

板凳
ID:1034262 发表于 2026-6-29 13:57 | 只看该作者
定时器会用吧?设置不同的溢出率,直接高速输出即可。
回复

使用道具 举报

地板
ID:230500 发表于 2026-6-29 17:26 | 只看该作者
这个简单的问题 你问AI  能直接给你程序,多问几次,自己再修改下就能跑通了
回复

使用道具 举报

5#
ID:1173147 发表于 2026-6-30 08:58 | 只看该作者
关键的问题是,我的这个报警声音,我不知道他的频率变化,也不知道的频率,好像是一个扫频+音量大小变化,我用功率计测试这个产品的电流波动,应该是一个扫频+音量变化的,我用AI也模拟过很久,都达不到我要的效果,哪位大哥大姐,做过这方面的研究的,加一下我的微信,19925557188 ,我发这段录音给你,帮我做一下,,谢谢了!!!!
回复

使用道具 举报

6#
ID:712493 发表于 2026-6-30 09:45 | 只看该作者
188610329 发表于 2026-6-29 13:32
你报警音共有多少个音? 算出每个音的震动频率,以及发音时间长度。然后用两个定时器分别设定出定时器周期 ...

有像LED那样取模软件 把声音文件丢进去,代码数据出来!
回复

使用道具 举报

7#
ID:712493 发表于 2026-6-30 09:54 | 只看该作者
哪里有像汽车笛声  报警声文件?
回复

使用道具 举报

8#
ID:1173147 发表于 2026-6-30 13:30 | 只看该作者
fj51hei 发表于 2026-6-30 09:45
有像LED那样取模软件 把声音文件丢进去,代码数据出来!

有这样的软件吗?  我现在有声音的频谱了,但是还是不行
回复

使用道具 举报

9#
ID:1173147 发表于 2026-6-30 13:31 | 只看该作者
这是我录制的声音和频谱图

报警录音202606302.png (217.46 KB, 下载次数: 0)

警报声音的频谱

警报声音的频谱
回复

使用道具 举报

10#
ID:108361 发表于 2026-6-30 13:32 | 只看该作者
wav格式音频解码成二进制数组,然后让定时器按音频的采样率去改变pwm
回复

使用道具 举报

11#
ID:712493 发表于 2026-6-30 20:19 | 只看该作者
120442544 发表于 2026-6-30 13:30
有这样的软件吗?  我现在有声音的频谱了,但是还是不行

有个可以编辑单音的输出C51的代码的软件,我是在问3楼,把?打成!,不好意思
回复

使用道具 举报

12#
ID:1173147 发表于 2026-6-30 20:20 | 只看该作者
哪位大哥帮我做一下吧,,,求求你了,,,,,调试做好后,我愿意花我一个礼拜的饭 奉上,,,,谢谢大家
回复

使用道具 举报

13#
ID:1133081 发表于 2026-6-30 21:52 | 只看该作者
120442544 发表于 2026-6-30 08:58
关键的问题是,我的这个报警声音,我不知道他的频率变化,也不知道的频率,好像是一个扫频+音量大小变化, ...

所谓报警声是个概念,是以特定声响提示周围人员注意。社会上常遇的报警声如警笛声、救护车声,洒水车声,消防车声,防空警报声等等。电器中常用的报警声就是蜂鸣器发出的滴滴声。楼主想要的报警声究竟是哪个?报警声有固定频率的滴滴声,有高低频率交替的滴——嘟——声,有频率渐变起伏的滑音唔——唔——声。除防空警报声频率较低,由几十——几百Hz。其它报警声都在1K——几KHz。方波声源信号驱动扬声器由于富含高次谐波,声音比较刺耳。正弦声源信号驱动扬声器听感较好。用单片机输出方波信号很容易、输出正弦波信号需要DA转换,有点麻烦。
回复

使用道具 举报

14#
ID:1173147 发表于 2026-7-1 08:37 | 只看该作者
WL0123 发表于 2026-6-30 21:52
所谓报警声是个概念,是以特定声响提示周围人员注意。 ...

你好!我要的是一个刺耳的扫频+音量大小变化的报警声音,听起来像呜呜的,,,也不知道怎么去描述,就是门禁被打开后,吓退小偷的那种,,,  还要能够调节音量大小,比如我说: 设置三档音量增减,,,如果您之前做过类似的项目,,我把这段声音发给你,您看看,,,,谢谢!
回复

使用道具 举报

15#
ID:1064915 发表于 2026-7-1 09:10 | 只看该作者
有个响就行,你想多了
回复

使用道具 举报

16#
ID:230500 发表于 2026-7-1 14:29 | 只看该作者
问题没有说清楚,
1;是需要自己从头研发 ,硬件设计 ,软件设计,
2;是有现成的别家的产品电路做参考, 只需要自己研究软件构建;  

情况2 好解决, 有现成的硬件, 毕竟最容易踩坑的是硬件, 只需要写软件就好办;
情况1不好解决,需要踩非常多的坑, 但是最简单的实现方式就是加语音模块。内置几百秒空间的语音芯片也就几毛-1块钱左右。
回复

使用道具 举报

17#
ID:584814 发表于 2026-7-2 10:22 | 只看该作者
120442544 发表于 2026-6-30 20:20
哪位大哥帮我做一下吧,,,求求你了,,,,, ...

天天啃馒头还是海鲜 ?不说明白不好办耶。感觉这类加个1元内的语音芯片就好可真人语音。
回复

使用道具 举报

18#
ID:1173147 发表于 2026-7-2 14:30 | 只看该作者
a399288395 发表于 2026-7-1 14:29
问题没有说清楚,
1;是需要自己从头研发 ,硬件设计 ,软件设计,
2;是有现成的别家的产品电路做参考 ...

大哥,我一次性说清楚:我现在搞一个类似门禁的小产品,也是抄别人的,硬件都是和别人一样的,只是到了声音这里,别人的产品,输出的声音很好听,他也是蜂鸣片加电感升压,三极管放大简单电路,我的硬件也是一样的,他是杰里的单片机,我用的是STC8G1K08A的单片机,我想要通过软件去实现和他一样的报警声音,
回复

使用道具 举报

19#
ID:1133081 发表于 2026-7-2 16:25 | 只看该作者
120442544 发表于 2026-7-1 08:37
你好!我要的是一个刺耳的扫频+音量大小变化的报警声音,听起来像呜呜的,,,也不知道怎么去描述,就是 ...

把你的音频文件打压缩包,点开回复,选高级模式,再点附件发送。
回复

使用道具 举报

20#
ID:1173147 发表于 2026-7-3 08:41 | 只看该作者
大哥,附件就是我想要实现的入侵报警声音的录音,请帮我写一个代码去实现,我输出的是三极管+升压电感+蜂鸣片,,谢谢!!!

入侵报警声音.rar

290.8 KB, 下载次数: 0

入侵报警声音录音

回复

使用道具 举报

21#
ID:1140280 发表于 2026-7-3 09:14 | 只看该作者
把音频转二进制
回复

使用道具 举报

22#
ID:230500 发表于 2026-7-3 15:44 | 只看该作者
120442544 发表于 2026-7-2 14:30
大哥,我一次性说清楚:我现在搞一个类似门禁的小产品,也是抄别人的,硬件都是和别人一样的,只是到了声 ...

哦,单片机不一样,  难怪了, 那你可能有90%的概率实现不了;  因为有些单片机是针对专门的应用开发的, 比如 有的单片机是专门驱动电机的, 有的专门内置有和旋声发生器,尤其是杰里的, 本身他是做MP3起家的, 说不定他的单片机有内置一定的空间专门存放MP3或者语音 也有可能。 你们抄别人的产品, 却把单片机都换了; 换之前不先查查别人的单片机有没有特殊功能 就直接开干?
回复

使用道具 举报

23#
ID:1133081 发表于 2026-7-3 19:13 | 只看该作者
120442544 发表于 2026-7-3 08:41
大哥,附件就是我想要实现的入侵报警声音的录音,请帮我写一个代码去实现,我输出的是三极管+升压电感+蜂鸣 ...

你这音频就是常用的频率渐变起伏的滑音,任何有基本功能的单片机都能胜任。市售的同类报警声音乐片也很好用。给你写了一个3种报警声的程序,由按键选择输出。程序给出了基础构架,报警声频率范围可以按个人喜好自行修改。
  1. //测试本程序单片机型号:STC8G1K08A,适用所有51内核单片机
  2. //功能:报警信号发生器
  3. //说明:单片机时钟频率12MHz

  4. #include "STC8G.h"
  5. #define uint unsigned int
  6. #define uchar unsigned char

  7. sbit key = P3^2;
  8. sbit Buz = P3^3;

  9. uint num;                      //计数
  10. uint num1;                     //计数1
  11. uchar Key_value;               //键值

  12. //初始化定时器函数
  13. void Timer0_Init(void)         //@12MHz
  14. {
  15.         TMOD= 0x01;                                  //设置定时器模式
  16.         TL0 = 0;                                     //设置定时初始值
  17.         TH0 = 0;                                //设置定时初始值
  18.         TF0 = 0;                                          //清除TF0标志
  19. //        TR0 = 1;                                          //定时器0开始计时
  20.         ET0 = 1;                                          //使能定时器0中断
  21.         EA  = 1;
  22. }
  23. //按键扫描函数
  24. void keyscan()                                       
  25. {
  26.         static bit key_sign=0;                           //按键状态标志
  27.         static uint count=0;                                   //消抖计数变量                       
  28.         if(!key)                                   //检测按键为0
  29.         {
  30.                 if((++count>=1000)&&(key_sign==0))      //消抖
  31.                 {                       
  32.                         key_sign=1;                                           //按键状态置1
  33.                         Key_value=++Key_value%4;             //循环计次
  34.                         if(Key_value>0)
  35.                         {
  36.                                 if(Key_value==1)num=65500;        //报警声1初值
  37.                                 if(Key_value==2)num=64500;        //报警声2初值
  38.                                 if(Key_value==3){num=64500;count=0;}//报警声3初值
  39.                                 TR0 = 1;                                                //启动定时器
  40.                         }
  41.                         else
  42.                         {
  43.                                 TR0 = 0;                                                  //关闭定时器
  44.                                 Buz=0;                            //蜂鸣器端口清0
  45.                         }
  46.                 }
  47.         }
  48.         else                                       //按键抬起
  49.         {
  50.                 key_sign=0;                                                   //按键状态标志清0
  51.                 count=0;                                                           //消抖计数清0
  52.         }
  53. }

  54. void main(void)
  55. {
  56.         P3M0 = 0x08; P3M1 = 0x00;                  //P3.3推挽,其它端口准双向
  57.         P5M0 = 0x00; P5M1 = 0x00;                  //P5准双向
  58.         Timer0_Init();                             //初始化定时器0
  59.         Buz=0;                                     //初始化蜂鸣器端口
  60.         while(1)
  61.         {
  62.                 keyscan();                              //按键扫描函数
复制代码
完整程序在压缩包中
报警声测试程序.rar (61.52 KB, 下载次数: 0)


回复

使用道具 举报

24#
ID:1173147 发表于 2026-7-5 20:02 | 只看该作者
WL0123 发表于 2026-7-3 19:13
你这音频就是常用的频率渐变起伏的滑音,任何有基本功能的单片机都能胜任。市售的同类报警声音乐片也很好 ...

兄弟,,,,高人啊,,,声言和我提供的录音很象很象了,,,,,谢谢你,,,,,加我维信19925557188,,我给你一点点心意,,,,,,,谢谢了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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