找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3347|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

電子產(chǎn)品設(shè)計(jì)系統(tǒng)聲---思維及源代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:9542 發(fā)表于 2014-6-5 23:10 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
/* .h文件 */
#ifndef _BEEPER_H
#define _BEEPER_H

extern void ProF_10mS_Beeper(void);
extern void SetBeep(u8 num,u8 time_on,u8 time_off);

#endif





/* .C文件 */
#include "macro.h"
#include "bsp.h"
#include "beeper.h"

/*
Auther: DongInker
System: InkerSys

           |-----------------------------------------BeenNum---------------------------------------------|
           |----------------------BeepCnt 1------------------|-----------------BeepCnt 2--------------|
開        |--beeper_on_timer---|                                |------------------------|                         |
關(guān)  -----|                                 |--beeper_off_timer--|                              |--------------------|

API使用

關(guān)閉:     SetBeep(0,0,0);
長(zhǎng)叫:     SetBeep(1,0,0);
叫1聲 :   SetBeep(1,20,30);
叫2聲 :   SetBeep(2,20,30);
連續(xù)聲:   SetBeep(0XFF,20,30);

SetBeep(1,5,0);      按鍵人機(jī)界面使用
SetBeep(0xff,35,50); 運(yùn)行中提示聲
SetBeep(0xff,20,30); 危險(xiǎn)出錯(cuò)警報(bào)聲

注: num > 0XFF 做連續(xù)聲特殊應(yīng)用
*/

static u8    beeper_on_timer = 0,beeper_off_timer = 0,BeepNum = 0;
static u16  BeepCnt = 0;

/* 配置參數(shù) (次數(shù) 開聲音時(shí)間  關(guān)聲音時(shí)間) */
GLOBAL void SetBeep(u8 num,u8 time_on,u8 time_off)
{

    BeepNum = num;
    beeper_on_timer  = time_on;
    beeper_off_timer = time_off;
    SetBeeper(0);
    BeepCnt = 0;
}

/* 系統(tǒng)后臺(tái)定時(shí)10mS調(diào)用一次 */
GLOBAL void ProF_10mS_Beeper(void)
{
    if(BeepCnt)
        {
        BeepCnt--;
        if(BeepCnt == beeper_off_timer)
            SetBeeper(0);
        }
    else
        {
        if(BeepNum == 0XFF)
            {
            SetBeeper(1);
            BeepCnt = beeper_on_timer + beeper_off_timer;
            }
        else if(BeepNum)
            {
            SetBeeper(1);
            BeepNum --;
            BeepCnt = beeper_on_timer + beeper_off_timer;
            }
    }
}



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:44262 發(fā)表于 2014-7-17 17:22 來自觸屏版 | 只看該作者
牛人大作,要是有電路圖就更好了
回復(fù)

使用道具 舉報(bào)

板凳
ID:9542 發(fā)表于 2014-7-17 23:59 | 只看該作者
a110 發(fā)表于 2014-7-17 17:22
牛人大作,要是有電路圖就更好了

控制連續(xù)聲蜂鳴器只要高低電平就可以了吧,跟電路圖沒什么關(guān)系啊
回復(fù)

使用道具 舉報(bào)

地板
ID:65877 發(fā)表于 2014-9-6 16:45 | 只看該作者
好好學(xué)習(xí)學(xué)習(xí)。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表