ht9200/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 ; /****************************************** 发送子程序 in 为要发送的数 0-15 ******************************************/ void send_ht9200(uchar in) /***************************************** DTMF 读程序 返回 DTMF值 *****************************************/ uchar DTMF_read(void) /****************************************** 初始化检测程序 ******************************************/ void checkRING_Init() void checkDV_Init() void checkDXC_Init() /*************************************** 检测有无振铃RING 程序 返回 TRUE :有 FALSE:无 ***************************************/ uchar check_RING(void) /*************************************** 检测有无DTMF信号 DV 程序 返回 TRUE :有 FALSE:无 ***************************************/ uchar check_DV(void) /*************************************** 检测有无掉线信号 DXC 程序 返回 TRUE :有 FALSE:无 ***************************************/ uchar check_DXC(void) 使用: 程序开始调用初始化检测程序 checkRING_Init(); checkDV_Init() ; checkDXC_Init() ; 调用掉线检测程序check_DXC();可以检测电话线是否连接好; 调用检测程序检测振铃checkRING_Init(); 检测振铃, 如果返回TRUE 就可以打开话路:用SW = 1 可以实现摘机。 调用DTMF检测程序 check_DV(void); 检测有无DTMF信号, 如果返回TRUE 表示有DTMF 信号, 再用读DTMF程序DTMF_read() 读出DTMF值。 ***************************************/