新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的家用電話遠(yuǎn)程遙控裝置設(shè)計(jì)

基于單片機(jī)的家用電話遠(yuǎn)程遙控裝置設(shè)計(jì)

作者: 時(shí)間:2012-03-09 來源:網(wǎng)絡(luò) 收藏

d.jpg


語音芯片ISD1420可錄制20 s語音信號(hào),本中共錄制語音信號(hào):“請(qǐng)輸入密碼”、“密碼正確,請(qǐng)輸入功能健,按*鍵結(jié)束”、“密碼錯(cuò)誤,請(qǐng)重新輸入”、“電器已開”、“電器已關(guān)閉”。

2 系統(tǒng)軟件
系統(tǒng)軟件主要由鈴流檢測、MT8870解碼、語音錄放、讀寫EEPROM、看門狗設(shè)置、密碼修改、密碼驗(yàn)證、電器開關(guān)控制等組成。系統(tǒng)的工作流程如圖5所示。控制過程中,系統(tǒng)上電復(fù)位后,CPU根據(jù)外圍雙音頻譯碼電路的譯碼信息判斷出要選擇的電器,然后再得到要求進(jìn)行的操作,并將I/O的口相應(yīng)位置0或置1,即可按要求實(shí)現(xiàn)對(duì)相應(yīng)電器的控制。

e.jpg


(1)鈴流檢測模塊。由于整個(gè)電路無需中斷處理一些特殊的任務(wù),所以軟件采用順序結(jié)構(gòu)。鈴流檢測實(shí)質(zhì)是TIMER1對(duì)外部方波的計(jì)數(shù)。
(2)MT8870解碼模塊。DTMF發(fā)送與接收器MT8870未檢測到網(wǎng)上的雙音多頻信號(hào)時(shí),將的外部中斷口拉低,當(dāng)檢測到雙音多頻信號(hào)并成功解碼輸出時(shí)會(huì)置高P3.2。因此程序可通過檢測P3.2口電平的高低來判斷是否有雙音多頻信號(hào)送往MT8870,一旦P3.2口電平置高,讀取P1口低4位數(shù)據(jù)并存儲(chǔ)。
(3)語音模塊。ISD1420語音芯片錄放音只需將相應(yīng)的錄放音管腳拉低,送入相應(yīng)的語音地址,即可完成錄放音功能。錄音時(shí),先送P2口起始地址為0x90+Address,接著拉低錄音管腳。錄音完,再不斷播放錄音,尋找此段錄音結(jié)束時(shí)的地址,以確定下一段錄音的起始地址。
(4)EEPROM及看門狗功能模塊。單片機(jī)通過SPI串行總線向25045寫入指令、數(shù)據(jù)。25045在讀寫操作之前,需要先向它發(fā)出指令。25045芯片內(nèi)包含有一個(gè)看門狗定時(shí)器,可通過軟件預(yù)置系統(tǒng)的監(jiān)控時(shí)間。在看門狗定時(shí)器預(yù)置的時(shí)間內(nèi)若沒有總線活動(dòng),則25045將從RESET輸出一個(gè)高電平信號(hào)使CPU復(fù)位。看門狗定時(shí)器的預(yù)置時(shí)間是通過25045的狀態(tài)寄存器的相應(yīng)位來設(shè)定的。
(5)密碼修改和驗(yàn)證模塊。密碼修改程序需注意按鍵的消抖動(dòng)、密碼修改結(jié)束的確定、密碼的存儲(chǔ)。程序中使用第8個(gè)按鍵作為密碼修改結(jié)束的結(jié)束符。一旦第8個(gè)按鍵按下就結(jié)束密碼修改,將最終的密碼存儲(chǔ)到EEPROM中。密碼驗(yàn)證比較容易,就是中輸入的密碼和EEPROM中的密碼進(jìn)行逐個(gè)比較,如有一個(gè)不同就認(rèn)為輸入的密碼有誤,返回一個(gè)“0”。程序中對(duì)EEPROM進(jìn)行了兩次讀操作,以防第一次讀出數(shù)據(jù)有誤。
(6)電器開關(guān)控制模塊。電器開關(guān)控制模塊通過MT8870解碼數(shù)據(jù)對(duì)8路電器進(jìn)行控制。該模塊程序一定程度上是MT8870模塊和放音模塊程序的疊加,另外加上簡單的P3口輸出操作。

3 結(jié)束語
系統(tǒng)借助家庭固定網(wǎng)絡(luò)傳送控制命令信號(hào),由單片機(jī)系統(tǒng)進(jìn)行命令分析,由繼電器控制電器,無需對(duì)固定電話或家電做太大改動(dòng),安裝方便、性能穩(wěn)定、工作可靠,而且不影響電話的正常使用。


上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉