新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > MSP430單片機(jī)與多功能電話留言系統(tǒng)設(shè)計(jì)

MSP430單片機(jī)與多功能電話留言系統(tǒng)設(shè)計(jì)

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

ISD4004工作于SPI串行接口。SPI協(xié)議是一個(gè)同步穿行數(shù)據(jù)傳輸協(xié)議,協(xié)議假定微控制器的SPI移位寄存器在SCLK的下降沿工作,因此對(duì)ISD4004而言,在時(shí)鐘上升沿鎖存MOSI引腳的數(shù)據(jù),下降沿到來時(shí)將數(shù)據(jù)送至MISO引腳。協(xié)議具體內(nèi)容如下:

所用串行數(shù)據(jù)傳輸開始于SS下降沿。

SS在傳輸期間必須保持為低電平,在兩條指令之間則保持為高電平。

數(shù)據(jù)在時(shí)鐘上升沿移入,在下降沿移出。

SS變低,輸入指令和地址后,ISD才能開始錄放操作。

指令格式為8位控制碼外加16位地址碼。

ISD的任何操作如果遇到EOM或OVF,則產(chǎn)生一個(gè)中斷,該終端狀態(tài)在下一個(gè)SPI周期開始時(shí)被清除。

使用讀指令使中斷狀態(tài)位移出ISD的MISO引腳時(shí),控制及地址數(shù)據(jù)也應(yīng)同步從MOSI端移入。

所有操作在運(yùn)行位(RUN)置1時(shí)開始,置零時(shí)結(jié)束。

所有指令都在SS端為上升沿開始運(yùn)行。

三、的電路

由于需要較多的端口,所以選擇F133作為主控制器。F133擁有6個(gè)8位的并行端口,且2個(gè)8位端口有中斷能力,同時(shí)它具有FLASH存儲(chǔ)器,方便開發(fā)和調(diào)試,而且便于擴(kuò)展,能滿足大多數(shù)有關(guān)微處理器開發(fā)和應(yīng)用。

的原理圖如圖二所示,其模擬部分基本上援用普通的電路(在此不作介紹)。它主要是由F133和ISD4004及其外圍設(shè)備和接口組成。主要電路有:鍵盤控制電路,LCD顯示電路,語(yǔ)音IC電路,放大電路和對(duì)模擬電話部分的控制電路。

3.gif
圖二 電話系統(tǒng)的電路框圖

鍵盤控制電路(圖三):我們采用4X4鍵盤,通過74922鍵盤掃描集成電路編碼,只要鍵盤編碼器 IC74922的第12腳(DA)為高電平,便是有按鍵按下,此時(shí)主控制器就可以讀取74922的14-17腳的按鍵值,此時(shí)程序就可以判斷哪個(gè)鍵按下,并對(duì)其進(jìn)行相應(yīng)的操作,只要按鍵持續(xù)進(jìn)行,第12腳(DA)就將持續(xù)為高電平,一直到按鍵放開,才為低電平。

LCD顯示電路:我們使用 16X2 兩行英文字形的LCD,要LCD顯示字型必須先設(shè)定LCD初值,同時(shí)控制LCD的三條控制線和8條數(shù)據(jù)線,三條控制線分別為暫存器選擇線(RS)、讀/寫控制線(R/W)和使能控制端(E)。LCD內(nèi)部有一塊存儲(chǔ)字型的ROM,里面存儲(chǔ)著192個(gè)5X7點(diǎn)陣型的字型,這些字型由存放在LCD內(nèi)部的DD RAM里的8位元碼(與ASCII碼相同)調(diào)出來顯示,所以我們只要輸入ASCII碼,它就可查出各個(gè)字形的顯示碼,它也可以由使用者自行顯示字型,LCD的使能端是高電平,可以直接接在主控制器上,也可以接在74LS139上(如果接多片語(yǔ)音芯片ISD4004,可以一起對(duì)使能端進(jìn)行編碼)。

語(yǔ)音IC ISD4004電路(圖四):它的控制腳有4個(gè),這就是所謂的SPI串行傳輸端口,分別為 /SS、SCLK、MOSI、MISO四個(gè)管腳,其中/SS是語(yǔ)音IC的使能管腳,它的使能是通過74LS139 2X4 解碼器的選擇來做多功能的使能控制,這樣就可以減少主控制器的端口使用,一片74LS139最多可以接4個(gè)端口的使能。因?yàn)樵撟g碼器的輸出為低電平,所以我們所接的都是低電平使能的引腳。要送數(shù)據(jù)給語(yǔ)音IC時(shí),/SS必須為低電平,而在每個(gè)指令傳輸完后,/SS必須要維持為高電平,當(dāng)/SS為低電平時(shí),才可以傳輸數(shù)據(jù),而SCLK是語(yǔ)音IC的工作時(shí)鐘,只要在上升沿之前,將數(shù)據(jù)送到MOSI上,上升沿到來后,數(shù)據(jù)就會(huì)被讀入語(yǔ)音IC內(nèi),因?yàn)檎Z(yǔ)音IC的控制方法是串行的方式,所以所送的數(shù)據(jù)都必須以單個(gè)比特的方式讀進(jìn)去。在錄音或放音時(shí),每經(jīng)過400ms,RAC腳都會(huì)產(chǎn)生一個(gè)低脈沖,因?yàn)檎Z(yǔ)音IC內(nèi)共有 2400個(gè)行,每個(gè)行錄音結(jié)束時(shí),就會(huì)輸出一個(gè)低脈沖,此引腳可用來判斷錄音路到哪里并用于位置的記錄控制,而/INT引腳則是在放音時(shí),用于放音結(jié)束與否的判斷,當(dāng)放音結(jié)束后,這個(gè)引腳就會(huì)輸出低電平,控制程序就可知放音已經(jīng)結(jié)束了。



評(píng)論


相關(guān)推薦

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

關(guān)閉