MSP430單片機與多功能電話留言系統(tǒng)設計
ISD4004工作于SPI串行接口。SPI協(xié)議是一個同步穿行數據傳輸協(xié)議,協(xié)議假定微控制器的SPI移位寄存器在SCLK的下降沿工作,因此對ISD4004而言,在時鐘上升沿鎖存MOSI引腳的數據,下降沿到來時將數據送至MISO引腳。協(xié)議具體內容如下:
所用串行數據傳輸開始于SS下降沿。
SS在傳輸期間必須保持為低電平,在兩條指令之間則保持為高電平。
數據在時鐘上升沿移入,在下降沿移出。
SS變低,輸入指令和地址后,ISD才能開始錄放操作。
指令格式為8位控制碼外加16位地址碼。
ISD的任何操作如果遇到EOM或OVF,則產生一個中斷,該終端狀態(tài)在下一個SPI周期開始時被清除。
使用讀指令使中斷狀態(tài)位移出ISD的MISO引腳時,控制及地址數據也應同步從MOSI端移入。
所有操作在運行位(RUN)置1時開始,置零時結束。
所有指令都在SS端為上升沿開始運行。
本系統(tǒng)由于需要較多的端口,所以選擇MSP430F133作為主控制器。MSP430F133擁有6個8位的并行端口,且2個8位端口有中斷能力,同時它具有FLASH存儲器,方便開發(fā)和調試,而且便于擴展,能滿足大多數有關微處理器開發(fā)和應用。
多功能電話系統(tǒng)的原理圖如圖二所示,其模擬部分基本上援用普通電話的電路(在此不作介紹)。它主要是由MSP430F133和ISD4004及其外圍設備和接口組成。主要電路有:鍵盤控制電路,LCD顯示電路,語音IC電路,放大電路和對模擬電話部分的控制電路。
圖二 多功能電話系統(tǒng)的電路框圖
鍵盤控制電路(圖三):我們采用4X4鍵盤,通過74922鍵盤掃描集成電路編碼,只要鍵盤編碼器 IC74922的第12腳(DA)為高電平,便是有按鍵按下,此時主控制器就可以讀取74922的14-17腳的按鍵值,此時程序就可以判斷哪個鍵按下,并對其進行相應的操作,只要按鍵持續(xù)進行,第12腳(DA)就將持續(xù)為高電平,一直到按鍵放開,才為低電平。
LCD顯示電路:我們使用 16X2 兩行英文字形的LCD,要LCD顯示字型必須先設定LCD初值,同時控制LCD的三條控制線和8條數據線,三條控制線分別為暫存器選擇線(RS)、讀/寫控制線(R/W)和使能控制端(E)。LCD內部有一塊存儲字型的ROM,里面存儲著192個5X7點陣型的字型,這些字型由存放在LCD內部的DD RAM里的8位元碼(與ASCII碼相同)調出來顯示,所以我們只要輸入ASCII碼,它就可查出各個字形的顯示碼,它也可以由使用者自行設計顯示字型,LCD的使能端是高電平,可以直接接在主控制器上,也可以接在74LS139上(如果接多片語音芯片ISD4004,可以一起對使能端進行編碼)。
語音IC ISD4004電路(圖四):它的控制腳有4個,這就是所謂的SPI串行傳輸端口,分別為 /SS、SCLK、MOSI、MISO四個管腳,其中/SS是語音IC的使能管腳,它的使能是通過74LS139 2X4 解碼器的選擇來做多功能的使能控制,這樣就可以減少主控制器的端口使用,一片74LS139最多可以接4個端口的使能。因為該譯碼器的輸出為低電平,所以我們所接的都是低電平使能的引腳。要送數據給語音IC時,/SS必須為低電平,而在每個指令傳輸完后,/SS必須要維持為高電平,當/SS為低電平時,才可以傳輸數據,而SCLK是語音IC的工作時鐘,只要在上升沿之前,將數據送到MOSI上,上升沿到來后,數據就會被讀入語音IC內,因為語音IC的控制方法是串行的方式,所以所送的數據都必須以單個比特的方式讀進去。在錄音或放音時,每經過400ms,RAC腳都會產生一個低脈沖,因為語音IC內共有 2400個行,每個行錄音結束時,就會輸出一個低脈沖,此引腳可用來判斷錄音路到哪里并用于位置的記錄控制,而/INT引腳則是在放音時,用于放音結束與否的判斷,當放音結束后,這個引腳就會輸出低電平,控制程序就可知放音已經結束了。
評論