新型智能固定电话来电显示系统设计
2016-10-18吴艳艳常芳
吴艳艳+常芳
【摘要】 为了使用户快捷地知道主叫用户的身份,设计了一种由单片机STC90C58AD、来电解码芯片HT9032D、USB接口芯片CH375B、U盘以及其它外围电路构成的固定电话来电显示系统。并借助串口调试精灵软件对系统的硬件设计和软件设计等进行了验证。结果表明系统可显示陌生固定电话号码和手机号码的归属地、常用固定电话和手机号码的主叫姓名和归属地,并可对存在U盘中的电话薄信息进行更新等。
【关键词】 电话 来电显示 单片机 HT9032 CH375
Design of intelligent fixed telephone callerLoc system Wu Yanyan, Chang Fang(College of Traffic and Logistic, Taiyuan University of Science and Technology, Taiyuan 030024, China)
Abstract: In order to quickly know the identity of call subscriber ,This paper introduced the design of telephone display system consists of STC90C58AD by single -chip microcomputer, call decoder chip HT9032D, USB interface chip CH375B, peripheral U disk, and other peripheral circuit mainly including, verified the hardware design and software design Using serial port debug elves software. The results show that this system can display unfamiliar telephone number and the CallerLoc, commonly used mobile phone numbers and its owners name and CallerLoc. It can also refresh the telephone directory in the U disk.
Keywords: telephone; callerLoc ; single-chip microcomputer; HT9032; CH375
引言
截止2015年10月,全国电话用户总数达到153700.9万户。其中,固定电话用户达到23500.90万户;移动电话用户达到130200万户[1][2],中国已成为全球用户最多的通讯大国。虽然我国固定电话的使用量已经低于移动电话,但固定电话仍有很多手机不可替代的优势,尤其在酒店、银行、工厂、医院、学校等公共场所及有老人的家庭,使用固定电话会更方便。
早期的固定电话远远不能满足现代人们的需求,1987年美国首先推出来电显示业务[3],备受用户欢迎。目前市场上固定电话虽具有来电显示功能,但尚存三方面的不足,一是多数固定电话来电显示只能显示电话号码,难以断定主叫方身份;二是少数固定电话虽然可以显示主叫姓名和归属地,但用户不能更改常用联系人的信息;三是若主叫用户用手机拨打固定电话时,被叫方无法预知手机号码的归属地[4]。本文针对以上问题,在原有固定电话来电显示的基础上进行改进,设计了一种基于信息导入的固定电话来电显示系统,即将常用联系人的姓名和归属地等信息通过U盘导入,方便用户预知来电者的身份。
一、系统方案设计
本设计以STC90C58AD单片机为控制器,将U盘中的电话薄信息通过单片机读取到单片机内部EEPROM中,来电信息由解码芯片HT9032D与单片机通过串口中断来获取,并将获得的来电信息与EEPROM中的信息进行比较,最终将比较得到的有效信息在LCD上显示[5-6]。整个系统由5个模块组成,分别是来电解码部分、主控单元部分、来电显示部分、USB接口部分和U盘存储信息部分,具体如图1所示。
二、硬件电路设计
本系统的硬件设计主要包括单片机与解码芯片HT9032D通信的设计、单片机对U盘信息读取的设计以及单片机与LCD通信的设计等三大部分。
2.1 单片机与HT9032D通信电路设计
本设计部分主要实现单片机对来电信息的读取,将解码芯片HT9032D通过电话接口电路与单片机连接,采用异步串行通信的方式,将HT9032D芯片的DOUT端与单片机的RXD端连接,用作两者之间的数据串行传输通道,最终通过软件编程来实现解码,HT9032D芯片的外围电路以及与单片机连接的引脚[7]如图2。
2.2 单片机读U盘硬件电路设计
本系统主要实现单片机对存储在U盘中的电话薄信息读取,采用并口方式通信,将CH375B芯片的地址线输入端A0、片选控制输入端CS#、中断请求输出端INT#、写选通输入端WR#和读选通输入端RD#分别与单片机的P2.0、P2.1、P3.5、P3.6、P3.7管脚相连;将CH375B的数据端口D0~D7分别与单片机P0口的每一位相连,最终通过单片机C语言编程将U盘中的信息保存在单片机内部EEPROM中,若需要更新电话薄信息,则将U盘中的TXT文件更改,将新信息读取到单片机的EEPROM中,硬件电路设计[8]如图3。
2.3 单片机与LCD通信的电路设计
这部分设计主要是将获得的来电信息与单片机从U盘中的读取的信息进行匹配,最终将比较得到的有效信息在LCD上显示。本文采用的液晶显示器是带有汉字库的LCD12232,方便对姓名和归属地的显示,其引脚连接[9]如下图4所示。
三、软件设计
3.1 设计思路
设计思路是在U盘中存放常用联系人的固定电话号码、区号和地名;常用联系人的手机号码、地名等信息,每一个电话号码与其区号或地名是一一对应的,采用TXT文件格式存储,每一个完整的信息都换行保存。本系统首先利用单片机将U盘中存放的TXT文件读取出来存放到单片机内部EEPROM中,当检测到某电话有振铃信号和载波信号后,HT9032D解码芯片将主叫识别信息通过串口传递到单片机中,经单片机进行分析与处理后,将其与EEPROM中的数据进行对照,通过查找字符串的方法进行匹配,如果找到匹配的数据则把后边需要的字符串输出到LCD上[10]。
3.1.1 固定电话号码显示的软件实现方法
(1)对于常用联系人的显示:被解码芯片HT9032D解调出来的主叫识别信息中包括时间、日期以及来电号码,其中来电号码中包括区号和固定电话号码两部分,所以我们可以根据来电区号和号码与库中的电话信息进行比较,找到匹配的数据后就可以将后边对应的姓名和归属地在LCD上显示出来;
(2)对于陌生号码的显示:由于单片机内存的限制,我们不可能把全国的电话号码都存进去,所以对陌生号码只能显示归属地,所采取的方法是将来电信息的前几位区号分离出来与库中的区号进行比较,直到匹配后在LCD上输出区号所对应的地名。
3.1.2 手机号码显示的软件实现方法
(1)对于常用联系人的显示:基本思想和固定电话常用联系人的显示方法相同,不同的是手机号码的主叫识别信息中只有手机号码,我们直接将来电手机号码与库中存的手机号码进行比较,找到匹配的手机号码之后将其对应的主叫姓名和归属地在LCD上显示出来;
(2)对于陌生人的手机号码显示:由于手机用户主叫识别的信息中只有手机号码,所以我们没有办法采用上述方法对其进行显示,本文采取的办法是根据全国手机号码的分配方法对其进行显示,我国手机号码归属地城市名称和区号是一一对应的,手机号码的分配是以号码前7位为单位的,这样手机号码的前七位就可以找到归属地,下面举例说明手机号码前七位的分配:如131开头的手机号码,1310010—1310190号码段归属地为区号为010的城市北京。
3.2 系统软件设计
系统软件由主程序、外部中断0程序、串口中断程序三部分组成。
主程序流程:首先初始化LCD、HT9032D、CH375B等芯片,设置串口通信的波特率和定时器初值等,然后开总中断和外部中断0,调用各个子程序,最终将比较得到的有效数据在LCD上显示。
外部中断0程序流程:当有外部设备U盘连接时,便触发外部中断0服务程序,查询FAT文件系统,打开指定的TXT文件,并以扇区方式进行读数据文件。
串口中断程序流程:当有振铃信号和载波信号时,单片机将接收到的有效来电数据存入缓存器SUBF中,并与单片机内部EEPROM中的数据信息进行匹配,若找到相符合的信息则输出其相应的信息(姓名和归属地等)。
四、实验验证
为了验证系统的可行性,采用串口调试精灵软件,对单片机与HT9032D通信数据和单片机读U盘的数据进行了测试试验,将显示在界面上的信息与已知信息比较,以此验证其可行性和真实性。
4.1单片机与HT9032D通信数据测试
该部分主要对固定电话拨打固定电话和手机拨打固定电话的来电数据进行了测试,分别如图5和图6。
测试得到的数据用十六进制显示,其十六进制数据所对应的字符数据分析如下:
图5椭圆中的两位数据分别代表来电的格式(单数据消息格式)和来电数据长度(转化为十进制是19),圆角矩形中的数据是主叫来电的8位时间和日期,即07月02日14时54分;矩形中的数据是主叫来电的手机号码,即13709148274。
图6椭圆中两位数据分别代表来电的格式(单数据消息格式)和来电数据长度(转化为十进制是19),圆角矩形中的数据是8位时间和日期,即07月02日14时57分;矩形中的数据是主叫来电的区号和固定电话号码,即0912+6669628。
4.2单片机读U盘数据测试
本次试验是将U盘中的TXT文件数据读取,通过串口调试精灵来验证电路和程序的正确性。第一次实验TXT文件中的电话号码共有15个,包括手机号码相关信息10条,固定电话号码相关信息5条,如图7(b)所示;第二次实验TXT文件中在原有的信息基础上增加了5条新的信息,主要来实现采用U盘更新电话薄的功能,即在第二次单片机读写U盘数据时将之前存储在EEPROM 中的数据擦除之后再写入新的数据,增加数据信息后的数据测试如图7(a),为了保护个人隐私,将图7中号码的部分数字隐藏。
五、结束语
在原有固定电话来电显示系统的基础上,提出了一种采用U盘来更新电话薄信息,可显示主叫方姓名和归属地的来电显示系统;选用U盘作为存储介质使得用户能够方便的存储大容量的电话信息,并方便了信息更新;对其进行了硬件设计和软件设计以及实验数据测试,验证了方案的可行性和准确性,该系统能够方便用户使用,并具有一定的防范来电诈骗功能。
参 考 文 献
[1] 数据酷. 2014年1月-2015年10月我国固定电话用户数统计[EB/OL]. http://www.qianzhan.com/qzdata/ detail/149 /15112 0-e6192662.html. 2015-11-20/2015-12-30.
[2]云新. 我国移动电话用户规模突破13亿4G用户占比25% [EB/OL]. http://www.cctime.com/html/2015-11-19/2015111910 565328.htm. 2015-11-19/2015-12-30.
[3]Michael W, Slawson. Caller ID Basics[J/OL]. http:// www. testmark.com/develop/tml_callerid_cnt.html#summary.
[4]丁晓,吴飞青,李林功.新型智能来电显示系统设计[J], 实验科学与技术,2009,7(6):15-17,35.
[5]Hack Kim, Plano, TX.Intelligent telephone set[R]. 2007.
[6]刘虎,章慧.一种基于来电显示的智能控制模块设计[J],微计算机信息,2008,24(26):59-60,156.
[7]竺伟华.HT9032在自动电话抄表系统的应用[J],中国高新技术企业,2007,(10):112.
[8]王军,程利民.基于CH375的数控机床U盘接口系统[J], 组合机床与自动化加工技术,2008,(1):51-52,56.
[9]杨燕,张新丽.液晶显示模块12232的使用[J],仪表技术, 2011,(5):66-67,70.
[10]Lionel P Barrero, Annoeullin. Caller identification protocol for Provisioning a device[R].2006.