您当前的位置:五五电子网电子知识电子知识资料小家电80C31单片机可编程电话计费器分析 正文
80C31单片机可编程电话计费器分析

80C31单片机可编程电话计费器分析

点击数:7345 次   录入时间:03-04 12:01:16   整理:http://www.55dianzi.com   小家电

  随着经济的发展,电话已遍布世界各地,进入千家万户。因而,电话的计时、计费,在公用电话亭、饭店、旅馆等一些公共场所就显得十分重要。为此,我们研制了一种价格低廉,性能优越的可编程电话计费器。该电话计费器采用80C31单片机控制,可实现国际长途电话(IDD)、国内长途电话(DDD)、市内电话、农村电话、本地网电话及特殊服务电话(如移动电话、168等)的自动计时、计费,能适用于脉冲和双音频电话机。计费器可同时进行双路计费(一只计费器用于两只电话机的计费),并具有停电继续工作8小时以上的功能(利用计费器内的充电干电池)。本节介绍该电话计费器的硬件电路和监控程序的设计方法。
  
  一、可编程电话计费器的硬件电路设计
  
  图2 -97为可编程电话计费器主控部分的硬件电路原理图。计费器采用80C31单片机控制(由于要求该计费器具有停电继续工作的功能,停电后计费器由机箱内4节1号干电池供电,因此在计费器的硬件电路中,我们尽可能选用低功耗的CMOS芯片,包括80C31单片机及其他芯片);程序存储器为27C256(32 KB EPROM),最大可存放32 KB的监控程序;数据存储器为62256(32 KB SRAM),外部数据存储器用于存放电话的费率、话单及一些临时数据。计费器设有6个功能键,键盘的行输出采用一片74HC374实现,键盘的列输入由80C31的P3.5完成。计费器的显示采用点阵式LCD(该LCD能显示2×20个字符,每个字符的点阵为5×7),LCD的接口直接通过80C31的Pl口完成。计费器的串行口(RS - 2320)由80C31的P3.O(TxD)、P3. l(RxD)经电平转换得到,该串行口用于实现计费器与系统机的数据通信。计费器还有一个CentronICs并行打印接口,其8位数据输出通过一片74HC374(与键盘的行输出共用一片74HC374)实现,选通信号STB由80C31的Pl.7提供,打印机的忙信号BUSY通过74HC245(2)的D6送到80C31。由于62256中存放着费率、话单等重要数据,因此采用了一个较可靠的RAM断电保护电路,RAM的备用电池选用3V的NICd电池。图2-97还给出了计费器断电(市电)自动切换到后备干电池继续工作8小时以上的电路。后备电池选用4节1号干电池。计费器平时工作时采用经变换的交流电(市电),断电(市电)后采用干电池工作。
可编程电话计费器主控部分的硬件电路原理图

  
  图2 - 98为计费器脉冲/双音频电话信号接口电路原理简图(图中只给出了一路电话信号的接口电路,另一路电话信号的接口电路类似)。脉冲信号经光耦器件TLP521 - 2(1)隔离后送到74HC245 (1)。双音频信号则经DTMF译码芯片MC145436 (1)后送到74HC245 (1)。图2 - 98中的继电器则实现电话线断开的功能。

计费器脉冲/双音频电话信号接口电路原理简图
  
  由于80C31单片机的数据存储器地址与I/O接口地址共同编程,因此我们设计的地址为:

三、计费器的监控程序
  
  计费器的监控程序应实现如下功能:
  
  ●脉冲/双音频电话拨号信号的读入;
  
  ●键盘扫描及键值处理;
  
  ●LCD显示;
  
  ●话单打印;
  
  ●与PC机的通信。
  
  由于脉冲/双音频电话信号具有实时性,因此监控程序的结构采用中断方式。图2 - 99给出了监控程序的主程序框图,图2 -100给出了80C31 TO定时器10 ms定时中断服务程序框图。
  
  电话信号(包括脉冲和双音频)共有10种状态,这10种状态分别如下。
  
  ①状态0-平时,表示未打电话;
  
  ②状态1——主叫摘机,表示主叫拿起电话;
  
  ③状态2-低电平,表示脉冲电话拨号时的低电平;
  
  ④状态3-高电平,表示脉冲电话拨号时的高电平;
  
  ⑤状态4-中间,表示脉冲/双音频电话拨号时的中间间隙;
  
  ⑥状态5-被叫摘机,表示被叫拿起电话;

监控程序的主程序框图

  ⑦状态6-主叫挂机1,表示主叫打过电话后,挂起电话;
  
  ⑧状态7-主叫挂机2,表示主叫拨号后,但未打过电话,挂机;
  
  ⑨状态8-主叫挂机3,表示主叫未拨号后,挂机;
  
  ⑩状态9-DTMF拨号,表示双音频电话拨号。
  
  图2—101给出了10种电话信号状态的走向图。

10种电话信号状态的走向图

  计费器共设有6个按键,这6个按键定义如下:
  
  ①“功能”键;
  
  ②“确定”键;
  
  ③“←/打印”键;
  
  ④“→”键;
  
  ⑤“↑”键;
  
  ⑥“↓”键。
  
  对键盘的扫描是在两路电话都不需要计费时才进行的。若有任一路电话须计费,则停止键盘扫描而转向计费处理。
  
  计费器的显示部分选用了2×20点阵式LCD。当计费器有任一路电话在计费时,LCD上显示的为被叫号码、通话时间及话费。其中,第一行对应第一路电话计费,第二行对应第二路电话计费。此时,LCD的显示格式如下:
  
  ●主叫拨号时,01062752275
  
  ●被叫摘机时,010  00:00
  
  ●主叫挂机时,010  03  7.24
  
  当计费器的两路电话都不在计费时,LCD用于显示键盘扫描后的键值处理结果。
  
  6个键可实现话单查询(计费器最多可保存2 000个话单)、话单打印、费率修改、系统时钟修改、全价/半价切换、与PC微机通信等功能。
  
  话单打印由“一/打印”键实现。当LCD上显示某一话单时,按此键,则在打印机上打印出相应的话单。图2 -102给出了某一话单的打印格式。


  
  图2 -102计费器某一话单的打印格式
  
  计费器与PC机通信的目的是将存放在PC机磁盘(以数据文件的形式)上的国际长途、国内长途、市话、农话、特服用话等费率表传送到计费器的62256 SRAM中。这在费率改变时尤其需要。计费器与PC机的数据通信是通过计费器监控程序中的一段通信程序及PC机上的一个通信程序共同完成的。
  
  本节介绍了我们研制的可编程电话计费器的功能、电原理图、监控程序等内容。该计费器具有功能强,硬件成本低,停电可继续工作8小时等优点,可望在各种电话计费部门得到广泛的应用。




本文关键字:单片机  电话  计费器  小家电电子知识资料 - 小家电