OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5349|回复: 1

人机界面——蜂鸣器设计

[复制链接]

17

主题

587

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4467
金钱
4467
注册时间
2013-6-27
在线时间
565 小时
发表于 2014-1-21 10:10:22 | 显示全部楼层 |阅读模式

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

void SetBeep(u8 num,u8 time_on,u8 time_off)     //用户调用函数 {次数,开时间,关时间)单位10mS 其中num=0xff为连续模式
{
BeepNum = num;
beeper_on_timer  = time_on;
beeper_off_timer = time_off;
SetBeeper(0);
BeepCnt = 0;
}

void ProF_10mS_Beeper(void) //定期器10mS调度任务
{
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;
}
}
}

sbit  IN_LED         = P4^7;

void SetBeeper(u8 high)   //蜂鸣器接口
{
if(high)
PIN_LED = 1;
else
PIN_LED = 0;
}

让我们的思维驾驭在电的速度之上!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

43

主题

278

帖子

1

精华

高级会员

Rank: 4

积分
621
金钱
621
注册时间
2013-12-27
在线时间
0 小时
发表于 2014-1-24 10:58:02 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 23:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表