打印
[Cortex-M0技术交流]

[2012助学第一期]hzy41y学习笔记之三(蜂鸣器--四音警报声)

[复制链接]
1682|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hzy41y|  楼主 | 2012-6-14 15:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//基于NUC120学习套件-蜂鸣器- 四音警报声
//作者:hzy41y
//最后更新日期2012年06月14日15:00
#include <stdio.h>
#include <string.h>
#include "NUC1xx.h"
#include "Driver\DrvSYS.h"
#include "Driver\DrvGPIO.h"
#include "DrvTimer.h"
#include "hzy.h"
#define Buzzer_set DrvGPIO_SetBit(E_GPB,10)
#define Buzzer_clr DrvGPIO_ClrBit(E_GPB,10)

//***************IO初始化*****************************
void init()
{DrvGPIO_Open( E_GPB, 10, E_IO_OUTPUT );
Buzzer_clr;
}

// ***********由1.9K--3.4K--1.9k时长0.2S
void Sound1()
{ uint16_t c_sta;
uint8_t b;
b=10; //循环次数
while(b--)
{ c_sta=262;
do{
DrvSYS_Delay(c_sta);
if(DrvGPIO_GetBit(E_GPB, 10))Buzzer_clr;
else Buzzer_set;
}while(147<--c_sta);

c_sta=147;
do{
DrvSYS_Delay(c_sta);
if(DrvGPIO_GetBit(E_GPB, 10))Buzzer_clr;
else Buzzer_set;

}while(526 > ++c_sta);
DrvSYS_Delay(40000); //延时0.4s
}Buzzer_clr;

}

// *** 上半波高低频统一为250US;由最高频114us向最低频333us
void Sound2()
{ uint16_t c_sta;
uint8_t b;
b=10; //循环次数
while(b--)
{ c_sta=114;
do{
Buzzer_set;
DrvSYS_Delay(250);
Buzzer_clr;
DrvSYS_Delay(c_sta);
}while(++c_sta<333) ;
DrvSYS_Delay(850);
}Buzzer_clr;
}

// * ** 上半波高低频统一为250US;由最高频333us向最低频540us
void Sound3()
{ uint16_t c_sta;
uint8_t b;
b=10; //循环次数
while(b--)
{ c_sta=333;
do{
Buzzer_set;
DrvSYS_Delay(250);
Buzzer_clr;
DrvSYS_Delay(c_sta);
}while(++c_sta<540) ;
DrvSYS_Delay(850);
}Buzzer_clr;
}

// *** 上半波高低频统一为300US;由最低频2180us向最高频700us
void Sound4()
{ uint16_t c_sta;
c_sta=2180;
do{
Buzzer_set;
DrvSYS_Delay(300);
Buzzer_clr;
DrvSYS_Delay(c_sta);
}while(--c_sta>700) ;
Buzzer_clr;
}

/*----------------------------------------------------------------------------
MAIN function
----------------------------------------------------------------------------*/
int32_t main (void)
{
//uint8_t c_sta,i,b;
//---------------------------------------------------------
UNLOCKREG();
SYSCLK->PWRCON.XTL12M_EN = 1;
LOCKREG();
init();
//---------------------------------------------------------

while(1)
{Sound1();
DrvSYS_Delay(180000);
Sound2();
DrvSYS_Delay(180000);
Sound3();
DrvSYS_Delay(180000);
Sound4();
}
}
基于NUC120学习套件-蜂鸣器- 四音警报声

相关帖子

沙发
hzy41y|  楼主 | 2012-6-14 15:10 | 只看该作者
NUC_BJ.rar (207.13 KB)

使用特权

评论回复
板凳
hotpower| | 2012-6-15 08:44 | 只看该作者
你的第一贴呢?顶顶起来一周返还

使用特权

评论回复
地板
xyz549040622| | 2012-6-18 09:13 | 只看该作者

使用特权

评论回复
5
hzy41y|  楼主 | 2012-7-3 11:13 | 只看该作者
自顶一吓

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

75

帖子

2

粉丝