吳艷艷+常芳
【摘要】 為了使用戶快捷地知道主叫用戶的身份,設(shè)計(jì)了一種由單片機(jī)STC90C58AD、來電解碼芯片HT9032D、USB接口芯片CH375B、U盤以及其它外圍電路構(gòu)成的固定電話來電顯示系統(tǒng)。并借助串口調(diào)試精靈軟件對系統(tǒng)的硬件設(shè)計(jì)和軟件設(shè)計(jì)等進(jìn)行了驗(yàn)證。結(jié)果表明系統(tǒng)可顯示陌生固定電話號碼和手機(jī)號碼的歸屬地、常用固定電話和手機(jī)號碼的主叫姓名和歸屬地,并可對存在U盤中的電話薄信息進(jìn)行更新等。
【關(guān)鍵詞】 電話 來電顯示 單片機(jī) 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月,全國電話用戶總數(shù)達(dá)到153700.9萬戶。其中,固定電話用戶達(dá)到23500.90萬戶;移動電話用戶達(dá)到130200萬戶[1][2],中國已成為全球用戶最多的通訊大國。雖然我國固定電話的使用量已經(jīng)低于移動電話,但固定電話仍有很多手機(jī)不可替代的優(yōu)勢,尤其在酒店、銀行、工廠、醫(yī)院、學(xué)校等公共場所及有老人的家庭,使用固定電話會更方便。
早期的固定電話遠(yuǎn)遠(yuǎn)不能滿足現(xiàn)代人們的需求,1987年美國首先推出來電顯示業(yè)務(wù)[3],備受用戶歡迎。目前市場上固定電話雖具有來電顯示功能,但尚存三方面的不足,一是多數(shù)固定電話來電顯示只能顯示電話號碼,難以斷定主叫方身份;二是少數(shù)固定電話雖然可以顯示主叫姓名和歸屬地,但用戶不能更改常用聯(lián)系人的信息;三是若主叫用戶用手機(jī)撥打固定電話時(shí),被叫方無法預(yù)知手機(jī)號碼的歸屬地[4]。本文針對以上問題,在原有固定電話來電顯示的基礎(chǔ)上進(jìn)行改進(jìn),設(shè)計(jì)了一種基于信息導(dǎo)入的固定電話來電顯示系統(tǒng),即將常用聯(lián)系人的姓名和歸屬地等信息通過U盤導(dǎo)入,方便用戶預(yù)知來電者的身份。
一、系統(tǒng)方案設(shè)計(jì)
本設(shè)計(jì)以STC90C58AD單片機(jī)為控制器,將U盤中的電話薄信息通過單片機(jī)讀取到單片機(jī)內(nèi)部EEPROM中,來電信息由解碼芯片HT9032D與單片機(jī)通過串口中斷來獲取,并將獲得的來電信息與EEPROM中的信息進(jìn)行比較,最終將比較得到的有效信息在LCD上顯示[5-6]。整個(gè)系統(tǒng)由5個(gè)模塊組成,分別是來電解碼部分、主控單元部分、來電顯示部分、USB接口部分和U盤存儲信息部分,具體如圖1所示。
二、硬件電路設(shè)計(jì)
本系統(tǒng)的硬件設(shè)計(jì)主要包括單片機(jī)與解碼芯片HT9032D通信的設(shè)計(jì)、單片機(jī)對U盤信息讀取的設(shè)計(jì)以及單片機(jī)與LCD通信的設(shè)計(jì)等三大部分。
2.1 單片機(jī)與HT9032D通信電路設(shè)計(jì)
本設(shè)計(jì)部分主要實(shí)現(xiàn)單片機(jī)對來電信息的讀取,將解碼芯片HT9032D通過電話接口電路與單片機(jī)連接,采用異步串行通信的方式,將HT9032D芯片的DOUT端與單片機(jī)的RXD端連接,用作兩者之間的數(shù)據(jù)串行傳輸通道,最終通過軟件編程來實(shí)現(xiàn)解碼,HT9032D芯片的外圍電路以及與單片機(jī)連接的引腳[7]如圖2。
2.2 單片機(jī)讀U盤硬件電路設(shè)計(jì)
本系統(tǒng)主要實(shí)現(xiàn)單片機(jī)對存儲在U盤中的電話薄信息讀取,采用并口方式通信,將CH375B芯片的地址線輸入端A0、片選控制輸入端CS#、中斷請求輸出端INT#、寫選通輸入端WR#和讀選通輸入端RD#分別與單片機(jī)的P2.0、P2.1、P3.5、P3.6、P3.7管腳相連;將CH375B的數(shù)據(jù)端口D0~D7分別與單片機(jī)P0口的每一位相連,最終通過單片機(jī)C語言編程將U盤中的信息保存在單片機(jī)內(nèi)部EEPROM中,若需要更新電話薄信息,則將U盤中的TXT文件更改,將新信息讀取到單片機(jī)的EEPROM中,硬件電路設(shè)計(jì)[8]如圖3。
2.3 單片機(jī)與LCD通信的電路設(shè)計(jì)
這部分設(shè)計(jì)主要是將獲得的來電信息與單片機(jī)從U盤中的讀取的信息進(jìn)行匹配,最終將比較得到的有效信息在LCD上顯示。本文采用的液晶顯示器是帶有漢字庫的LCD12232,方便對姓名和歸屬地的顯示,其引腳連接[9]如下圖4所示。
三、軟件設(shè)計(jì)
3.1 設(shè)計(jì)思路
設(shè)計(jì)思路是在U盤中存放常用聯(lián)系人的固定電話號碼、區(qū)號和地名;常用聯(lián)系人的手機(jī)號碼、地名等信息,每一個(gè)電話號碼與其區(qū)號或地名是一一對應(yīng)的,采用TXT文件格式存儲,每一個(gè)完整的信息都換行保存。本系統(tǒng)首先利用單片機(jī)將U盤中存放的TXT文件讀取出來存放到單片機(jī)內(nèi)部EEPROM中,當(dāng)檢測到某電話有振鈴信號和載波信號后,HT9032D解碼芯片將主叫識別信息通過串口傳遞到單片機(jī)中,經(jīng)單片機(jī)進(jìn)行分析與處理后,將其與EEPROM中的數(shù)據(jù)進(jìn)行對照,通過查找字符串的方法進(jìn)行匹配,如果找到匹配的數(shù)據(jù)則把后邊需要的字符串輸出到LCD上[10]。
3.1.1 固定電話號碼顯示的軟件實(shí)現(xiàn)方法
(1)對于常用聯(lián)系人的顯示:被解碼芯片HT9032D解調(diào)出來的主叫識別信息中包括時(shí)間、日期以及來電號碼,其中來電號碼中包括區(qū)號和固定電話號碼兩部分,所以我們可以根據(jù)來電區(qū)號和號碼與庫中的電話信息進(jìn)行比較,找到匹配的數(shù)據(jù)后就可以將后邊對應(yīng)的姓名和歸屬地在LCD上顯示出來;
(2)對于陌生號碼的顯示:由于單片機(jī)內(nèi)存的限制,我們不可能把全國的電話號碼都存進(jìn)去,所以對陌生號碼只能顯示歸屬地,所采取的方法是將來電信息的前幾位區(qū)號分離出來與庫中的區(qū)號進(jìn)行比較,直到匹配后在LCD上輸出區(qū)號所對應(yīng)的地名。
3.1.2 手機(jī)號碼顯示的軟件實(shí)現(xiàn)方法
(1)對于常用聯(lián)系人的顯示:基本思想和固定電話常用聯(lián)系人的顯示方法相同,不同的是手機(jī)號碼的主叫識別信息中只有手機(jī)號碼,我們直接將來電手機(jī)號碼與庫中存的手機(jī)號碼進(jìn)行比較,找到匹配的手機(jī)號碼之后將其對應(yīng)的主叫姓名和歸屬地在LCD上顯示出來;
(2)對于陌生人的手機(jī)號碼顯示:由于手機(jī)用戶主叫識別的信息中只有手機(jī)號碼,所以我們沒有辦法采用上述方法對其進(jìn)行顯示,本文采取的辦法是根據(jù)全國手機(jī)號碼的分配方法對其進(jìn)行顯示,我國手機(jī)號碼歸屬地城市名稱和區(qū)號是一一對應(yīng)的,手機(jī)號碼的分配是以號碼前7位為單位的,這樣手機(jī)號碼的前七位就可以找到歸屬地,下面舉例說明手機(jī)號碼前七位的分配:如131開頭的手機(jī)號碼,1310010—1310190號碼段歸屬地為區(qū)號為010的城市北京。
3.2 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件由主程序、外部中斷0程序、串口中斷程序三部分組成。
主程序流程:首先初始化LCD、HT9032D、CH375B等芯片,設(shè)置串口通信的波特率和定時(shí)器初值等,然后開總中斷和外部中斷0,調(diào)用各個(gè)子程序,最終將比較得到的有效數(shù)據(jù)在LCD上顯示。
外部中斷0程序流程:當(dāng)有外部設(shè)備U盤連接時(shí),便觸發(fā)外部中斷0服務(wù)程序,查詢FAT文件系統(tǒng),打開指定的TXT文件,并以扇區(qū)方式進(jìn)行讀數(shù)據(jù)文件。
串口中斷程序流程:當(dāng)有振鈴信號和載波信號時(shí),單片機(jī)將接收到的有效來電數(shù)據(jù)存入緩存器SUBF中,并與單片機(jī)內(nèi)部EEPROM中的數(shù)據(jù)信息進(jìn)行匹配,若找到相符合的信息則輸出其相應(yīng)的信息(姓名和歸屬地等)。
四、實(shí)驗(yàn)驗(yàn)證
為了驗(yàn)證系統(tǒng)的可行性,采用串口調(diào)試精靈軟件,對單片機(jī)與HT9032D通信數(shù)據(jù)和單片機(jī)讀U盤的數(shù)據(jù)進(jìn)行了測試試驗(yàn),將顯示在界面上的信息與已知信息比較,以此驗(yàn)證其可行性和真實(shí)性。
4.1單片機(jī)與HT9032D通信數(shù)據(jù)測試
該部分主要對固定電話撥打固定電話和手機(jī)撥打固定電話的來電數(shù)據(jù)進(jìn)行了測試,分別如圖5和圖6。
測試得到的數(shù)據(jù)用十六進(jìn)制顯示,其十六進(jìn)制數(shù)據(jù)所對應(yīng)的字符數(shù)據(jù)分析如下:
圖5橢圓中的兩位數(shù)據(jù)分別代表來電的格式(單數(shù)據(jù)消息格式)和來電數(shù)據(jù)長度(轉(zhuǎn)化為十進(jìn)制是19),圓角矩形中的數(shù)據(jù)是主叫來電的8位時(shí)間和日期,即07月02日14時(shí)54分;矩形中的數(shù)據(jù)是主叫來電的手機(jī)號碼,即13709148274。
圖6橢圓中兩位數(shù)據(jù)分別代表來電的格式(單數(shù)據(jù)消息格式)和來電數(shù)據(jù)長度(轉(zhuǎn)化為十進(jìn)制是19),圓角矩形中的數(shù)據(jù)是8位時(shí)間和日期,即07月02日14時(shí)57分;矩形中的數(shù)據(jù)是主叫來電的區(qū)號和固定電話號碼,即0912+6669628。
4.2單片機(jī)讀U盤數(shù)據(jù)測試
本次試驗(yàn)是將U盤中的TXT文件數(shù)據(jù)讀取,通過串口調(diào)試精靈來驗(yàn)證電路和程序的正確性。第一次實(shí)驗(yàn)TXT文件中的電話號碼共有15個(gè),包括手機(jī)號碼相關(guān)信息10條,固定電話號碼相關(guān)信息5條,如圖7(b)所示;第二次實(shí)驗(yàn)TXT文件中在原有的信息基礎(chǔ)上增加了5條新的信息,主要來實(shí)現(xiàn)采用U盤更新電話薄的功能,即在第二次單片機(jī)讀寫U盤數(shù)據(jù)時(shí)將之前存儲在EEPROM 中的數(shù)據(jù)擦除之后再寫入新的數(shù)據(jù),增加數(shù)據(jù)信息后的數(shù)據(jù)測試如圖7(a),為了保護(hù)個(gè)人隱私,將圖7中號碼的部分?jǐn)?shù)字隱藏。
五、結(jié)束語
在原有固定電話來電顯示系統(tǒng)的基礎(chǔ)上,提出了一種采用U盤來更新電話薄信息,可顯示主叫方姓名和歸屬地的來電顯示系統(tǒng);選用U盤作為存儲介質(zhì)使得用戶能夠方便的存儲大容量的電話信息,并方便了信息更新;對其進(jìn)行了硬件設(shè)計(jì)和軟件設(shè)計(jì)以及實(shí)驗(yàn)數(shù)據(jù)測試,驗(yàn)證了方案的可行性和準(zhǔn)確性,該系統(tǒng)能夠方便用戶使用,并具有一定的防范來電詐騙功能。
參 考 文 獻(xiàn)
[1] 數(shù)據(jù)酷. 2014年1月-2015年10月我國固定電話用戶數(shù)統(tǒng)計(jì)[EB/OL]. http://www.qianzhan.com/qzdata/ detail/149 /15112 0-e6192662.html. 2015-11-20/2015-12-30.
[2]云新. 我國移動電話用戶規(guī)模突破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]丁曉,吳飛青,李林功.新型智能來電顯示系統(tǒng)設(shè)計(jì)[J], 實(shí)驗(yàn)科學(xué)與技術(shù),2009,7(6):15-17,35.
[5]Hack Kim, Plano, TX.Intelligent telephone set[R]. 2007.
[6]劉虎,章慧.一種基于來電顯示的智能控制模塊設(shè)計(jì)[J],微計(jì)算機(jī)信息,2008,24(26):59-60,156.
[7]竺偉華.HT9032在自動電話抄表系統(tǒng)的應(yīng)用[J],中國高新技術(shù)企業(yè),2007,(10):112.
[8]王軍,程利民.基于CH375的數(shù)控機(jī)床U盤接口系統(tǒng)[J], 組合機(jī)床與自動化加工技術(shù),2008,(1):51-52,56.
[9]楊燕,張新麗.液晶顯示模塊12232的使用[J],儀表技術(shù), 2011,(5):66-67,70.
[10]Lionel P Barrero, Annoeullin. Caller identification protocol for Provisioning a device[R].2006.