機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
單片機(jī)來電顯示器的設(shè)計(jì)與實(shí)現(xiàn)
單片機(jī)來電顯示器的設(shè)計(jì)與實(shí)現(xiàn)
 更新時間:2009-12-30 16:24:38  點(diǎn)擊數(shù):0
【字體: 字體顏色

摘要: 介紹一種利用單片機(jī)AT89C52接收并顯示電話主叫號碼的來電顯示器。該顯示器在被叫掛機(jī)狀態(tài)下接收以頻移鍵控(FSK)方式傳送的主叫識別信息,可顯示主叫電話號碼、呼叫日期、時間等信息,并可存儲多達(dá)120條的主叫號碼信息。用戶使用上、下翻轉(zhuǎn)鍵及刪除鍵可方便地查閱或刪除來電信息。

    關(guān)鍵詞: 來電顯示 單片機(jī) AT89C52 FSK MC145447

引言

主叫識別信息傳送CID(Calling Identity Delivery)是向被用戶電話提供的一種服務(wù)業(yè)務(wù)。其方法是發(fā)端交換機(jī)將主叫號碼等信息傳送給終端交換機(jī),終端交換機(jī)再將信息傳送給被叫用戶終端,如圖1所示。

    主叫號碼信息常采用頻移鍵控(FSK)方式,在被叫掛機(jī)(On_Hook)或摘機(jī)通信狀態(tài)下傳送。掛機(jī)狀態(tài)下傳送方法是終端交換機(jī)將主叫信息在第一次振鈴和第二次振鈴期間傳給被叫用戶。對此已有相應(yīng)的協(xié)議標(biāo)準(zhǔn),例如:Bell 202、CCITT V.23 1200波特率FSK數(shù)據(jù)傳輸標(biāo)準(zhǔn)。主叫信息傳送的數(shù)據(jù)格式有2種:單數(shù)據(jù)消息格式(Single Data Message Format)和復(fù)合數(shù)據(jù)消息格式(Multple Data Message Format)。本文介紹的主叫號碼顯示器采用前者。掛機(jī)狀態(tài)下接收的單消息幀格式如圖2所示。

圖2中:①信道占用信號由1組300個連續(xù)的“0”和“1”交替的位組成,其第一個比特“0”最后一個比特為“1”。②標(biāo)志信號由80個標(biāo)志位組成。③標(biāo)志位由0~10個邏輯“1”組成。④對于消息類型、消息長度、消息字、校驗(yàn)字這些數(shù)據(jù)字,每個數(shù)據(jù)字之前加1位“0”作為起始位,數(shù)據(jù)字之后加1位“1”作為結(jié)束位(即每個字占10個比特)。數(shù)據(jù)傳送時信道占用信號首先發(fā)送,每個數(shù)據(jù)字中低位在前發(fā)送。

1 硬件設(shè)計(jì)實(shí)現(xiàn)

主叫號碼顯示器選用的是Amotrola公司的MC145447芯片作為主叫識別信息解調(diào)器件, 單片機(jī)選用AT89C52。整個電路的原理框圖如圖3所示。

CM145447滿足Bell 202、CCITT V.23 1200波特率FSK數(shù)據(jù)傳輸標(biāo)準(zhǔn),其內(nèi)部含有鈴流檢測電路,鈴流檢測輸出信號(低電平脈沖)接到MCU復(fù)位引腳“RST”上。MC145447把邏輯“1”=1200±12Hz、邏輯“0”=2200±22Hz、傳輸速率為1200bps的FSK信號解調(diào)成串行異步二進(jìn)制數(shù)據(jù)并輸入至MCU的串行接收口。外部EEPROM用于存儲多達(dá)120條的主叫識別信息。液晶顯示模塊LCD用來顯示主叫號碼、日期、時間等信息。按鍵有3個:“DEL”、上“UP”、下“DOWN”分別用于刪除、 查閱主叫信息。

MCU工作在掉電、空閑、正常運(yùn)行3種狀態(tài)。平時MCU工作在掉電“power down”狀態(tài),功耗很低。第1次鈴流信號到來時,MC145447中的鈴流檢測電路對MCU輸出1個低電平復(fù)位脈沖,該復(fù)位脈沖MCU從掉電狀態(tài)進(jìn)入正常工作狀態(tài)。第1次振鈴和第2次振鈴期間,MC145447解調(diào)出的二進(jìn)制數(shù)據(jù)送入MCU的串行接收口。MCU接收和存儲主叫信息數(shù)據(jù)并在液晶顯示模塊(LCD)上顯示,然后MCU進(jìn)入空閑狀態(tài)。MCU進(jìn)入空閑狀態(tài)1min后,若無按鍵按下則進(jìn)入掉電狀態(tài),此時,LCD上將顯示新呼叫(即用戶沒有查閱過的呼叫)的總個數(shù)。

2 軟件設(shè)計(jì)實(shí)現(xiàn)

主叫號碼顯示器軟件使用匯編語言編寫,配合硬件完成主叫信息接收、查閱及刪除功能。匯編語言程序主要由主程序、串行中斷處理程序、定時器中斷處理程序組成。

上電時,MCU進(jìn)入主程序中運(yùn)行對串口寄存器設(shè)置接收波特率等參數(shù),液晶顯示模塊LCD初始化并顯示新呼叫總個數(shù),以0.2s的定時長度設(shè)置定時器參數(shù),對有關(guān)程序變量初始化,然后進(jìn)入掉電狀態(tài)。主程序框圖如圖4所示。

圖5是串行口中斷接收處理程序。串行口中斷到來時,MCU將收的串行數(shù)據(jù)暫存在內(nèi)部RAM中。若收到的信息有誤碼,則在LCD上顯示“ERROR”; 若交換機(jī)發(fā)來的信息格式為“日期+時間+P+..”,則在LCD上顯示“PRIVATE”,表示主叫用戶要求本次呼叫不向被叫用戶傳送其號碼;若交換機(jī)發(fā)來的信息格式為“日期+時間+O+..”,LCD上將顯示“OUT OF AREA”,表示主叫用戶的本次呼叫超出來電顯示服務(wù)范圍。

若接收的主叫信息正常,則按接收的先后順序依次存儲于EEPROM中。當(dāng)主叫識別信息有重復(fù)時,最新呼叫將覆蓋前次呼叫;當(dāng)存儲空間全部存滿后,按“先進(jìn)先出”的原則自動刪除最先存儲的主叫信息。

    圖6是定時器中斷處理程序,實(shí)現(xiàn)來電顯示器按鍵處理功能,定時長度為0.2s。定時器斷到來時,首先檢查是否有按鍵按下。當(dāng)有按鍵按下時,MCU由掉電狀態(tài)恢復(fù)到空閑狀態(tài)。若在1.5s內(nèi)按2次“DEL”鍵,則從EEPROM中刪除LCD當(dāng)前顯示的信息;若連續(xù)按“DEL”鍵超過6s,則刪除EEPROM中所有存儲信息。按“UP”鍵則把一次接收的主叫信息從EEPROM中調(diào)出并顯示。按“DOWN”鍵則把下一次接收的主叫信息從EEPROM中調(diào)出并顯示。

結(jié)束語

來電顯示功能目前已獲得普遍使用。本文介紹的來電顯示器在進(jìn)行軟、硬設(shè)計(jì)時充分利用MCU的3種工作狀態(tài),盡可能地降低了功耗;配以EEPROM作為存儲器件,使得該產(chǎn)品與同類產(chǎn)品相比使用期限有較大的增加(采用電池供電時)。

 

  • 上一篇: 一種紅外感應(yīng)泵液器的單片機(jī)應(yīng)用設(shè)計(jì)
  • 下一篇: 沒有了
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1