当前位置:首页 > 单片机 > 单片机
[导读]/********************************************ht9200A/ht9170程序双音多频接收发射程序********************************************/sbit DATA= P3^7 ;sbit CLK= P3^6 ;sbit CE= P2^7 ;/***********************

/********************************************

ht9200A/ht9170程序

双音多频接收发射程序

********************************************/

sbit DATA= P3^7 ;

sbit CLK= P3^6 ;

sbit CE= P2^7 ;

/*******************************************

DTMF 数据口:P0^0 ~ P0^3

*******************************************/

sbit DV= P2^6 ;

sbit OE= P3^2 ;

//sbit PWDN= P3^6 ;

//sbit INH= P3^7 ;

sbit DXC= P3^5 ;

sbit RING = p3^0 ;

#ifndefTRUE

defineTRUE1 ;

#endif

#ifndefFALSE

defineFALSE0 ;

#endif

uchar idata Check0 ;

uchar idata Counter0 ;

uchar idata Check1 ;

uchar idata Counter1 ;

uchar idata Check3 ;

uchar idata Counter3 ;

uchar code Table_DTMF[] = {0x0a,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0d,0x0e,0x0f,0x00,0x0b,0x0c} ;

//0123456789ABCD*#

void senddata_ht9200(uchar in)

{

uchar i;

for(i=0;i<5;i++)

{

if(((in>>i)&0x01) == 1)

DATA = 1 ;

elseDATA = 0 ;

CLK = 0 ;

CLK = 1 ;

}

}

/******************************************

发送子程序

in 为要发送的数 0-15

******************************************/

void send_ht9200(uchar in)

{

CE= 0 ;

CLK= 1 ;

time(50) ;//delay about 6 ms

EA = 0 ;

senddata_ht9200(Table_DTMF[in]) ;

EA = 1 ;

delay(100) ;//delay about 100 ms

CE= 1 ;

}

/*****************************************

DTMF 读程序

返回 DTMF值

*****************************************/

uchar DTMF_read(void)

{

uchar temp ;

uchar i ;

EA = 0 ;

P0 = 0xff ;

OE = 1 ;

ACC = ACC ;

temp = P0&0x0f ;

OE = 0 ;

EA = 1 ;

for(i=0;i<16;i++)

{

if(temp == Table_DTMF[i])

return i ;

}

return(0xff) ;

}

/******************************************

初始化检测程序

******************************************/

void checkRING_Init()

{

Check0 = 2 ;

Counter0 = 20 ;

}

void checkDV_Init()

{

Check1 = 2;

Counter1 = 20;

}

void checkDXC_Init()

{

Check3 = 2 ;

Counter3 = 20 ;

}

/***************************************

检测有无振铃RING 程序

返回TRUE :有

FALSE:无

***************************************/

uchar check_RING(void)//

{

uchar flag ;

flag = RING ;//check RING

if((flag == 0)&&(Counter0 < 30))

Counter0 ++ ;

if((flag == 1)&&(Counter0 > 0))

Counter0 -- ;

if(Counter0 == 30)

{

Counter0 = 20 ;

if(flag != Check0)

{

Check0 = flag ;

return TRUE ;

}

else return FALSE;

}

else if(Counter0 == 0)

{

Counter0 = 20 ;

Check0 = 1;

return FALSE;

}

else

return FALSE ;

}

/***************************************

检测有无DTMF信号 DV 程序

返回TRUE :有

FALSE:无

***************************************/

uchar check_DV(void)//

{

uchar flag ;

flag = DV ;//check DV

if((flag == 1)&&(Counter1<30))

Counter1 ++ ;

if((flag == 0)&&(Counter1 >0))

Counter1 -- ;

if(Counter1 == 30)

{

Counter1 = 20 ;

if(flag != Check1)

{

Check1 = flag ;

return TRUE ;

}

elsereturn FALSE ;

}

else if(Counter1 == 0)

{

Counter1 = 20 ;

Check1= 0 ;

return FALSE ;

}

else return FALSE ;

}

/***************************************

检测有无掉线信号 DXC 程序

返回TRUE :有

FALSE:无

***************************************/

uchar check_DXC(void)//

{

uchar flag ;

flag = DXC ;//check DXC

if((flag == 1)&&(Counter3<30))

Counter3 ++ ;

if((flag == 0)&&(Counter3 >0))

Counter3 -- ;

if(Counter3 == 30)

{

Counter3 = 20 ;

if(flag != Check3)

{

Check3 = flag ;

return TRUE ;

}

elsereturn FALSE ;

}

else if(Counter3 == 0)

{

Counter3 = 20 ;

Check3= 0 ;

return FALSE ;

}

else return FALSE ;

}


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭