国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

解釋型單片機(jī)應(yīng)用程序的研究*

2010-10-23 02:43陸宇霆臧珠萍歐陽(yáng)文斌曾培峰
關(guān)鍵詞:腳本頁(yè)面按鈕

陸宇霆,臧珠萍,歐陽(yáng)文斌,曾培峰

(東華大學(xué)a.計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院;b.信息科學(xué)與技術(shù)學(xué)院,上海 201620)

解釋型單片機(jī)應(yīng)用程序的研究*

陸宇霆a,臧珠萍a,歐陽(yáng)文斌b,曾培峰a

(東華大學(xué)a.計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院;b.信息科學(xué)與技術(shù)學(xué)院,上海 201620)

采用配置文件定義系統(tǒng)處理和功能,提出一個(gè)組態(tài)簡(jiǎn)單、易于功能調(diào)整和系統(tǒng)升級(jí)的解釋型單片機(jī)系統(tǒng).按照業(yè)務(wù)邏輯編寫(xiě)的腳本文件以XML格式存儲(chǔ)于SD(Secure Digital)卡中,腳本程序被單片機(jī)讀入內(nèi)存后,經(jīng)解釋器解釋,調(diào)用系統(tǒng)軟件中相應(yīng)API(App lication Program Interface)函數(shù),執(zhí)行指定功能.建立在硬件層和系統(tǒng)軟件層之上的單片機(jī)解釋系統(tǒng),對(duì)業(yè)務(wù)邏輯的編寫(xiě)、更改和實(shí)現(xiàn)更為方便.

腳本;解釋型;應(yīng)用程序;單片機(jī);XML

傳統(tǒng)的單片機(jī)應(yīng)用軟件主要為編譯型,具有執(zhí)行效率高、運(yùn)行速度快的特點(diǎn),但是編程人員需具備較強(qiáng)的編程知識(shí)和業(yè)務(wù)知識(shí),程序的編寫(xiě)、編譯、調(diào)試和下載是一個(gè)相對(duì)比較復(fù)雜的過(guò)程.

如果應(yīng)用軟件由腳本語(yǔ)言編寫(xiě),通過(guò)解釋器逐行讀取、逐行解釋執(zhí)行,雖然相對(duì)于編譯型軟件運(yùn)行速度較慢,但是腳本程序直觀易懂、結(jié)構(gòu)簡(jiǎn)單,與單片機(jī)系統(tǒng)的底層硬件無(wú)關(guān),在不同的平臺(tái)上只要有相應(yīng)的解釋器支持就可以實(shí)現(xiàn)相同功能,大大增強(qiáng)了應(yīng)用軟件的平臺(tái)無(wú)關(guān)性和可移植性,因而在對(duì)運(yùn)行速度要求不高的系統(tǒng)中有一定的應(yīng)用價(jià)值.

近年來(lái)單片機(jī)技術(shù)發(fā)展迅速,運(yùn)算速度和內(nèi)存空間不斷提升,這使得解釋型應(yīng)用軟件在單片機(jī)應(yīng)用中有了用武之地.新型的單片機(jī)測(cè)控裝置具有可裁剪的微型腳本語(yǔ)言解釋器,使其可以運(yùn)行簡(jiǎn)單的腳本語(yǔ)言,提高了單片機(jī)的使用靈活性、可擴(kuò)展性和自動(dòng)化程度[1].文獻(xiàn)[2]給出了基于嵌入式操作系統(tǒng)瀏覽器的JavaScrip t語(yǔ)言解釋器的設(shè)計(jì)與實(shí)現(xiàn)方法,提出并實(shí)現(xiàn)了一種擴(kuò)展的算符優(yōu)先算法.在單片機(jī)中使用解釋語(yǔ)言編寫(xiě)程序的結(jié)構(gòu),即將系統(tǒng)內(nèi)對(duì)輸入、輸出部件的控制及其他所需動(dòng)作,用相應(yīng)的“指令代碼”表示,主體程序?qū)Υa進(jìn)行“解釋”,并執(zhí)行相應(yīng)的動(dòng)作[3].文獻(xiàn)[4]采用xml描述業(yè)務(wù)邏輯,并實(shí)現(xiàn)基于xml腳本的業(yè)務(wù)解釋器.

單片機(jī)控制系統(tǒng)中的軟件按功能分為操作控制模塊、文件讀取與存儲(chǔ)模塊、通信模塊、系統(tǒng)自檢模塊[5].在設(shè)計(jì)操作控制模塊中的人機(jī)交互圖形界面時(shí),通常采用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,對(duì)顯示的圖形在功能上進(jìn)行自頂向下、逐步細(xì)化的模塊劃分[6];具體實(shí)現(xiàn)時(shí),采用液晶顯示屏顯示系統(tǒng)的工作狀態(tài),設(shè)置按鈕并實(shí)現(xiàn)相關(guān)邏輯判斷,提供檢測(cè)、顯示和按鍵控制的方法[7-8].文獻(xiàn)[9]提供 SD卡(Secure Digital Memory Card)以及 C8051F020芯片中SPI接口(Serial Peripheral Interface)的結(jié)構(gòu)和工作原理,擴(kuò)展了單片機(jī)存儲(chǔ)的方式.

目前單片機(jī)系統(tǒng)中模塊豐富且技術(shù)成熟,系統(tǒng)結(jié)構(gòu)多以編譯型為主,采用解釋型的很少.基于單片機(jī)技術(shù)的發(fā)展、解釋型程序的優(yōu)點(diǎn)以及XML技術(shù)的應(yīng)用,本文提出一種解釋型單片機(jī)系統(tǒng)的實(shí)現(xiàn)方法,討論系統(tǒng)的結(jié)構(gòu)、腳本文件的設(shè)計(jì)和提高系統(tǒng)速度的方法.

1 系統(tǒng)結(jié)構(gòu)

系統(tǒng)由3個(gè)層次4個(gè)部分組成,如圖1所示,分別為腳本文件、解釋器、系統(tǒng)軟件和相關(guān)硬件.用戶根據(jù)所需業(yè)務(wù)邏輯通過(guò)PC機(jī)編寫(xiě)XML格式的腳本文件,腳本文件存儲(chǔ)在基于 FA T文件系統(tǒng)的SD卡中,單片機(jī)以SPI模式讀寫(xiě)SD卡中的腳本文件,腳本文件經(jīng)過(guò)解釋器解釋,調(diào)用系統(tǒng)軟件中相應(yīng)的應(yīng)用程序接口(Application Program Interface,API)函數(shù),進(jìn)行運(yùn)算并驅(qū)動(dòng)控制系統(tǒng)硬件.

圖1 系統(tǒng)結(jié)構(gòu)Fig.1 System architecture

系統(tǒng)軟件提供實(shí)時(shí)監(jiān)控程序、相關(guān)硬件的驅(qū)動(dòng)程序以及通用的API函數(shù).系統(tǒng)的硬件可以根據(jù)用戶的需求進(jìn)行設(shè)計(jì),基本配置為單片機(jī)、液晶顯示模塊、SD卡讀寫(xiě)模塊和輸入輸出模塊.

1.1 腳本文件

腳本文件編寫(xiě)包括確定系統(tǒng)需要的業(yè)務(wù)邏輯、人機(jī)交互界面相關(guān)的數(shù)據(jù),以實(shí)現(xiàn)系統(tǒng)要求完成的功能.腳本文件分為表達(dá)、處理和數(shù)據(jù)3個(gè)部分.

表達(dá)部分:將系統(tǒng)處理的數(shù)據(jù)以一定的格式顯示給用戶,為用戶提供良好的人機(jī)交互接口.

處理部分:各種信息和數(shù)據(jù)的處理邏輯,即系統(tǒng)的業(yè)務(wù)邏輯的描述.處理部分的調(diào)用基于消息響應(yīng)機(jī)制,即對(duì)系統(tǒng)的相應(yīng)消息進(jìn)行處理.

數(shù)據(jù)部分:為處理部分和表達(dá)部分提供相關(guān)數(shù)據(jù).根據(jù)數(shù)據(jù)的作用范圍,分為全局?jǐn)?shù)據(jù)與局部數(shù)據(jù)兩部分.

腳本文件對(duì)這3個(gè)部分分別建立模板,并根據(jù)模板生成對(duì)象.所有的對(duì)象可以通過(guò)屬性和內(nèi)容進(jìn)行描述,屬性和內(nèi)容的分配由文件的結(jié)構(gòu)決定.

對(duì)象屬性包括通用屬性和專用屬性.通用屬性的名稱(Name)屬性是對(duì)象間相互區(qū)別的唯一主鍵;類型(Type)屬性用于區(qū)分對(duì)象的種類.不同類型的對(duì)象,有其相應(yīng)的專用屬性描述,通過(guò)解釋器對(duì)其進(jìn)行相應(yīng)的處理.

1.2 解釋器

腳本解釋器是單片機(jī)系統(tǒng)軟件與腳本文件之間聯(lián)系的橋梁.腳本解釋器對(duì)腳本程序進(jìn)行順序讀取及解釋,根據(jù)解釋的內(nèi)容調(diào)用系統(tǒng)軟件中相應(yīng)的API函數(shù),進(jìn)行數(shù)據(jù)的處理以及對(duì)系統(tǒng)硬件的控制.

腳本解釋器的工作流程如圖2所示.系統(tǒng)基于事件驅(qū)動(dòng),首先讀入腳本,完成初始化后,系統(tǒng)監(jiān)控程序進(jìn)入循環(huán)掃描狀態(tài),等待事件觸發(fā).一旦有事件發(fā)生,即對(duì)相應(yīng)腳本進(jìn)行檢測(cè),決定是否對(duì)當(dāng)前事件進(jìn)行消息響應(yīng).

圖2 解釋器工作流程Fig.2 Interpreter operating process

2 腳本文件實(shí)現(xiàn)

系統(tǒng)的大量信息都通過(guò)人機(jī)交互界面與用戶交流,不同的顯示信息具有不同的顯示頁(yè)面,因此,腳本文件由多個(gè)頁(yè)面構(gòu)成.鑒于單片機(jī)系統(tǒng)資源的限制,將SD卡中的腳本文件以頁(yè)面為單位存儲(chǔ),每一個(gè)頁(yè)面獨(dú)立保存在一個(gè)文件中,其優(yōu)點(diǎn)是調(diào)用某一個(gè)頁(yè)面時(shí)只需讀取對(duì)應(yīng)的頁(yè)面腳本文件,無(wú)需對(duì)所有的文件進(jìn)行操作,從而提高了系統(tǒng)的處理速度.對(duì)系統(tǒng)的共享數(shù)據(jù),則以全局變量的方式定義,并單獨(dú)保存在一個(gè)文件中.

2.1 表達(dá)部分

表達(dá)部分的功能是將用戶需要的、經(jīng)過(guò)處理的數(shù)據(jù),通過(guò)表達(dá)模板和頁(yè)面生成器,把數(shù)據(jù)和表達(dá)形式相結(jié)合,發(fā)送給用戶瀏覽.

表達(dá)部分包括頁(yè)面、靜態(tài)文本、動(dòng)態(tài)文本、靜態(tài)按鈕和動(dòng)態(tài)按鈕類型對(duì)象,每一個(gè)對(duì)象都有兩個(gè)通用屬性:即名稱屬性和類型屬性.名稱屬性用于區(qū)別其他頁(yè)面,并實(shí)現(xiàn)在其他地方調(diào)用這個(gè)頁(yè)面.類型屬性表示對(duì)象的功能.除頁(yè)面外,其他4種類型對(duì)象都有顯示位置(Position)專用屬性,該屬性給出顯示的內(nèi)容相對(duì)于所屬頁(yè)面左上角的起始位置坐標(biāo) x和y.下面分別描述上述5種類型對(duì)象以及所用到的其他專用屬性.

2.1.1 頁(yè)面

頁(yè)面(Disp)是用戶與系統(tǒng)進(jìn)行信息交換的一種手段.

頁(yè)面范圍(Rectangle)屬性.該屬性規(guī)定頁(yè)面的尺寸,頁(yè)面默認(rèn)為長(zhǎng)方形,頁(yè)面的范圍由頁(yè)面左上角 x1,y1和頁(yè)面右下角 x2,y2的4個(gè)坐標(biāo)確定.

頁(yè)面的內(nèi)容由頁(yè)面包含的對(duì)象構(gòu)成,對(duì)象類型有靜態(tài)文本、動(dòng)態(tài)文本、靜態(tài)按鈕和動(dòng)態(tài)按鈕,用以顯示系統(tǒng)的狀態(tài)和接受用戶的輸入.

2.1.2 靜態(tài)文本

靜態(tài)文本(Lable)用于顯示頁(yè)面中固有的、不變化的文字.

顯示內(nèi)容(Value)屬性.該屬性描述頁(yè)面上需要顯示文字的內(nèi)容,通常對(duì)應(yīng)頁(yè)面的標(biāo)題、對(duì)話框的名稱、按鈕的名稱等信息.

2.1.3 動(dòng)態(tài)文本

動(dòng)態(tài)文本(Edit)用于顯示頁(yè)面中隨系統(tǒng)狀態(tài)變化實(shí)時(shí)更新的文字.

顯示資源(Source)屬性.該屬性描述頁(yè)面上顯示內(nèi)容的來(lái)源,以數(shù)據(jù)對(duì)應(yīng)的變量名來(lái)引用.這些動(dòng)態(tài)文本主要反映系統(tǒng)實(shí)時(shí)的數(shù)據(jù)變化、輸入輸出狀態(tài)的變化信息.

如果觸發(fā)頁(yè)面刷新(Refresh)事件,解釋器會(huì)對(duì)當(dāng)前頁(yè)面的動(dòng)態(tài)對(duì)象重新解釋顯示,即動(dòng)態(tài)文本對(duì)象重新讀取顯示資源內(nèi)容并在頁(yè)面相應(yīng)位置重繪.為了節(jié)省系統(tǒng)資源,此時(shí)的靜態(tài)文本對(duì)象不采取重繪動(dòng)作.頁(yè)面刷新事件可以通過(guò)點(diǎn)擊按鈕進(jìn)行觸發(fā),也可以在任務(wù)對(duì)象中創(chuàng)建定時(shí)刷新任務(wù)進(jìn)行觸發(fā).

2.1.4 靜態(tài)按鈕

靜態(tài)按鈕(Static Button)是頁(yè)面中可接受用戶固定操作的文字或圖形元素,在頁(yè)面中操作和位置固定不變的按鈕.

顯示內(nèi)容(Value)屬性.該屬性描述按鈕上顯示的內(nèi)容.

按鈕擴(kuò)展(Expansion)屬性.該屬性可以對(duì)按鈕進(jìn)行橫向或縱向的擴(kuò)展,擴(kuò)大按鈕的響應(yīng)范圍,方便用戶的操作.

當(dāng)點(diǎn)擊觸摸液晶屏?xí)r,系統(tǒng)接收點(diǎn)擊消息,消息包括被點(diǎn)擊點(diǎn)的坐標(biāo),通過(guò)坐標(biāo)與當(dāng)前頁(yè)面中按鈕對(duì)象的坐標(biāo)相比對(duì),確認(rèn)是否有按鈕被點(diǎn)擊.如果有按鈕被點(diǎn)擊,則觸發(fā)相應(yīng)的按鈕點(diǎn)擊(OnClick)事件,然后對(duì)按鈕對(duì)象的內(nèi)容部分進(jìn)行解釋執(zhí)行,完成指定的功能.按鈕對(duì)象的內(nèi)容由所調(diào)用的函數(shù)對(duì)象組合構(gòu)成,而函數(shù)對(duì)象來(lái)自系統(tǒng)軟件提供的API函數(shù)與驅(qū)動(dòng)控制函數(shù).

2.1.5 動(dòng)態(tài)按鈕

動(dòng)態(tài)按鈕(Dynamic Button)是頁(yè)面中可接受用戶動(dòng)態(tài)操作的文字或圖形元素,在頁(yè)面中操作和位置可變的按鈕.

顯示資源(Source)屬性.該屬性描述按鈕上顯示內(nèi)容的來(lái)源.

按鈕擴(kuò)展(Expansion)屬性.該屬性的作用與靜態(tài)按鈕中的按鈕擴(kuò)展屬性相同.

動(dòng)態(tài)按鈕給用戶提供多種選擇性操作和控制.在數(shù)據(jù)部分中,結(jié)構(gòu)體變量將按鈕的顯示資源和按鈕中函數(shù)所需的參數(shù)組合起來(lái),數(shù)組變量將結(jié)構(gòu)體變量組合起來(lái).在頁(yè)面中,按鈕對(duì)象屬性與數(shù)組變量中結(jié)構(gòu)體變量對(duì)象屬性相關(guān)聯(lián).改變數(shù)組變量的下標(biāo)就可以選定相應(yīng)的結(jié)構(gòu)體變量,進(jìn)而實(shí)現(xiàn)按鈕的動(dòng)態(tài)顯示和動(dòng)態(tài)操作.

2.2 處理部分

處理部分主要對(duì)各種信息和數(shù)據(jù)按一定的邏輯進(jìn)行判斷并進(jìn)行處理.處理部分包括函數(shù)類型和任務(wù)類型對(duì)象.

函數(shù)對(duì)象的可選專用屬性有參數(shù)(Parameter)屬性和返回(Return)屬性.參數(shù)屬性可以是常量與變量,返回屬性一般為變量.

系統(tǒng)軟件層提供了功能豐富的API函數(shù),這些函數(shù)采用編譯方式實(shí)現(xiàn).編寫(xiě)腳本程序時(shí)只需考慮如何使用API函數(shù)來(lái)實(shí)現(xiàn)業(yè)務(wù)邏輯.這樣既方便修改業(yè)務(wù)邏輯,又提高了腳本的執(zhí)行速度.

任務(wù)對(duì)象的可選專用屬性有定時(shí)(Time)屬性和頻率(Frequency)屬性.定時(shí)屬性表示到定時(shí)屬性值指定的時(shí)刻系統(tǒng)產(chǎn)生定時(shí)事件;頻率屬性表示每次到達(dá)頻率屬性值指定時(shí)間的倍數(shù)時(shí)刻產(chǎn)生頻率事件.

任務(wù)對(duì)象的內(nèi)容由所調(diào)用的函數(shù)對(duì)象組合構(gòu)成.

2.3 數(shù)據(jù)部分

系統(tǒng)的狀態(tài)以及系統(tǒng)處理的中間過(guò)程需以數(shù)據(jù)形式保存下來(lái),本文在腳本和內(nèi)存中各開(kāi)辟一個(gè)專用區(qū)域存放數(shù)據(jù).

數(shù)據(jù)部分包括基本類型、構(gòu)造類型對(duì)象.基本類型有整型、字符型、浮點(diǎn)型等;構(gòu)造類型有數(shù)組類型、結(jié)構(gòu)體類型等.

基本類型對(duì)象的專用屬性僅包括內(nèi)容(Value)屬性,即變量的具體內(nèi)容.

構(gòu)造類型對(duì)象具有多層結(jié)構(gòu),首層包括通用屬性名稱和類型,考慮到腳本結(jié)構(gòu),增加子一層結(jié)構(gòu),將所包含的對(duì)象作為內(nèi)容,實(shí)現(xiàn)結(jié)構(gòu)與概念的統(tǒng)一.數(shù)組類型對(duì)象由一系列相同類型對(duì)象組成;結(jié)構(gòu)體類型對(duì)象是由不同類型對(duì)象組成的集合.

根據(jù)對(duì)象定義位置的不同,可分為全局變量和局部變量;按存儲(chǔ)介質(zhì)的不同,可分為腳本變量和內(nèi)存變量.全局變量是各個(gè)頁(yè)面對(duì)象都能訪問(wèn)的變量;局部變量是本頁(yè)面對(duì)象能訪問(wèn)的變量.腳本變量是存儲(chǔ)于腳本文件區(qū)的數(shù)據(jù);內(nèi)存變量是腳本文件為了提高訪問(wèn)速度在單片機(jī)內(nèi)存中申請(qǐng)的內(nèi)存變量.

腳本中的全局變量和局部變量不涉及內(nèi)存的申請(qǐng)與釋放,全局變量的作用域?yàn)樗许?yè)面,局部變量的作用域?yàn)槠涠x所在的頁(yè)面.處理原則是先局部后全局,如果全局變量和局部變量同名則僅考慮局部變量.腳本文件的讀寫(xiě)比較慢,如果對(duì)系統(tǒng)有速度上的要求,可以在系統(tǒng)中申請(qǐng)內(nèi)存變量,以實(shí)現(xiàn)某些高速數(shù)據(jù)的交換和處理.

2.4 實(shí)際示例

根據(jù)前述腳本文件的實(shí)現(xiàn)方法,下面給出一個(gè)具體的應(yīng)用實(shí)例.腳本文件分成兩個(gè)區(qū)域:

(1)全局區(qū)域.全局區(qū)域中申請(qǐng)了內(nèi)存變量以及任務(wù)對(duì)象,任務(wù)對(duì)象在系統(tǒng)初始化時(shí)調(diào)用系統(tǒng)時(shí)間函數(shù),且與內(nèi)存變量strHour和strMinute關(guān)聯(lián).

(2)頁(yè)面區(qū)域,其下對(duì)象是局部的.頁(yè)面區(qū)域中設(shè)計(jì)了一個(gè)大小為5×10字符、名為InitDisp的頁(yè)面,頁(yè)面中申請(qǐng)了結(jié)構(gòu)體數(shù)組類型和字符類型的腳本變量.

示例的實(shí)現(xiàn)效果如圖3所示.在第0行第6個(gè)字節(jié)(即 Position="6,0")顯示靜態(tài)文本“東華大學(xué)”;在第2行第0個(gè)字節(jié)顯示動(dòng)態(tài)按鈕“頁(yè)面1”,該動(dòng)態(tài)按鈕顯示的內(nèi)容來(lái)源于結(jié)構(gòu)體數(shù)組變量Op t[byDrift].Value的內(nèi)容,點(diǎn)擊它會(huì)運(yùn)行頁(yè)面跳轉(zhuǎn)函數(shù),進(jìn)入Op t[byDrift].Uri內(nèi)容所指示的頁(yè)面;在第2行第10個(gè)字節(jié)顯示靜態(tài)按鈕“Change”,點(diǎn)擊它則運(yùn)行增加函數(shù),使腳本字符變量byD rift增加1,進(jìn)而改變動(dòng)態(tài)按鈕所顯示的內(nèi)容;在第4行第0個(gè)字節(jié)顯示靜態(tài)文本“當(dāng)前時(shí)間:時(shí) 分”;在第4行第10個(gè)字節(jié)顯示動(dòng)態(tài)文本,顯示內(nèi)容來(lái)自全局變量strHour,為系統(tǒng)時(shí)間的小時(shí);在第4行第14個(gè)字節(jié)顯示動(dòng)態(tài)文本,顯示內(nèi)容來(lái)自全局變量strMinute,為系統(tǒng)時(shí)間的分鐘.

圖3 示例顯示畫(huà)面Fig.3 Demonstration display frame

具體代碼如下所示:

3 提高解釋型單片機(jī)系統(tǒng)速度的方法

選定單片機(jī)后,提高解釋型單片機(jī)系統(tǒng)的速度主要以提高存儲(chǔ)讀寫(xiě)速度和程序解釋速度來(lái)實(shí)現(xiàn),具體方法如下:

(1)腳本程序調(diào)用的API函數(shù)固化在單片機(jī)ROM中,腳本文件不定義函數(shù).

(2)對(duì)定頻率事件,例如采集外設(shè)數(shù)據(jù)、申請(qǐng)任務(wù)對(duì)象和內(nèi)存變量.任務(wù)對(duì)象一旦被解釋器解釋后,就在系統(tǒng)中產(chǎn)生常駐的定時(shí)或者定頻率任務(wù),按照固定的時(shí)間或者固定的頻率進(jìn)行事件驅(qū)動(dòng),不需要被反復(fù)解釋.內(nèi)存變量區(qū)別于在腳本中的全局變量與局部變量,內(nèi)存變量在單片機(jī)內(nèi)部申請(qǐng),對(duì)其進(jìn)行操作無(wú)需進(jìn)行多次腳本文件的操作(包括查找、定位和讀寫(xiě)).

(3)一個(gè)腳本程序由多個(gè)頁(yè)面構(gòu)成,每一個(gè)頁(yè)面構(gòu)成一個(gè)文件,文件名取自頁(yè)面的名稱,FA T文件系統(tǒng)為文件名建立索引,頁(yè)面的切換通過(guò)相應(yīng)的頁(yè)面文件索引切換完成.

(4)讀取頁(yè)面文件至單片機(jī)內(nèi)存后對(duì)內(nèi)存中腳本進(jìn)行解釋.單片機(jī)對(duì)內(nèi)存的讀寫(xiě)速度快于對(duì)SD卡的讀寫(xiě)速度.

4 結(jié)語(yǔ)

本文研究了單片機(jī)系統(tǒng)中解釋型應(yīng)用程序的實(shí)現(xiàn)方法.從數(shù)據(jù)、處理、表達(dá)3個(gè)方面闡明了腳本文件的具體實(shí)現(xiàn),并提出了如何提高解釋型單片機(jī)系統(tǒng)的處理速度.本文提出的解釋型程序執(zhí)行方法,效率不如編譯方式高,適用于對(duì)業(yè)務(wù)邏輯需頻繁更改但是對(duì)實(shí)時(shí)性要求不高的系統(tǒng).隨著單片機(jī)處理性能的提高,解釋型程序的執(zhí)行速度也會(huì)相應(yīng)提高,它的應(yīng)用場(chǎng)合一定會(huì)不斷擴(kuò)大.

[1] 何嶺松,賴紅.用于單片機(jī)測(cè)控裝置的微型腳本解釋器[J].測(cè)試技術(shù)學(xué)報(bào),2006,20(2):118-122.

[2] 張軍林,陽(yáng)富民,胡貫榮.JavaScript語(yǔ)言解釋器的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2003,30:124-125.

[3] 孫力,鮑健.嵌入式單片機(jī)應(yīng)用系統(tǒng)程序結(jié)構(gòu)[J].量子電子學(xué)報(bào),2000,17(3):279-281.

[4] 王開(kāi)西,鄒華,楊放春.基于 XML腳本的增值業(yè)務(wù)解釋器的研究[J].北京郵電大學(xué)學(xué)報(bào),2004,27(S2):74-78.

[5] 項(xiàng)功宏,陳奇.基于單片機(jī)的提花機(jī)控制系統(tǒng)的設(shè)計(jì)[J].機(jī)床與液壓,2005(12):153-155.

[6] 王妍,張群.雙容水槽微機(jī)控制系統(tǒng)顯示軟件設(shè)計(jì)[J].遼寧大學(xué)學(xué)報(bào),2001,28(3):234-237.

[7] 邱士安.基于C8051F020單片機(jī)的控制系統(tǒng)應(yīng)用[J].大慶石油學(xué)院學(xué)報(bào),2006,30(5):72-74.

[8] 李艷,張琛星,李明輝.基于A T89C51單片機(jī)的鍋爐液位控制系統(tǒng)[J].自動(dòng)控制,2006,25(4):54-57.

[9] 李長(zhǎng)有,武學(xué)東,孫步勝,等.基于C8051F020的SD卡主控制器設(shè)計(jì)[J].微計(jì)算機(jī)信息,2007,23(9-2):120-122.

[10] 張延園.JavaScript程序設(shè)計(jì)及應(yīng)用[M].西安:西北工業(yè)大學(xué)出版社,1997.

Research of Interpreted Programming for MCU Application

LU Yu-tinga,ZANG Zhu-pinga,OU YANG Wen-binb,ZENG Pei-fenga
(a.College of Computer Science and Technology;b.College of Information Science and Technology,Donghua University,Shanghai 201620,China)

The processing and functions are defined by configuration files,an interpreted MCU(Micro controller Unit)system which is easily configured for function modifications or system version up is proposed.The business logic is defined by scrip t files in XML format and stored in SD(Secure Digital)card.The scrip t is moved into memory,and read by XML parser.The defined functions are executed by corresponding API(Application Program Interface)function calling.The MCU interpreted system based on the hardware and the system software is convenient for business logic definition,modification,and implementation.

script ; interpreted ; application ; microcontroller unit(MCU);xml

TP 314

A

2009-10-19

陸宇霆(1985—),男,上海人,碩士,研究方向?yàn)閱纹瑱C(jī)系統(tǒng).E-mail:luyutingemail@gmail.com

臧珠萍(聯(lián)系人),女,講師,E-mail:zpzang@dhu.edu.cn

1671-0444(2010)03-0258-05

猜你喜歡
腳本頁(yè)面按鈕
酒駕
當(dāng)你面前有個(gè)按鈕
刷新生活的頁(yè)面
安奇奇與小cool 龍(第二回)
快樂(lè)假期
死循環(huán)
小編的新年愿望
內(nèi)心不能碰的按鈕
Web安全問(wèn)答(3)
網(wǎng)站結(jié)構(gòu)在SEO中的研究與應(yīng)用