编辑: 思念那么浓 | 2013-04-11 |
9 HT95R65 电话机程序流程图及说明 主程序流程图及说明. 以HT95R6x 实现来电显示电话机
10 主流程图说明. 程序在刚上电后清 RAM,初始化 I/O 口及 SFR,然后通过 I2 C 通信,对HT16C24 进行初始 化设置. 初始完毕后,程序开始进入主流程.首先是按键扫描,接着是调用摘机检测模块及拨号模 块;
接着是判断 phoneTask&
KeyTask 是否为 1,如果为 1,则进入按键处理模块;
再判断 phoneTask&
CallIDTask 是否为1,如果为1,则进入来电信息处理模块;
再判断phoneTask&
timeTask 是否为 1, 如果为 1, 则进入更新时间模块;
再判断 phoneTask&
CPTTask 是否为 1,如果为 1,则进入 CPT 检测模块;
再判断 phoneTask&
HaltTask 是否为 1,如果 为1,则进入 Halt 模式,如果为
0 则跳到按键扫描模块继续循环. 中断处理模块主要功能是完成振铃检测、FSK 解码及 DTMF 解码.在整个程序运行的过程 中,系统在待机情况下完成时间、日期显示,以及可以根据键盘提供的按键输入进行相应 的系统设置和完成相应的功能,若在某一时刻有电话打入则会触发中断,中断处理模块根 据接收到的信息判断是 FSK 还是 DTMF 的数据, 并完成数据的解析, 最后将数据送到 LCD 进行显示. 以HT95R6x 实现来电显示电话机
11 FSK 制式 CID 信息接收流程图及说明 当判断 FSK_Interrupt 为1,则调用 FSK 数据接收子程序,首先清除 FSK_Interrupt,再判断 FSK 的数据是否有效,当第一次接收到的数据是 04H 时(单数据消息格式 SDMF 的数据格 式为:04H + 消息长度 + 年、月、日、时、分+主叫号码),则说明数据有效,开始接收 数据,清LCD 显示,再将 FSK 数据保存到 FSK_Data 中,判断 FSK_count 是否等于 FSK 数据的长度,如果是,则FSK 数据接收完成,清除 valid_FSK,显示 FSK 数据.此范例程 序暂不支持 FSK 复合数据消息格式 MDMF. 以HT95R6x 实现来电显示电话机
12 DTMF 制式 CID 信息接收流程图及说明 当判断 DTMF_Interrupt 为1,则调用 DTMF 数据接收子程序,首先清除 DTMF_Interrupt, 再判断 Valid_DTMF 是否为 0,若为 0,则判断收到的第一个数据是否为头标识(A、B、C、 D、*、#),如果是头标识,则Valid_DTMF 设为 1,清除 LCD,退出子程序.当下一 DTMF 信号到来时,Valid_DTMF 为1,则判断收到........