📄 backring.lst
字号:
C51 COMPILER V8.02 BACKRING 05/18/2008 16:43:12 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE BACKRING
OBJECT MODULE PLACED IN BackRing.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE BackRing.C LARGE BROWSE DEBUG OBJECTEXTEND
line level source
1 /*******************************************************************************
2 * 版权所有 (C)2005,深圳豪恩科技有限公司
3 *
4 * 文件名称: main.C
5 * 文件标识:
6 * 内容摘要: 测试与键盘通讯,2005.12.05开始
7 * 其它说明:
8 * 当前版本: 0.000
9 * 作 者: 白征志(豪恩科技研发中心安全主机组)
10 * 完成日期:
11 *
12 * 修改纪录1:
13 * 修改日期:
14 * 版 本 号:
15 * 修 改 人: 涂常亮
16 * 修改内容: 注释,去除测试语句
17 * 修改纪录2:
18 *******************************************************************************/
19 #include <reg54.H>
20 #include <intrins.h>
21
22 typedef unsigned char uchar;
23 typedef unsigned int uint;
24 #define nop _nop_()
25 #define send_9200_outtime 5
26
27 //电话回铃音宏定义
28 #define BACK_RING_BUSY 5 //忙音 ///???什么情况下送忙音
29
30 #define BACK_RING_RINGING 6 //振铃音///接通成功,被叫正在振铃
31
32 #define BACK_RING_NOISE 7 //回铃噪音或接收错误///???
33
34 #define BACK_RING_ANSWD 8 //对方摘机有噪音 ///检测到对方已经摘机
35
36 #define BACK_RING_BUSY1 9 //检测忙音改为两次///此为第一次检测到忙音的返回值
37
38 extern uint const time0_counter; ///10ms时基
39 extern uchar const idata g_ucLastBackRing;
40 extern uchar const idata g_ucAlarmTypePlayed;///已经向用户播报过的报警防区类型,在拨通一个号码时清零
41 extern uchar const idata g_ucAlarmTypes;///报警类型
42 uint data_counter; ///计数中间变量
43
44 //10ms 为单位,40ms
45 #define data_counter_outtime 1 ///超时中间变量
46 uint data_counter_begin; ///计数开始
47 uint data_counter_end; ///计数结束
48 bit data_receiving; ///正在接收回铃音数据
49
50 extern const bit g_FlagVoiceOn; ///正在播放语音
51 extern const bit g_FlagPhoneSPkg; ///正在监听
52
53 /*******************************************************************************
54 * 函 数 名:uchar checkBackRingResult(void) ///检查回铃音结果
55 * 功 能:///停止脉冲群计数和计时,判断脉冲群的类型,看是那种回铃音。为电话报警和接警机报警服务。
C51 COMPILER V8.02 BACKRING 05/18/2008 16:43:12 PAGE 2
56
57 * 输入参数: 无
58 * 输出参数: 返回回铃音的类型。
59 * 返 回 值:
60 * 其它说明:
61 * 修改日期 版本号 修改人 修改内容
62 *-------------------------------------------------------------------------------
63 *
64 *******************************************************************************/
65 uchar checkBackRingResult(void) ///检查回铃音结果
66 {
67 1 uint i;
68 1 bit FlagEX1;
69 1 ///收到忙音,应该是被叫挂机了 ///周期大于3.9秒是忙音
70 1 if (data_receiving && g_FlagPhoneSPkg && ((data_counter_end - data_counter_begin) > 390)) //只收忙音
71 1 { ///g_FlagPhoneSPkg =1 用户已经接听电话,用户已经接听电话后就必须10ms不时的检测回铃音,不然怎么知道
-它挂机了
72 2 data_receiving = 0;///重新开始接收
73 2 if (g_ucAlarmTypePlayed != g_ucAlarmTypes) //正在播放或者刚开始接听
74 2 { ///发生报警的防区类型没有报完
75 3 EX1 = 0; ///停止检测回铃音
76 3 return (0);
77 3 }
78 2 }
79 1
80 1 FlagEX1 = EX1;
81 1 EX1 = 0; ///回铃音判断时,停止回铃音脉宽检测
82 1 //摘机后没有拨号前是一直持续的450Hz的波形,一直不拨会变成忙音//没有检测,不需要
83 1 //对方挂机或一直不接出现的忙音结束后是一直持续的950Hz的波形
84 1 ///主叫摘机后没有拨号前是一直持续的450Hz的波形(拨号音,提示主叫可以拨号)。一直不拨会变成忙音(或拨号音
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -