單片機(jī)程序的狀態(tài)機(jī)模型_第1頁(yè)
單片機(jī)程序的狀態(tài)機(jī)模型_第2頁(yè)
單片機(jī)程序的狀態(tài)機(jī)模型_第3頁(yè)
單片機(jī)程序的狀態(tài)機(jī)模型_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第 23 卷第 2 期2004 年 6 月武 漢 工 業(yè) 學(xué) 院 學(xué) 報(bào)Journal of Wuhan Polytechnic UniversityVol. 23No. 2J un. 2004文章編號(hào) :1009 - 4881 (2004) 02 - 0001 - 02單片機(jī)程序的狀態(tài)機(jī)模型管庶安(武漢工業(yè)學(xué)院 計(jì)算機(jī)與信息工程系 ,湖北 武漢 430023)摘 要 :為單片機(jī)程序建立狀態(tài)機(jī)模型 ,研究用此模型描述程序行為的完整性 ,討論此模型的源代碼實(shí)現(xiàn)方式 。關(guān)鍵詞 :單片機(jī)程序 ; 狀態(tài)集 ; 事件集 ; 輸出集 ; 狀態(tài)機(jī) ; 代碼實(shí)現(xiàn)中圖分類號(hào) : TP 315. 1 文獻(xiàn)標(biāo)識(shí)碼

2、:A0 引言由于沒(méi)有操作系統(tǒng)的支持 ,設(shè)計(jì)一個(gè)較為復(fù)雜的單片機(jī)實(shí)用程序 ,尤其是匯編程序 ,如果采用面向過(guò)程的方法 ,必然會(huì)引入大量的標(biāo)志位 ,以實(shí)現(xiàn)各個(gè)模塊之間的聯(lián)系 。隨之而來(lái)的是將會(huì)出現(xiàn)大量 、多層的判斷 、 移語(yǔ)句 ,以控制程序的走向 ??梢哉f(shuō)程序的流向在很大程度上由大量的標(biāo)志位來(lái)控制 ,而眾多的標(biāo)志位之間往往處于一種離散狀態(tài) ,程序員不得不花費(fèi)大量的精力來(lái)協(xié)調(diào)各標(biāo)志位 ,導(dǎo)致程序的可讀性變差 。面向過(guò)程的方法要求程序跟隨過(guò)程走 ,直至該過(guò)程完成 。因而很難滿足多個(gè)過(guò)程并發(fā)執(zhí)行的實(shí)時(shí)性 。 文從宏觀上考察一個(gè)單片機(jī)程序 ,用一個(gè)狀態(tài)機(jī)描述其行為 ?;跔顟B(tài)機(jī)的嚴(yán)謹(jǐn)和科學(xué)性 ,使程序的規(guī)

3、劃上升到全局的 、系統(tǒng)的層次 ,符合“自頂向下 ,逐步求精”的原則 。經(jīng)作者大量實(shí)踐表明 ,這一方法從根本上統(tǒng)一和協(xié)調(diào)了大量離散的標(biāo)志位及其聯(lián)系 。因此 ,程序的可讀性大大加強(qiáng) ,易于代碼實(shí)現(xiàn) ;有效地防止了某些重要細(xì)節(jié)的遺漏 ,便于容錯(cuò)設(shè)計(jì) ;顯著地提高了程序的可靠性 。1 程序的狀態(tài)機(jī)模型定義 1 設(shè)一個(gè)運(yùn)行中的程序可能處于的狀態(tài)有l(wèi) 個(gè) ,記為 S 0 , S 1 , S l 。定義狀態(tài)集 S 為 :S = S i | i = 0 l 。程序運(yùn)行時(shí) , 在實(shí)時(shí)事件的觸發(fā)下 , 將從某一狀態(tài)轉(zhuǎn)移到另一狀態(tài) 。容易證明 :沒(méi)有觸發(fā) , 就不會(huì)發(fā)收稿日期 :2004 - 02 - 11作者簡(jiǎn)介

4、 :管庶安 (1956 - ) ,男 ,湖北省武漢市人 ,副教授 。生狀態(tài)轉(zhuǎn)移 。因?yàn)橐粋€(gè)不接受 、處理實(shí)時(shí)事件的程序是毫無(wú)意義的 。定 義 2 設(shè) 全 部 實(shí) 時(shí) 事 件 共 有 m 個(gè) , 記 為 0 , 1 , m 。定義事件集 E 為 :E = j | j = 0 m 。當(dāng)狀態(tài)轉(zhuǎn)移發(fā)生時(shí) , 可能需要執(zhí)行某一動(dòng)作 , 稱為輸出 。輸出是程序設(shè)計(jì)的目的所在 。定義 3 設(shè) 全 部 輸 出 有 n 個(gè) , 記 為 P 0 ,P 1 , P n 。特別地 , 定義 P 0 為空輸出 , 即不執(zhí)行任何動(dòng)作 。定義輸出集 P 為 :P = P k | k = 0 n ??紤] S 、E 、P 的笛

5、卡爾積 D :D = S ×E ×P = D x | D x = ( S i , j , P k ) , i = 0 l , j = 0 m , k = 0 n D x 表明 , 在當(dāng)前狀態(tài) S i 下 , 若發(fā)生事件 j , 程序應(yīng)該執(zhí)行輸出 P k 。定義 4 狀態(tài)機(jī) M 的定義 : 狀態(tài)機(jī)為由 D 到 S的一個(gè)關(guān)系 ,記為 M :若元素 MM , DD , SS , 則 M= ( D,S = ( ( S i , j , P k ) , S表示 :在當(dāng)前狀態(tài) S i 下 , 若發(fā)生事件 j , 程序執(zhí)行輸出P k 后轉(zhuǎn)移到新狀態(tài) S?;诘芽柗e D 的完整性 ,一個(gè)實(shí)

6、際程序的任何行為都可以作為集合 M 中的元素加以收集 。因此 ,狀態(tài)機(jī) M 可以完整地描述一個(gè)程序的行為 。狀態(tài)機(jī) M 可以用狀態(tài)圖直觀地加以描述 。圖M D ×S ;轉(zhuǎn)本) )2武 漢 工 業(yè) 學(xué) 院 學(xué) 報(bào)2004 年1 描述了一個(gè)具有 4 個(gè)狀態(tài) , 3 個(gè)實(shí)時(shí)事件 , 4 個(gè)執(zhí)行動(dòng)作的程序的狀態(tài)機(jī) , 其中 P 0 為無(wú)動(dòng)作 。從圖中可以看出 , 當(dāng)處于 S 0 狀態(tài)時(shí) , 僅響應(yīng)事件 2 的觸發(fā) 、 行動(dòng)作 P 3 、 轉(zhuǎn)到狀態(tài) S 1 ; 在任何狀態(tài) 下 , 如 果 有 事 件 0 觸 發(fā) , 一 律 轉(zhuǎn) 到 狀 態(tài) S 0 , 等等 。圖中后的方括號(hào)中如出現(xiàn)用逗號(hào)分隔的

7、幾個(gè)數(shù)字 , 表示發(fā)生對(duì)應(yīng)的事件之一 。式表示的 ,這些數(shù)據(jù)的取值決定了程序的走向 。主程序的任務(wù)是不停地監(jiān)視事件隊(duì)列 ,一旦非空 ,應(yīng)立即調(diào)用相應(yīng)事件的處理子程序 。該事件處理完 畢 , 令 其 出 隊(duì) , 再 轉(zhuǎn) 入 主 程 序 的 入 口 點(diǎn) , 用MCS51 匯編語(yǔ)言的形式描述如下 :MA IN : MOV A ,事件隊(duì)列的頭部元素CJ N E A ,空 , EV EN T 0SJ M P MA INEV EN T 0 :CJ N E A , # EV EN T 0 , EV EN T1L CALL 處理事件 0SJ M P EV EN T- QU ITEV EN T 1 :CJ NE

8、 A , # EVEN T 1 ,EVEN T 2L CALL 處理事件 1圖 1 用狀態(tài)圖描述狀態(tài)機(jī)EV EN T 2 :SJ M P EV EN T- QU IT2 構(gòu)建程序的數(shù)據(jù)結(jié)構(gòu)2 . 1 狀態(tài)機(jī)的主 、 結(jié)構(gòu)如果一個(gè)程序較復(fù)雜 ,勢(shì)必涉及到較多的狀態(tài) ,這會(huì)導(dǎo)致集合 D 中 的 元 素 急 劇 增 加 。解 決 這 一 問(wèn)題的策略是 ,如有需要 ,則某一狀態(tài)為一子狀態(tài)機(jī) ,按樹型結(jié)構(gòu)組織主 、 狀態(tài)機(jī) ,如圖 2 所示 。EV EN T- QU IT : 事件隊(duì)列的頭部元素出隊(duì)SJ M P MA IN在各事件處理子程序中 ,應(yīng)判斷當(dāng)前所處的狀態(tài) ,并結(jié)合本事件確定當(dāng)前要執(zhí)行的動(dòng)作

9、,調(diào)用相應(yīng)的動(dòng)作執(zhí)行子程序 。再根據(jù)狀態(tài)機(jī)所示 ,把當(dāng)前狀態(tài)修改為新狀態(tài) ,完成狀態(tài)的轉(zhuǎn)移 。下面是事件 X的處理子程序 :DO- EVEN T- X: MOV A ,當(dāng)前狀態(tài)CJNE A , # STATE 0 ,IS- STATE 1LCALL 事件 X、 態(tài) 0 時(shí)的操作SJ MP DONE圖 2 狀態(tài)機(jī)的樹型結(jié)構(gòu)2 . 2 實(shí)時(shí)事件集合 E 的組織與訪問(wèn)對(duì)于運(yùn)行的程序而言 ,事件具有突發(fā)性 。事件的采集方式有硬件中斷和定時(shí)查詢 。硬件中斷有外部中斷 、 時(shí)器中斷 、 行通信中斷 ;定時(shí)查詢用于捕捉IS- STATE 1 :IS- STA TE2 :DON E :CJNE A , # S

10、TATE 1 ,IS- STATE 2LCALL 事件 X、 態(tài) 1 時(shí)的操作SJ MP DONERET非硬件中斷方式輸入的事件 ,它以一個(gè)定時(shí)器作為時(shí)間基準(zhǔn) ,等間隔采樣輸入事件 。由于定時(shí)器也按中斷方式工作 ,從而保證了采集事件的實(shí)時(shí)性 。事件集合E 的存儲(chǔ)結(jié)構(gòu)為 FIFO 隊(duì)列 。根據(jù)事件的緊急程度建立優(yōu)先級(jí)別不同的多個(gè)隊(duì)列 ,僅當(dāng)優(yōu)先級(jí)較高的隊(duì)列為空時(shí)才訪問(wèn)優(yōu)先級(jí)較低的隊(duì)列 。3 基于狀態(tài)機(jī)的單片機(jī)程序?qū)崿F(xiàn)實(shí)質(zhì)上 ,基于狀態(tài)機(jī)的單片機(jī)程序設(shè)計(jì)方法 ,是一種面向數(shù)據(jù)的方法 。狀態(tài)和事件都是用數(shù)據(jù)的形關(guān)于事件的采集 、 類入隊(duì) ,都是在中斷服務(wù)程序中進(jìn) 行 的 , 主 程 序 和 各 事

11、件 處 理 子 程 序 中 毋 需關(guān)心 。參考文獻(xiàn) : 1 喬維聲. 離散數(shù)學(xué) M . 西安 :西安電子科技大學(xué)出版社 ,1999.2 鄧 良 松 , 劉 海 巖 , 陸 麗 娜. 軟 件 工 程 M . 西安 :西安電子科技大學(xué)出版社 ,2002.(下轉(zhuǎn)第 9 頁(yè))執(zhí) 并子子狀定 串狀分2 期陳明意 : TMS320C6000 系列 DSP 串行通信接口設(shè)計(jì)95 結(jié)論上述 在 介 紹 TMS320C6000 系 列 基 本 性 能 基 礎(chǔ)上 ,詳細(xì)分析了其 SPI 接口通信原理 ,并給出了 C6000初始化流程圖及程序供讀者參考 。該方案在不具有SPI 接口的單片機(jī)組成的智能化儀表和測(cè)控系統(tǒng)

12、中 ,對(duì)于速度要求不高 、 電后保存少量系統(tǒng)參數(shù)和低功耗的場(chǎng)合 ,使用 SPI 總線 ,無(wú)疑會(huì)增加應(yīng)用系統(tǒng)接口器件的種類 ,增強(qiáng)應(yīng)用系統(tǒng)的性能 。參考文獻(xiàn) : 1 李方慧. TMS3206000 系列 DSPS 原理與應(yīng)用 M . 北京 :電子工業(yè)出版社 ,2003. 411 - 436. 2 李哲英. DSP 基礎(chǔ)理論與應(yīng)用技術(shù) M . 北京 :北京航空航天大學(xué)出版社 ,2002. 123 - 146.3 張雄偉. DSP 芯片的原理與開發(fā)應(yīng)用 M . 北京 :電子工業(yè)出版社 ,2000. 15 - 30.圖 3 初始化流程THE DESIGN Of ASYNCHRONOUS SERIALC

13、OMMUNICATION FOR TMS 320C6000CH EN M i ng - yi(Department of Electrical and Information Engineering , Wuhan Polytechnic University ,Wuhan 430023 ,China)Abstract : The characteristics of TMS320c6000 device is int roduced ,communictions principle of it s SPI module isanalysed , examples of interface c

14、ircuit are given , and t he cofiguration program of McBSP is presented.Keywords :SPI ; TMS320C6000 ;DSP ;McBSP ( Multi - channel Buffered Serial Port)(上接第 2 頁(yè))THE STATE MACHINE MODEL FORMICROCONTROLLER PRO GRAMMINGGUA N S hu - an(Department of Computer and Information Engineering ,Wuhan Polytechnic University ,Wuhan 430023 ,China)Abstract : Through t he establishment of t he model of t he state machine for microcont roller programming , t hispaper researches on t he mat urity of t he description of t he characteristic of t he program behavior wit h t h

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論