[求助]基于W78E54B单片机电话计费器的设计源程序
各位DX哥哥姐姐叔叔伯伯,小M急需基于AT89c51单片机电话计费器的设计源程序,设计要求非常简单,如下:
计费器采用人工手动计费器,可随时满足折价时间的改变。同时该计费器记录准确,
并可以存储200条话费记录;可以通过电话机重新设置时间、区号、费率等,同时可以人工
手动实现半价和全价转换;功耗低,体积小,成本低。
本系统的软件框图如图3所示。
当电话被提机,有反极信号,单片机启动定时器开始按秒或按分自动计费。无反极信号,15秒自动进入计费或按下计费键马上进入自动计费。 当有任何一个计费器按键按下的时间超过2秒,则系统进入设置状态。当不足2秒
的时候
进入相应的按键动作,其各个按键相应动作如下。
复位键:当完成一次通话后,计费器进入语音提示状态,收费完毕,按下复位
键,停止
语音,并可重新计费。
查询键:在电话处于挂机状态下,可以通过此键查询最近的通话记录,包括序
号、电话
号码、通话时间以及金额等。
同时按下查询和计费键的时候实现全价和半价的计费转换。系统开始为全价计
费,同时
按下这两个键为半价计费。
当按下上述任何一个键的时间超过2秒,则可以通过电话的按键设置时间、区号
和费率
等。
设置主要是用户来设置通话费率和时间等参数。当电话挂机状态,可以通过电话
的按键
来设置一些费率、区号,例如:本地的长途区号设置命令格式,格式为*1+AAAA+#,
其中*1
为命令编号,AAAA为本地区号,如果本地区号不足4位,用“*”来补齐,#为命令结
束符。
在设置费率中,FFF是指设置的费率,例如费率为0.60元/分,则FFF就是指060这
3个数