一種基于MSP43O單片機的日程管理系統(tǒng)
考慮到管理系統(tǒng)應(yīng)用的廣泛性,系統(tǒng)增加擴展部件,利用繼電器組實現(xiàn)一些對大功率器件的控制功能。繼電器的一端是弱電,一端是強電,因此我們采用了光電隔離控制的方法,從而有效地控制大功率輸出部件對系統(tǒng)的干擾。本文引用地址:http://www.ex-cimer.com/article/173709.htm
2 系統(tǒng)的技術(shù)實現(xiàn)
主控模塊對繼電器和按鍵的控制是用I/O口直接控制的。同時預(yù)留了大量外部接口,這主要用于將來升級。主控部分采用了大量的分支跳轉(zhuǎn)表,對鍵盤輸入的值根據(jù)不同的環(huán)境,選擇相對應(yīng)的程序進(jìn)行響應(yīng)。因此整個系統(tǒng)僅僅使用了5個按鍵就可以實現(xiàn)所有的功能,其它鍵作為快捷控制鍵和特殊功能鍵。
該主控部分的單片機通過I2C通信協(xié)議對SD2003時鐘芯片進(jìn)行控制,調(diào)用SD2003的時鐘,從而實現(xiàn)定時響應(yīng);而液晶顯示模塊是用并行通訊方式進(jìn)行控制的,AO高時為指令,低時為數(shù)據(jù)。
它與ISD4004語音片采用SPI同步通信協(xié)議,對4004語音芯片控制,以下是SPI協(xié)議的控制時序,SPI協(xié)議由三根線構(gòu)成,MISO信號輸入,MOSI信號輸出,UCLK時鐘線組成,其通訊方式如圖2所示。
SPI協(xié)議是一個同步串行數(shù)據(jù)傳輸協(xié)議,協(xié)議假定微控制器的SPI移位寄存器在SCLK的下降沿動作,因此對ISD4004而言,在時鐘上升沿鎖存MOSI引腳的數(shù)據(jù),在下降沿將數(shù)據(jù)送至MISO引腳。從時序圖可以看出,SPI協(xié)議的實現(xiàn)比較容易,MSP430Fll49單片機利用其內(nèi)部定時器,采用3個I/O口,用軟件可實現(xiàn)SPI協(xié)議。
由于放音及錄音有很多種,因此,我們必須找到一種良好的算法來進(jìn)行這項工作,因此,我們采用了通過基于信息地址表(以下簡稱MAT)的管理方式對錄音片進(jìn)行操作,真正實現(xiàn)了可對任意段進(jìn)行刪除、重錄、添加任意時間長度的錄音的功能。
ISD4004有能力讀回每次錄音結(jié)束時的內(nèi)部信息指針,據(jù)此建立一個簡單的MAT表,將每條信息的位置存入另外的不揮發(fā)性數(shù)字存儲器中。這樣,可按需要重放任一條指定信息。MAT表是信息管理體系的一個重要組成部分,它跟蹤每一條信息的開始地址以及每一個信息碎塊的開始和結(jié)束地址。
在本應(yīng)用中,錄音部分MAT表的建立是這樣的:通常,尋址ISD4004需要12位地址,加上片選4片4004,則需要14位地址,假設(shè)將最低5位地址恒為O,只需9位地址就可以尋址300個存貯塊中的任意一塊,每塊長度為6.4秒。此例中,MAT表占用600字節(jié)的存貯空間,每個字對應(yīng)著ISD4004的一個存儲塊。隨著錄音和刪除反復(fù)進(jìn)行,具體對應(yīng)關(guān)系也許會改變。下面說明工作原理。
MAT表中的一個表項的數(shù)值或者表示該項與ISD的存儲塊尚無關(guān)聯(lián),或者表示ISD某個存儲塊的狀態(tài)。第15位(最高位)有特殊作用:置l表示對應(yīng)的存儲塊是某條信息的起始塊。其余各位就是存儲塊的地址。級聯(lián)時,MAT中BITl2、BITl3是用來指示哪一片器件。這樣,表項有四種可能值:
(1)表項值為全O:表示該項與1SD的存儲塊尚無關(guān)聯(lián)。
(2)表項值的Bit15為l:表示對應(yīng)的存儲塊是某段信息的起始塊。
(3)表項值的Bitl5為O,其余各位是有效地址:表示對應(yīng)的存儲塊是某條信息的其中一塊,但不是起始塊。
(4)第2種情況的特例:我們約定,1SD的第一個存儲塊總是某條信息的起始塊,因此對應(yīng)表項值為(1000 0000…)。
錄入若干段信息后,隨著ISD4004空間的使用,MAT表自頂向下逐漸建立起相應(yīng)表項。每使用了一個存儲塊就建立一字節(jié)的MAT表項。MAT表的特點是:①對應(yīng)于同一條信息的所有表項在MAT中總是連續(xù)放置的。②對于由若干個MAT表項組成的一條信息,它的各個存儲塊的地址值總是從小到大,但不一定緊緊相連。
評論