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

📄 otelc1.c

📁 一种电话遥控板的原程序
💻 C
字号:
uchar idata ToneNoneCounter ;
uchar idata ToneCounter ;  //450HZ的个数
uchar idata ToneOtherCounter ;//不是450HZ的个数
uchar idata ToneTimeCounter ; //定时器到的个数  70ms采集一次
bit ToneFlag ; //是否检测
uchar idata ToneKind ;// 线路音的种类
				//0x30 忙音
				//0x31 拨号音
				//0x32 回铃音
				//0x33 记费信号
				
uchar   SendDxFlag ;  

void Phone_ToneCtrl(uchar Onoff)
{
	ToneFlag = Onoff ;
	ToneCounter = 0 ;
	ToneTimeCounter = 0 ;
	ToneOtherCounter = 0 ;
	ToneNoneCounter = 0 ;
	ToneKind = 0 ;
	EA=0;
    TH1 = 0;
    TL1 = 0;
    TMOD = (TMOD & 0x0F) | 0x50;  /* 模式1,计数器*/
    TR1 = 1 ;
    EA = 1 ;
}

void Phone_ToneCheck() using 2
{
	uchar counter ;
	if(ToneFlag == FALSE) return ;
	ToneTimeCounter ++ ;
	if(ToneTimeCounter >=7)
	{
		TR1 = 0 ;
		ToneTimeCounter = 0 ;
		counter = TL1 ;
//		SBUF = counter ;
		if((counter>=29)&&(counter<=33))
		{
			ToneCounter ++ ;
			ToneNoneCounter = 0 ;
			ToneOtherCounter = 0 ;
			if(ToneCounter>16)
			{
				ToneCounter = 0 ;
				ToneKind = 0x31 ;
				disp_buf = 0x0d ;
			}
		}
		else 
		{
			ToneOtherCounter++ ;
			ToneNoneCounter++ ;
			if(ToneNoneCounter>100)
			{
				ToneNoneCounter = 0 ;
				ToneCounter = 0 ;
				ToneKind = 0 ;
				ToneOtherCounter = 0 ;
				disp_buf = 0xff ;
			}
			if(ToneOtherCounter>1)
			{
				ToneOtherCounter = 0 ;
				if((ToneCounter>=3)&&(ToneCounter<=10))
				{
					ToneNoneCounter = 0 ;
					ToneKind = 0x30 ;
					disp_buf = 0x0b ;
				}
				else if((ToneCounter>10)&&(ToneCounter<=16))
				{
					ToneNoneCounter = 0 ;
					ToneKind = 0x32 ;
					disp_buf = 0x0c ;
					Huilingying_dingshi = 1 ;						
				}
				ToneCounter = 0 ;
			}
		}
		TR1 = 1 ;
		TH1 = 0 ;
		TL1 = 0 ;
	}
}

⌨️ 快捷键说明

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