公用电话四路计费器毕业设计_第1页
公用电话四路计费器毕业设计_第2页
公用电话四路计费器毕业设计_第3页
公用电话四路计费器毕业设计_第4页
公用电话四路计费器毕业设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

公用电话四路计费器摘 要:本文介绍了应用SST89E564单片机设计的四路电话计费器的硬件、软件设计过程。该计费器可实现电话集中管理计费、针对各种不同费率要求在线下载费率与程序以及查询、累计等功能。关键词:SST89E564;串口通讯;计费;费率1 引言电话机用户数以亿计,计费依据来自电信局交换机给出的清单。清单方式是准确的,但绝大多数电话机用户(极少数拥有和使用Fax和Internet微机的用户除外)不能及时方便地看到费用清单。从公用电话的角度来说,由于要实现挂机后收费,就必须即时显示费用清单。在日常生活中,话吧或电话超市都比较普遍存在,在这些以电话为主要营业工具的场所,电话计费就显的至关重要。在话吧出现的早期,电话计费主要依赖电脑,通过安装在电脑里的专用计费软件实现计费,这对那些普通话吧来说,成本要求过高。因此体积小,成本低,操作方便的计费器便有了广阔的发展空间。如今公用电话计费器已经比较常见了。但目前的电话计费器仍存在不少的弊端,如不能较好地适应电信系统的费率调整和折价时间,不能实现多话路的集中管理以及全价与折价的转换不能自动实现等问题,使计费器的功能还有很大提升的空间。2.总体设计 2.1 总体功能图1此计费器最大的特点是可实现在线下载费率和程序,因此可以实现不同地区费率结构,当进行费率调整时,只须将新版费率文件发给各个话吧,通过特定下载程序就可将费率和程序下载到计费器,然后计费器就可自动的实现折价转换。四路计费器外观如图1。总体来说,该计费器可实现的功能如下: 可实现四路电话的集中管理。 自动识别所拨电话号码,并实现分别计时计费。 采用反极计费方式。 大屏幕液晶显示,提供摘挂机状态显示,计费状态显示,锁机状态显示,全价、折价状态显示。 可查询最近拨打的电话号码、通话时间和话费金额。 可实现在线下载程序和费率。 自动转换全价、折价计费功能。2.2 操作方法2. 2.1 开机先接好四路计费器的直流电源,打开侧面的电源开关后面板上的电源指示灯亮,计费器开始通讯。屏幕左下角会显示“正在通信”图标。若第一路外线与电话线接反,则会在显示屏第一路上显示“1111”。(无通讯功能计费器则无此现象)。通信结束后,屏幕左下角显示由“正在通信”图标变为“通信成功”字样。2. 2.2 开通话路计费器通信成功后,可以看到四条话路均出现锁机标识,意为话路被关闭,不能拨打电话。当顾客需在某一话路打电话时,可按相应的控制键将话路打开,这时该话路锁机标志隐藏。2.2.3 通话计费电话摘机后,该路的图标由挂机状态改变为提机状态。顾客拨对方电话号码,计费器可显示所拨号码。电话接通后,计费器立即开始计费,此时液晶上显示通话时间及话费金额。2.2.4 挂机续打和结算用户挂机后,屏幕显示此次该路电话的通话时间和话费金额。此时用户可继续拨打下一个电话或进行话费结算,当顾客结算时,需按该路控制键,会在相应话路显示所打的电话次数及这几个电话的总费用。并将该话路关闭。当下一位顾客在该话路拨打电话时,需再按该路对应的控制键,打开话路并清除该路的小计话费和次数。2.2.5 查询某一路话单在该路话机处于挂机状态时,按一下“查询”键,再按相应话路的数字键,液晶显示器显示该路最后一个话单,例如:按“查询”键后,再按“2”查询第二路话单。话单显示在相应话路,最下端左边为电话通话时间,右边为该话单的费用。连续按下翻“”键可继续向前翻查,按上翻“”键则向后翻查用户已拨打的电话话单。 按“”、“”键可上下翻十条话单。若要查看其它话路的话单,则按“*”或“确认”键退出后,再重复上述操作过程。2.2.6 查询累计金额.总累计:按“累计”键,再按“0”键,屏幕显示总累计话费金额,如图所示总累计话费为4500.60元。总累计话费金额最多可为99999.99元,超过此数自动清零。.当日累计:按“累计”键,再按“1”键,屏幕显示当日累计话费金额每日累计话费金额最多可为9999.99元(若超过此数,将自动清零并重新累计)。时段累计:第一路处于挂机状态时,按“累计”键,再按“2”键,在第一路显示默认时段设置为当前日期,例当前日期为2003年12月1日,则默认时段显示为:031201031201可在默认设置的基础上按所需时段进行修改,例如查询2003年12月1日至2003年12月4日之间的累计金额,则将时段进行相应修改,按“”或“”移动数据位置进行修改。输入设置时段后,按“确认”键。即可得到时段累计折价用户在电信部门规定的节假日及折价时间内拨打长途电话时,可按折扣价计费,折价计费时屏幕显示“折价”状态。时间设置开机后,其显示的时间与当前时间不符,可在四路话机都处于锁机状态时,按“设置”键,则年份的第三位数据处于修改状态,按键盘上数字键即可。按“”或“”移到相应的数字修改位置进行时间调整。设置结束后可按“确定”退出设置。3 硬件设计3.1 主控制模块本设计的控制核心是基于单片机,为了适应本设计的各方面的要求,采用了SST公司的89E564RD型的单片机作为主控制芯片。此芯片区别于一般51系列单片机的性能有:1k的RAM,64k的flash memory,终端程序和费率数据都放在这个FLASH区,FLASH存储器稳定性好,具有掉电保持数据的功能,程序和数据可以保持100年不变。且FLASH具有擦写密码,不易发生误写或者产生意外的更改。同时这个FLASH区可实现在线编程下载,这个功能使得计费器具有在线下载程序与费率的功能;拥有2个DPTR寄存器,使片内与片外寻址更加容易操作;拥有3个定时/计数器,使其具有强大的定时中断的功能。3.2 话路输入处理模块这个模块主要包括反极信号判别电路,继电器开关,双音多频解码电路等图2在我们生活中使用的一般电话中,当主叫用户拨号并连上后,被叫提机的瞬间也就是话路接通的瞬间,电信部门的交换机会发出一个反极信号,该反极信号便是本计费器判别计费开始的主要依据。如图2,该设计将两个光耦彼此反相接于电话输入线路,便有一个导通一个截止的状态,即UN2与RN2之中必有一端为高电平一端为高电平,当有反极信号时,则两个光耦的状态互换,即UN2 和RN2两端电平状态与原状态相反,程序检测到这种变化便开始计费。 在该设计中拨号收数主要依靠双音多频解码芯片MT8870。如图3,从电话线输入的DTMF信号镜整流滤波后接入MT8870的输入端,输出端4根数据线直接接入CPU的P1.0到P1.3口,这4根数据线可产生4位二进制数,当按下09不同的电话键时,MT8870将产生的不同频率的DTMF信号转换产生不同的4位二进制数。图3 此外此模块还有软件控制的继电器,用来开关话路;以及滤波和限压器件。图43.3 存储模块 18本设计能实现话单的查询和累计的功能,因此在每次用户打完电话后,就要对话单进行存储,为了从价格于存储量等方面考虑,本设计采用了AT24C256,这种芯片为32K的EEPROM,运用I2C总线形式进行读写。运用4片AT24C256就可以存储400条话单,每条话单包括电话拨打起始时间,电话号码,时间长度,以及年月日。如图4所示,引脚WP为片选信号,SCL和SDA分别为时钟与数据输入口,A0与A1为地址口,当运用多片此芯片时,这两引脚两端高低电片的接法均不同,在程序中依靠地址的低两位就可区分不同的AT24C256。3.4 下载模块为了实现费率与修改程序的下载,本计费器设计了与PC上位机的通讯模块,通讯使用串口模式,由于PC串口电平与TTL电平的差异,本设计使用MAX232将P232电平转换成TTL电平,并将输出端直接接到单片机的RXD 和TXD引脚。3.5 键盘显示模块本设计的键盘采用矩阵式。显示屏为LCD显示,由7片HT1621控制, 在这里从P0口输出3个I/O口,经74HC138译码器译码来控制每片HT1621的片选信号。数据通过P3.3和P3.4以串口形式输入。显示屏上的每个显示内容都与唯一的地址映射相对应,只要输入映射表中的对应的十六进制数,就能显示相对应的内容。图54 软件模块构成软件设计实行模块化设计,按照从上往下的设计理念,这种设计方法有利于实现具体的产品功能,能够给设计指定一个明确的研发方向,对这种市场性很强的产品来说这种理念比较可取。此外,每个模块都于其他模块有一定的相互关系,模块之下又分子模块,层层相扣。该程序要实现的三大功能是通讯、计费、查询。因此,通讯模块、计费模块、查询累计模块为主要的三大模块。其他模块均为此三模块服务。从整个程序的结构来说,通讯模块在开机后就进行,是独立于主循环之前的,而计费模块为主循环的主要部分,查询模块嵌入在按键模块内。由于要实现4条话路的集中管理,并要实现同时计费。在主循环里,计费等操作是从第一路到第四路逐次操作的,并通过不断的循环,实习不同状态的刷新。图5为模块关系图。程序完全用汇编语言编写,软件模块化为程序编写提供了大致的编写方向,但在实际上模块与模块之间并不区分的如此明显。往往一个模块会嵌入到另一模块中,特别是在大型程序中。该设计就是如此。全局标志,数据区重新初始化判断折扣类型设定折扣参数开机自检控制字、显示、存储初始化读取时间开始通讯Y传输费率数据参数,程序握手是否建立连接NY 是否 超时N通讯结束N扫描查询键调用主显示程序累计查询主流程起始Y是否摘机打进还是打出计费程序YY存储话单N是否挂机是否有计费标志N图6 程序流程图如图6。4.1 计费模块4.1.1 计费公式:费率计算公式:F=(f1*k- m1)+(f2*k-m2)*(T-t1)/t2 + (f3*T/t3)+W其中F为总话费,f1为第一步长费率,k为折扣率, m1为第一步长折扣金额,f2为第二步长费率, m2为第二步长折扣金额,T为通话总时长, t1为第一步长时间, t2为第二步长时间 ,f3为第三步长费率,t3为第三步长时间, W为服务费(用户代办费)费率和代办费,折扣金额以分为单位,步长以秒为单位。此公式即可用于3+1的计费情况,也可以用于3+3计费情况,当计费为3+3时,f1,f2,t1,t2,m1,m2均设为相同的值。此时公式可以简化为:F=(f2*k-m2)* T/t2 + (f3*T/t3)+W4.1.2 计费起动方式:计费器共有3种启动方式:反极启动计费,当用户拨通电话后,若线路具有反极,此时交换机会发送反极信号,计费器收到反极信号后马上启动计费。程序中对反极启动计费作了一定的限制,拨打得电话的位数不少于3为,否则,计费器将忽略该次反极。延时启动计费,当拨完电话号码大于3位后,计费器便启动延时计费,当延时一定时间后,(此时间由延时参数来控制),便自动启动计费。延时计费有短延时计费和长延时计费。手动按键启动计费,当拨完不少于3个号码后,手动按查询键方式启动计费,若号码少于3位,则不会启动计费。在三种计费方式中,反极计费最准确,优先级最高,如果计费器只要有一次启动反极计费方式,则以后只按反极方式计费,延时计费方式则不会启动。4.1.3 费率结构费率由区号字头表和费率等级表组成,每个区号对应相应的等级。每一个等级描述该区号字头计费时的计费费率和计时步长(即上述的f1,t1,f2,t2,f3,t3,w)同时还描述该区号使用的折扣类型,即分时段折扣,星期折扣,和节假日折扣。折扣有折扣率和折扣金额。4.1.4 通话计费在拨号过程中计费器首先会查询是否是限拨号码,如果是查询的结果是禁拨的号码,计费器则通过继电器来断开话路。当计费器收到反极信号后,开始计费,先根据区号字头来查询费率等级,费率等级里面包含有费率信息,步长,以及折扣信息。然后根据折扣信息来确定该等级的实时折扣率和折扣金额,若当前的计费采用的折扣率方案中,至少存在有一个折扣类型的折扣率小于100或者折扣金额大于都会显示半价标志,否则计费器显示全价。计费器会不断的定时去查询折扣时段,能够实时的采用相应的折扣方式 4.2 开机自检模块此模块主要对数据区进行自检和初始化控制字设定,主要对写定时器、中断、串口通讯等的控制字,并给定时器赋值显示初始化,对显示芯片HT1621初始化,打开其显示控制时间初始化,从HT1380中读取时间存储初始化,对AT24C256进行清空赋值4.3 下载通讯模块终端与HOST属于点对点通信方式,即发送应答发送。终端通过串口与HOST建立连接,利用普通串口与HOST进行通信。HOST通过和终端的通信,对终端下载费率和程序,以此修改费率数据,费率等级,限拨号,系统参数等,下载到终端后,便可改变终端的计费方式和费率,还可以发控制命令,控制终端的使用。4.3.1 通讯过程握手首先将终端与HOST的串口连接上,然后HOST等待终端的握手信号,终端在进入通信状态下,通过串口给HOST发送一个握手包(ShakeHand),HOST收到正确的握手包后给终端发送握手包,终端收到正确后开始发送状态包。整个握手时间不能超过1秒,否则认为握手失败并退出此次通信状态。终端和HOST收到的握手包分别完全正确,才能确认握手成功,即可开始通信。4.3.2 通讯过程通讯握手成功后,终端发送状态包(State Packet),状态包含有终端的编号,硬件电路版本,系统号,子网号,以及终端终端的状态,费率版本,申请数据等;HOST收到并校验正确后发送数据包(Data Packet),如果接受校验不正确,则发送错误应答包(False Ack)。请求终端重发。正确后HOST发送终端所需要的数据包(Data Packet)每发送一次数据包,等待终端应答后再发送。以及数据结束包(DataEnd Packet),数据包包括了终端所需要的费率等级、费率、折扣、系统参数、下载程序、时间等信息,数据结束包包含了当前和后备数据的版本信息等;如果终端收到数据包和数据结束包是错误的,终端给HOST发送错误应答包(False Ack),并等待HOST重传数据包,如果终端收到数据包和数据结束包并检验正确后,应该结束通信(参看图7)。终 端上位机3发送状态包2接收握手包4 Data /False Ack5通信结束包 / DataAck(注2)6双方退出通信,通信结束.1发送握手包5发送Ack6发送DataEnd图74.3.3 通讯过程结束通讯终端收到所有的数据包检验正确后,通信即将结束,终端给HOST发送通信结束包(CommunicationEnd Packet),本次通信结束。在通信过程中,任何一方(终端或HOST)在一定时间内未收到要接收的数据时认为接收数据有错,发送错误应答包(False Ack)并使错误次数加1,如果错误次数超过规定的最大次数(当前使用2),则通信失败,主动退出通信。4.4 主循环模块在这个模块中根据计费器所处的状态,调用不同的子模块。状态主要由标志位所决定,判断不同的标志位调用其相应的子模块。4.4.1开关继电器以控制话路的开关4.4.2计费程序,这是主循环里的主要模块,在这里面将对费率进行计算,已经时间、折扣的判断等4.4.3存储话单,当电话打完后,此模块将把话单信息存入AT24C256中4.4.4直接调用显示和按键扫描程序。4.5 键盘输入与显示输出模块对键盘的扫描形成键值,而产生不同的功能。在这里,当扫描到查询、累计、控制等键时,将分别设立查询、累计、开锁标志以便主循环检测并调用相应子模块显示将计费器的状态和计费数据显示出来。显示程序的核心就是对7片HT1621的操作,具体流程是初始化,写控制字,写数据。数据传送采用串行形式,先写首地址,然后把所有数据一次性写入。在这里,显示数据分两个地址段存储,分别为映射地址段和物理地址段,映射地址段里每个地址的数据都与显示屏每个显示单元一一对应,它是可以直接修改的,当显示内容改变时,就直接修改该内容相对应地址内的数据。然后,将映射地址段数据经查表转换后写入物理地址段,再将物理地址段数据直接输出显示。4.6 数据区数据管理模块这个模块负责对各种数据的存储和读取的管理。这就涉及到计费器查询与累计的功能。4.6.1 话单存储主叫或者被叫通话完毕,计费终端将存储该项话单,话单内容有:电话号码(可以长达20位),通话时长,总话费,通话起始时间(年月日时分秒)。当为被叫时,电话号码为999999。话单存储容量为500张。当主叫或被叫挂机后,程序立即执行话单存储子程序,将上述信息存入AT24C256,在这个过程中首先必须将上次存储的地址指针取出,从那个地址开始接着往下存。写AT24C256采用I2C总线形式,具体程序如下write_data_i2c1: clr wp_24256 ;选中片选 lcall start_ic ;调用启动芯片子程序 mov a,add_comm1 jb acc.7,i2c_1 ;判断地址高字节 mov a,#0a0h ;根据a.7选择其中一片256 sjmp i2c_c1 i2c_1: mov a,#0a2h ;片选字节 i2c_c1: lcall wr_byte ;写片选字节 lcall waitack_ic ;调等待应答信号子程序 jnb ack,writeret mov a,add_comm1 ;写地址高字节 lcall wr_byte lcall waitack_ic mov a,add_comm2 ;写地址低字节 lcall wr_byte lcall waitack_ic mov a,send_data ;写数据字节 lcall wr_byte lcall waitack_ic lcall stop_ic ;调结束子程序 setb wp_24256 ;清掉片选信号 writeret: lcall stop_icsetb wp_24256 ret;- wr_byte: ;写字节mov r7,#08wr_byte1: clr scl ;scl为时钟信号 rlc a mov sda,c ;sda为数据信号 setb scl djnz r7,wr_byte1 clr scl ret;-rd_byte: ;读字节 mov r7,#08 setb sdard_byte1: setb scl nop mov c,sda clr scl rlc a djnz r7,rd_byte1 clr scl mov rece_data,a ret;-start_ic: ;开始子程序 clr scl setb sda nop setb scl nop clr sda nop clr scl setb sda ret;-stop_ic: ;结束子程序 clr sda nop setb scl nop setb sda nop nop clr scl ret;-waitack_ic: ;等待应答子程序 setb sda nop nop setb scl clr ack nop nop nop wait_ack_loop:时间计数累积判断摘挂机判断反极判断折扣参数返回图 8 jb sda,ackret ;sda自动至高则表示应答 setb ack ackret: nop clr scl ret4.6.2.话费查询累计该计费器的查询功能可实现每条话路分别查询,可具体查询每条话路最近一百条话单,包括所拨电话号码、通话时长、通话金额。计费器还可以对主叫和被叫的通话次数和话费进行累计。可以分别实现总累计,日累计,时段累计。查询累计的程序设计,与上面的话单存储过程相反,首先按要实现的功能来处理地址,再从AT24C256中读出相应地址的数据。4.7 中断服务模块中断有串口中断和定时中断两中,定时中断,主要在一定的时间间隔内对计费器所处的各种状态的采集和判断,例如时间累积,摘机,挂机,反极,回铃音。4.7.1 TIME1,在此中断中,主要靠寄存器计数来判断电话打入标志。4.7.2 TIME0,此中断为程序中担负主要功能的中断,当计费器处于通讯状态下时,此中断主要作延时计数,当通讯结束后,其作用有:时钟计时处理。扫瞄两光耦输出端,判别摘挂机。扫描两光耦输出端,判别反极信号。拨号收数。判别折扣参数。4.7.3 串口中断,主要用于程序在线下载是,串口收发一个字节后申请中断。当发送中断时,继续下一个字节发送;当接收中断时,保存收到的字节数据。参考文献1 Regis J.(Bud)Bates(美.Donald W.Gregory(美),最新语言和数据通信手册M,北京:机械工业出版社,1998.82 Communication IC Selection GuideM,2001.33 David D.Bezar(美).电话综合业务技术指南M,北京:机械工业出版社,1998.84 FLASH .MEMORY M.北京:SST出版社,2002.35 张迎新等.单片机初级教程M,北京:航空航天大学出版社,2000.16 何立民等.单片机高级教程M,北京:航空航天大学出版社,2000.17 孙德和等.新编IC参考手册M,北京:北京希望电脑公司,2001.2 8 清源计算机工作室.protel99se原理图与PCB及仿真M,北京:机械工业出版社,2004.89 王振伟主编.51/98单片计算机原理及应用技术M,长沙:湖南师范大学出版社,1996.1 10 谢自美等编著.电子线路设计.实验.测试,武汉:华中理工大学出版社,2000.711 孟贵华.电子技术工艺基础,北京:电子工业出版社,1998.3 12 嵌入式系统论文集J,电子产品世界,2000.11 附录:外文翻译In Wang Zuoliangs translation practices, he translated many poems, especially the poems written by Robert Burns. His translation of Burns “A Red, Red Rose” brought him fame as a verse translator. At the same time, he published about ten papers on the translation of poems. Some argue that poems cannot be translated. Frost stresses that poetry might get lost in translation. According to Wang, verse translation is possible and necessary, for “The poet-translator brings over some exciting work from another culture and in doing so is also writing his own best work, thereby adding something to his culture. In this transmission and exchange, a richer, more colorful world emerges. ”(Wang, 1991:112). Then how can we translate poems? According to Wangs understanding, the translation of poems is related to three aspects: A poems meaning, poetic art and language. (1)A poems meaning “Socio-cultural differences are formidable enough, but the matter is made much more complex when one realizes that meaning does not consist in the meaning of words only, but also in syntactical structures, speech rhythms, levels of style.” (Wang, 1991:93).(2)Poetic art According to Wang, “Blys point about the marvelous translation being made possible in the United States only after Whitman, Pound and Williams Carlos Williams composed poetry in speech rhythms shows what may be gained when there is a genuine revolution in poetic art.” (Wang, 1991:93).(3)Language “Sometimes language stays static and sometimes language stays active. When language is active, it

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论