51单片机控制蜂鸣器发SOS国际求救信号声音实验
|
说明:本文是51单片机控制蜂鸣器发声实验的高级版,和上个实验差不多,上个实验是控制蜂鸣器发声,本实验可以理解为控制蜂鸣器间断发出不同长度的声音,本文同样重在夯实基础,如果是大神,请自觉飘过。 好了我们言归正传,轮船行驶在辽阔的大海里,当发生意外事故的时候,“SOS”遇难信号便飞向海空,传往四面八方,我们都知道SOS信号是三短,三长,三短(摩尔斯电码),那么我们要如何去控制蜂鸣器发出这样的信号呢? 其实用单片机控制蜂鸣器发SOS声也很简单,原理基本上和上个实验差不多,控制方式稍微会复杂一点点,我们下面会详细介绍。我们同样从硬件和软件两个角度来给大家详细说明。
硬件部分 蜂鸣器 上个实验我们已经讲得很清楚了,再次不在赘述,不明白的小伙伴可以移步查看。 单片机 其实单片机的控制原理也说过了好多次了,不明白的自行爬楼,找相关文章,控制方式主要还是通过延时函数实现,基本思路如下:单片机开始上电后,蜂鸣器开始鸣响第一声与此同时计数器开始计时,等到记到设定时间,停止鸣响,等到计时结束又开始鸣响,如此循环往复三次即可。
软件部分及详细注释: // 功能描述 : 单片机控制蜂鸣器发出SOS求救信号实验 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循环的两个变量实现延时功能 |











