历史上的今天
返回首页

历史上的今天

今天是:2024年12月15日(星期日)

2021年12月15日 | 51单片机控制蜂鸣器发SOS国际求救信号声音实验

2021-12-15 来源:eefocus

说明:本文是51单片机控制蜂鸣器发声实验的高级版,和上个实验差不多,上个实验是控制蜂鸣器发声,本实验可以理解为控制蜂鸣器间断发出不同长度的声音,本文同样重在夯实基础,如果是大神,请自觉飘过。


好了我们言归正传,轮船行驶在辽阔的大海里,当发生意外事故的时候,“SOS”遇难信号便飞向海空,传往四面八方,我们都知道SOS信号是三短,三长,三短(摩尔斯电码),那么我们要如何去控制蜂鸣器发出这样的信号呢?


其实用单片机控制蜂鸣器发SOS声也很简单,原理基本上和上个实验差不多,控制方式稍微会复杂一点点,我们下面会详细介绍。我们同样从硬件和软件两个角度来给大家详细说明。

在这里插入图片描述

硬件部分


蜂鸣器

上个实验我们已经讲得很清楚了,再次不在赘述,不明白的小伙伴可以移步进阶教程:51单片机控制蜂鸣器发声实验 适合新手查看。


单片机

其实单片机的控制原理也说过了好多次了,不明白的自行爬楼,找相关文章,控制方式主要还是通过延时函数实现,基本思路如下:单片机开始上电后,蜂鸣器开始鸣响第一声与此同时计数器开始计时,等到记到设定时间,停止鸣响,等到计时结束又开始鸣响,如此循环往复三次即可。

在这里插入图片描述

软件部分及详细注释:

// 功能描述 : 单片机控制蜂鸣器发出SOS求救信号实验

#include

#define uChar8 unsigned char

#define uInt16 unsigned int // 宏定义两个变量

sbit BEEP1 = P1^4; //位定义,定义P1.4口位 sbit BEEPP

void DelayMS(uInt16 ValMS) // 定义延时函数

{

uInt16 uiVal,ujVal;

for(uiVal = 0; uiVal < ValMS; uiVal++)

for(ujVal = 0; ujVal < 113; ujVal++); // 用FOR循环的两个变量实现延时功能

}

void main() //main主函数,程序开始执行

{ while(1) //WHILE(1)大循环

{ /* **** 三个短声音 **** /

BEEP = 0;DelayMS(100); BEEP = 1;DelayMS(50); BEEP = 0;DelayMS(100);

BEEP = 1;DelayMS(50); BEEP = 0;DelayMS(100); BEEP = 1;DelayMS(50);

/ **** 三个长声音 **** /

BEEP = 0;DelayMS(300); BEEP = 1;DelayMS(50); BEEP = 0;DelayMS(300);

BEEP = 1;DelayMS(50); BEEP = 0;DelayMS(300); BEEP = 1;DelayMS(50);

/ **** 第二个三个短声音 **** /

BEEP = 0;DelayMS(100); BEEP = 1;DelayMS(50); BEEP = 0;DelayMS(90);

BEEP = 1;DelayMS(50); BEEP = 0;DelayMS(100); BEEP = 1;DelayMS(50);

/ **** 以下代码是为了便于区分声音 **** */

DelayMS(1000);

} }


下面开始对代码进行测试验证,通过编译把代码写单片机开发板,实现了"SOS"国际求救信号发声功能,至此代码没问题,实验成功。



好了,看完了以上的文章,我想你应该明白这个实验的软硬件控制原理了吧,其实没有多难,只要理解了原理,然后多动动手 很轻松就会掌握,其实这个实验效果还有其他方法可以实现,如果你也感兴趣自己动动手用其他代码方式试一下吧!

推荐阅读

史海拾趣

Component General Inc公司的发展小趣事

Component General Inc公司的创立,标志着电子行业中一颗新星的升起。自XXXX年成立以来,公司始终致力于射频/微波设计领域的研发与生产。起初,公司只有几名创始人和一些基础的研发设备,但他们凭借着对技术的热情和执着,成功地开发出了首款高功率电阻器,这为公司后续的发展奠定了坚实的基础。

3E SECURITY公司的发展小趣事

在追求经济效益的同时,3E SECURITY公司始终关注社会责任。公司积极参与社会公益活动,支持教育事业和环境保护事业。同时,公司还加强了对员工的人文关怀和职业发展支持,为员工提供了良好的工作环境和成长空间。这些举措不仅提升了公司的社会形象,还增强了员工的归属感和忠诚度,为公司的长期发展奠定了坚实的基础。


请注意,以上故事纯属虚构,仅用于展示电子行业中安全公司可能的发展路径和经历。实际情况可能因公司策略、市场环境等因素而有所不同。如果您需要关于3E SECURITY公司的真实发展故事,建议您查阅相关资料或联系该公司进行了解。

CYMBET公司的发展小趣事

随着全球环境问题的日益严重,环保和可持续发展已经成为电子行业的重要议题。CYMBET公司积极响应这一趋势,致力于环保和可持续发展。公司的EnerChip电池芯片采用环保材料制造,具有生物相容性,不会对环境造成污染。此外,CYMBET还积极探索绿色生产技术和资源循环利用方案,减少生产过程中的能源消耗和废弃物排放。这种对环保和可持续发展的重视不仅体现了CYMBET的社会责任感,也为公司的可持续发展奠定了坚实的基础。

Gardner Denver公司的发展小趣事

随着EnerChip技术的不断完善和市场的认可,CYMBET公司开始积极拓展市场,与全球各地的合作伙伴建立了紧密的合作关系。例如,CYMBET与Digi-Key Corporation签订了全球经销协议,通过Digi-Key的广泛分销网络,EnerChip系列固态可充电薄膜电池及能量采集储能模块得以迅速进入全球市场。此外,CYMBET还与多家知名电子设备制造商建立了长期合作关系,共同开发新产品,推动电子行业的发展。

AAT [Advanced Analog Technology, Inc.]公司的发展小趣事

CYMBET公司成立于2000年,专注于微电子系统固态储能解决方案的研发与生产。在早期,公司就凭借其创新技术——可充电固态电池芯片(EnerChip)在行业中崭露头角。这种电池芯片使用标准半导体集成电路工艺和独特的构造技术,提供了环保、生物相容的嵌入式电源功能。EnerChip的推出不仅打破了传统电池的局限,还为医疗、传感器、RFID、工业控制等领域带来了革命性的变化。

Bivar公司的发展小趣事

在电子行业的初期,Bivar公司以其创新的技术突破赢得了市场的认可。公司研发出一款新型电阻器,具有高稳定性和长寿命的特点,迅速在行业内引起了关注。凭借这一技术优势,Bivar逐渐在电阻器市场上占据了一席之地,并逐渐扩大生产规模,实现了公司的初步成长。

问答坊 | AI 解惑

什么是卷个数?

读取仪表中的数据,协议中提到卷个数高、卷个数低。 请问大家:什么是卷个数?…

查看全部问答>

在VS2005+PB6.0的编译环境下调试HelloCE程序出错

提示 “WM_HIBERNATE”:未声明的标识符 代码如下: //====================================================================== // HelloCE - A simple application for Windows CE // // Written for the book Programming Windows CE // ...…

查看全部问答>

16f877 sim仿真 现金求助

pic16f877 通过编程仿真 由Sim-Emu 6.01 Configurator v2.1 写入手机号码的相关参数后得到: 一张十合一的可以自动切换imsi的sim卡 这个卡可以用于iphone 这个网址可以提供相应的知识准备 http://www.weiphone.com/viewthread.php?tid=4272& ...…

查看全部问答>

淘宝发现两个好东西,不知道其它地方可以买到吗?

msp430超值系列的单片机 达利尔官方只要6块钱。 然后它有28到32个引脚。资源也丰富 更重要的是,它支持两线仿真     我很想买几块,就是运费要20,舍不得。不知道别的地方有卖的吗?  …

查看全部问答>

防止驱动电源“掉链子”——LED照明测试技术分析

LED照明具有节能、环保、长寿命、易控制、免维护等特点。然而颇具讽刺意味的是,我们常常听闻由于LED驱动电源本身的寿命直接拖累LED照明灯具变得并不“长寿”,极大地增加了维护/使用成本;或者驱动电源的效率不高导致LED照明灯具的能效转换比并不 ...…

查看全部问答>

还有什么软件编写ACTEL芯片

actel LiberoI 破解码  找不到啊 …

查看全部问答>

Jim Willams 的那本《模拟电路设计》读后感

              有幸于大半年前,冀凯老师慷慨赠此书与学生,并嘱托写一篇读后感。当时可能经验不会很多而当时所作的项目没有参考当书中的一些方案,而感想不是很多。当时先将目录翻译成了中文待 ...…

查看全部问答>

台湾IC工程师生活写照

台湾的IC设计产业早已经是全球第2大,仅次于美国。2001年,台湾IC设计业 预估创造出1,390亿台币的产值,成长率为20.7%。在国际上,这群IC设计工程师 ,创造出台湾的竞争力;在台湾,他们陆续创造出新的“脑力致富”典范。联发、 威盛的高股价, ...…

查看全部问答>