新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 基于C8051F023單片機的OLED顯示實現方案

        基于C8051F023單片機的OLED顯示實現方案

        作者: 時間:2010-11-17 來源:網絡 收藏

          2 語音數據存儲與播放電路

          電話通知信息主要由電話號碼數據和語音信息編碼數據構成。其中,電話號碼數據為ASCII碼,信息量不多;語音信息編碼數據則使用PCM編碼格式,也可以使用其他的壓縮編碼形式。如果使用壓縮編碼,程序還要設計相應的解碼程序,會加重的執行負擔,因此建議使用PCM編碼格式。

        離線電話自動通知裝置結構框圖


        圖2 語音數據存儲與播放電路

          語音數據存儲與播放電路如圖2所示。針對電話系統的語音質量要求不高的特點[2],本文使用了8位的量化位數和8 kHz的采樣頻率,因此其數據量不大,2分鐘的語音數據量為1×8000×120=960000 B,再加上電話號碼信息所用的1 MB閃存,系統使用16 Mb(2 MB)的閃存就能夠很好地滿足電話通知的要求。這里采用SPI接口的閃存芯片W25X16 [3],由于AT89S52沒有SPI接口,所以使用P1口,通過軟件方式來模擬SPI口實現與W25X16的通信。

          MCU將閃存W25X16中的語音數據通過P1口線讀出后,以8000 Hz的頻率通過P0口發送給D/A轉換器DAC0832,進行語音還原輸出;模擬語音經過放大器LM393AH進行電流電壓轉換后,送至語音信號耦合電路輸入線TONE,將語音信號耦合到電話線路上,從而實現電話通知的語音播放。

          3 DTMF信號生成與呼叫及狀態檢測電路

          DTMF信號生成與呼叫及狀態檢測電路如圖3所示。上位機將要撥打的電話號碼和需要播報的電話語音通過串口發送給MCU,并存儲到Flash芯片W25X16中后,MCU將啟動電話自動通知過程。從W25X16中讀取要撥打的電話號碼,系統置P3.4為高電平,進行模擬摘機。當系統通過P3.7檢測到摘機狀態有效后,將每位電話號碼數據的BCD碼送至MT8888的D0~D3數據線,同時使WR和CS信號有效,即可寫入MT8888的DTMF編碼電路。MT8888根據MCU連續寫入的BCD碼,通過TONE引腳連續發出相應的DTMF信號,再經由Q1、Q2構成的語音信號耦合電路[4]將音頻信號耦合到電話線上,從而發送給程控交換機實現軟件撥號。

        DTMF信號生成與呼叫及狀態檢測電路


        圖3 DTMF信號生成與呼叫及狀態檢測電路

          撥號完成后,MCU設置MT8888工作在呼叫監聽模式,進行呼叫狀態監聽。MT8888通過2引腳檢測電話線上傳輸信號,MCU通過讀取MT8888的IRQ/CP引腳輸出的脈沖頻率和脈沖個數即可分析出呼叫狀態。若線路上傳輸的是450 Hz的音頻信號,而且是持續1 s后4 s無的循環信號,則為回鈴音信號,即處于振鈴狀態;如果線路上傳輸的是450 Hz的音頻信號,而且0.35 s通0.35 s斷的循環信號,則為忙音信號,即處于線路忙或掛機狀態。



        關鍵詞: 單片機 OLED

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 沁源县| 天津市| 龙里县| 贞丰县| 秦皇岛市| 得荣县| 宁城县| 永嘉县| 延津县| 内乡县| 永德县| 柳林县| 通州区| 康乐县| 杭锦旗| 屯门区| 南郑县| 隆安县| 屏南县| 林口县| 方正县| 延庆县| 娄底市| 徐汇区| 旬阳县| 嫩江县| 都兰县| 无为县| 庆城县| 渝北区| 霍林郭勒市| 长兴县| 丹巴县| 哈尔滨市| 呼图壁县| 青浦区| 宿州市| 沙洋县| 名山县| 宝鸡市| 筠连县|