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