⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 beep.c

📁 用CS5532做的无线吊钩称的接收称重显示器程序
💻 C
字号:
#include <reg52.h>

//蜂鸣器
sbit IOBeep  = P2^0;

unsigned char beep;
				// 1 -- 短促的一声
				// 2 -- 短促的两声
				// 3 -- 短促的三声
				// 4 -- 中间间隔较长的短促的一声
				// 5 -- 中间间隔较长的短促的两声
				// 6 -- 中间间隔较长的短促的三声
				// 7 -- 鸣叫声较长的一声
				// 8 -- 鸣叫声较长的两声
				// 9 -- 鸣叫声较长的三声
				//10 -- 中间间隔较长的鸣叫声较长的一声
				//11 -- 中间间隔较长的鸣叫声较长的两声
				//12 -- 中间间隔较长的鸣叫声较长的三声
				//13 -- 响一声1.5秒
				//14 -- 连续的一长两短
				//15 -- 连续的间隙短促鸣叫声
				//超过15将关闭上次设置的蜂鸣器的声音
unsigned char beep_time;		//蜂鸣器响的时间
unsigned char BeepKind;
unsigned char BeepNum;
unsigned char BeepE;
unsigned char BeepD;

const unsigned char ConstBeepNum[] = {0,  1,  2,  3,  1,  2,  3,  1,  2,  3,  1,  2,  3,   1,  3,  0};
const unsigned char ConstBeepE[]   = {0,  5,  5,  5,  5,  5,  5,  20, 20, 20, 20, 20, 20, 40,  0,  0};
const unsigned char ConstBeepD[]   = {0, 15, 15, 15, 40, 40, 40,  50, 50, 50,100,100,100,100,  0,  0};
//蜂鸣器声音
void BeepFunc(void)
{
	beep_time++;
	if ( beep > BeepKind)
	{
		BeepKind = beep;
		beep_time = 0;
		BeepNum = ConstBeepNum[beep];
		BeepE   = ConstBeepE[beep];
		BeepD   = ConstBeepD[beep];
		beep=0;
	}
	else beep = 0;
	if (BeepKind == 15)
	{
		if (beep_time < 5) {IOBeep=0;return;}
		if (beep_time < 10) {IOBeep=1;return;}
		beep_time = 0;
		return;
	}
	if (BeepKind == 14)
	{
		if (BeepNum == 0) BeepNum = 3;
		if (BeepNum == 3) {BeepE = 20;BeepD=50;}
		else {BeepE = 5; BeepD = 15;}
		if (beep_time<BeepE) IOBeep = 0;
		else
		{
			if (beep_time < BeepD) IOBeep = 1;
			else 
			{
				beep_time = 0;
				BeepNum--;
			}
		}
		return;
	}
	if ( (BeepKind >= 1) && (BeepKind <= 13) )
	{
		if (beep_time<BeepE) IOBeep = 0;
		else
		{
			if (BeepNum == 1)	goto beepret;
			if (beep_time < BeepD) IOBeep = 1;
			else 
			{
				beep_time = 0;
				BeepNum--;
			}
		}
		return;
	}
beepret:
	IOBeep = 1;
	BeepKind = 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -