历史上的今天
今天是: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"国际求救信号发声功能,至此代码没问题,实验成功。 好了,看完了以上的文章,我想你应该明白这个实验的软硬件控制原理了吧,其实没有多难,只要理解了原理,然后多动动手 很轻松就会掌握,其实这个实验效果还有其他方法可以实现,如果你也感兴趣自己动动手用其他代码方式试一下吧!
史海拾趣
|
在VS2005+PB6.0的编译环境下调试HelloCE程序出错 提示 “WM_HIBERNATE”:未声明的标识符 代码如下: //====================================================================== // HelloCE - A simple application for Windows CE // // Written for the book Programming Windows CE // ...… 查看全部问答> |
|
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照明灯具的能效转换比并不 ...… 查看全部问答> |
|
有幸于大半年前,冀凯老师慷慨赠此书与学生,并嘱托写一篇读后感。当时可能经验不会很多而当时所作的项目没有参考当书中的一些方案,而感想不是很多。当时先将目录翻译成了中文待 ...… 查看全部问答> |
|
台湾的IC设计产业早已经是全球第2大,仅次于美国。2001年,台湾IC设计业 预估创造出1,390亿台币的产值,成长率为20.7%。在国际上,这群IC设计工程师 ,创造出台湾的竞争力;在台湾,他们陆续创造出新的“脑力致富”典范。联发、 威盛的高股价, ...… 查看全部问答> |




