基于W78E54B单片机电话计费器的设计
引言公用电话计费器是日常生活中比较常见的。目前的电话计费器不能较好地适应电信系统的折价时间,本计费器采用人工手动计费器,可随时满足折价时间的改变。同时该计费器记录准确,并可以存储 200 条话费记录;可以通过电话机重新设置时间、区号、费率等,同时可以人工手动实现半价和全价转换;功耗低,体积小,成本低。 系统设计该系统由 W78E54B 单片机、摘机检测电路、DTMF 解码电路、键盘、LED 显示器组成,原理框图如图 1 所示其中 W78E54B 单片机主要完成话费的计算、存储等功能。
摘机检测电路完成对系统的摘机、振铃、通话、挂机等状态的检测。DTMF 双音多频电路采用 CMD8870 实现双音多频信号的解码。系统通过查询、复位、计费 3 个键实现人机接口,LED 显示器采用 2 块相同的 12 位 LED 显示屏,分别安装在计费器的两侧,用于对用户和顾客的话费显示。单片机和 DTMF 的接口电路如图 2 所示。 当有电话拨号时,由 LM567 构成的锁相环检测到并使输出引脚变低,该信号直接送到单片机的 P2.0 口,单片机通过 P0.2 口使能 CMD8870 芯片解码输出,Q1 至 Q4 分别输出到单片机的 P0.3 至 P0.7,同时单片机通过 STD 口检测下一个拨号的到来,以便及时接收。
CMD8870 芯片解码输出如表 1 所示。 本系统的软件框图如图 3 所示。 当电话被提机,有反极信号,单片机启动定时器开始按秒或按分自动计费。无反极信号,15 秒自动进入计费或按下计费键马上进入自动计费。 当有任何一个计费器按键按下的时间超过 2 秒,则系统进入设置状态。当不足 2 秒的时候进入相应的按键动作,其各个按键相应动作如下。 复位键:当完成一次通话后,计费器进入语音提示状态,收费完毕,按下复位键,停止语音,并可重新计费。
查询键:在电话处于挂机状态下,可以通过此键查询最近的通话记录,包括序号、电话号码、通话时间以及金额等。 同时按下查询和计费键的时候实现全价和半价的计费转换。系统开始为全价计费,同时按下这两个键为半价计费。 当按下上述任何一个键的时间超过 2 秒,则可以通过电话的按键设置时间、区号和费率等。 设置主要是用户来设置通话费率和时间等参数。当电话挂机状态,可以通过电话的按键来设置一些费率、区号,例如:本地的长途区号设置命令格式,格式为*1+AAAA+#,其中*1 为命令编号,AAAA 为本地区号,如果本地区号不足 4 位,用“*”来补齐,#为命令结束符。
在设置费率中,FFF 是指设置的费率,例如费率为 0.60 元/分,则 FFF 就是指 060 这 3 个数字。同样其他的设置如表 2 所示。结语本计费器能实现精确计费,双音频信号接收准确,可用于各个公共电话站等地方的双音多频电话的计费