下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第 23 卷第 2 期2004 年 6 月武 漢 工 業(yè) 學 院 學 報Journal of Wuhan Polytechnic UniversityVol. 23No. 2J un. 2004文章編號 :1009 - 4881 (2004) 02 - 0001 - 02單片機程序的狀態(tài)機模型管庶安(武漢工業(yè)學院 計算機與信息工程系 ,湖北 武漢 430023)摘 要 :為單片機程序建立狀態(tài)機模型 ,研究用此模型描述程序行為的完整性 ,討論此模型的源代碼實現(xiàn)方式 。關鍵詞 :單片機程序 ; 狀態(tài)集 ; 事件集 ; 輸出集 ; 狀態(tài)機 ; 代碼實現(xiàn)中圖分類號 : TP 315. 1 文獻標識碼
2、:A0 引言由于沒有操作系統(tǒng)的支持 ,設計一個較為復雜的單片機實用程序 ,尤其是匯編程序 ,如果采用面向過程的方法 ,必然會引入大量的標志位 ,以實現(xiàn)各個模塊之間的聯(lián)系 。隨之而來的是將會出現(xiàn)大量 、多層的判斷 、 移語句 ,以控制程序的走向 。可以說程序的流向在很大程度上由大量的標志位來控制 ,而眾多的標志位之間往往處于一種離散狀態(tài) ,程序員不得不花費大量的精力來協(xié)調各標志位 ,導致程序的可讀性變差 。面向過程的方法要求程序跟隨過程走 ,直至該過程完成 。因而很難滿足多個過程并發(fā)執(zhí)行的實時性 。 文從宏觀上考察一個單片機程序 ,用一個狀態(tài)機描述其行為 ?;跔顟B(tài)機的嚴謹和科學性 ,使程序的規(guī)
3、劃上升到全局的 、系統(tǒng)的層次 ,符合“自頂向下 ,逐步求精”的原則 。經作者大量實踐表明 ,這一方法從根本上統(tǒng)一和協(xié)調了大量離散的標志位及其聯(lián)系 。因此 ,程序的可讀性大大加強 ,易于代碼實現(xiàn) ;有效地防止了某些重要細節(jié)的遺漏 ,便于容錯設計 ;顯著地提高了程序的可靠性 。1 程序的狀態(tài)機模型定義 1 設一個運行中的程序可能處于的狀態(tài)有l(wèi) 個 ,記為 S 0 , S 1 , S l 。定義狀態(tài)集 S 為 :S = S i | i = 0 l 。程序運行時 , 在實時事件的觸發(fā)下 , 將從某一狀態(tài)轉移到另一狀態(tài) 。容易證明 :沒有觸發(fā) , 就不會發(fā)收稿日期 :2004 - 02 - 11作者簡介
4、 :管庶安 (1956 - ) ,男 ,湖北省武漢市人 ,副教授 。生狀態(tài)轉移 。因為一個不接受 、處理實時事件的程序是毫無意義的 。定 義 2 設 全 部 實 時 事 件 共 有 m 個 , 記 為 0 , 1 , m 。定義事件集 E 為 :E = j | j = 0 m 。當狀態(tài)轉移發(fā)生時 , 可能需要執(zhí)行某一動作 , 稱為輸出 。輸出是程序設計的目的所在 。定義 3 設 全 部 輸 出 有 n 個 , 記 為 P 0 ,P 1 , P n 。特別地 , 定義 P 0 為空輸出 , 即不執(zhí)行任何動作 。定義輸出集 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 表明 , 在當前狀態(tài) S i 下 , 若發(fā)生事件 j , 程序應該執(zhí)行輸出 P k 。定義 4 狀態(tài)機 M 的定義 : 狀態(tài)機為由 D 到 S的一個關系 ,記為 M :若元素 MM , DD , SS , 則 M= ( D,S = ( ( S i , j , P k ) , S表示 :在當前狀態(tài) S i 下 , 若發(fā)生事件 j , 程序執(zhí)行輸出P k 后轉移到新狀態(tài) S。基于笛卡爾積 D 的完整性 ,一個實
6、際程序的任何行為都可以作為集合 M 中的元素加以收集 。因此 ,狀態(tài)機 M 可以完整地描述一個程序的行為 。狀態(tài)機 M 可以用狀態(tài)圖直觀地加以描述 。圖M D ×S ;轉本) )2武 漢 工 業(yè) 學 院 學 報2004 年1 描述了一個具有 4 個狀態(tài) , 3 個實時事件 , 4 個執(zhí)行動作的程序的狀態(tài)機 , 其中 P 0 為無動作 。從圖中可以看出 , 當處于 S 0 狀態(tài)時 , 僅響應事件 2 的觸發(fā) 、 行動作 P 3 、 轉到狀態(tài) S 1 ; 在任何狀態(tài) 下 , 如 果 有 事 件 0 觸 發(fā) , 一 律 轉 到 狀 態(tài) S 0 , 等等 。圖中后的方括號中如出現(xiàn)用逗號分隔的
7、幾個數(shù)字 , 表示發(fā)生對應的事件之一 。式表示的 ,這些數(shù)據(jù)的取值決定了程序的走向 。主程序的任務是不停地監(jiān)視事件隊列 ,一旦非空 ,應立即調用相應事件的處理子程序 。該事件處理完 畢 , 令 其 出 隊 , 再 轉 入 主 程 序 的 入 口 點 , 用MCS51 匯編語言的形式描述如下 :MA IN : MOV A ,事件隊列的頭部元素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)機EV EN T 2 :SJ M P EV EN T- QU IT2 構建程序的數(shù)據(jù)結構2 . 1 狀態(tài)機的主 、 結構如果一個程序較復雜 ,勢必涉及到較多的狀態(tài) ,這會導致集合 D 中 的 元 素 急 劇 增 加 。解 決 這 一 問題的策略是 ,如有需要 ,則某一狀態(tài)為一子狀態(tài)機 ,按樹型結構組織主 、 狀態(tài)機 ,如圖 2 所示 。EV EN T- QU IT : 事件隊列的頭部元素出隊SJ M P MA IN在各事件處理子程序中 ,應判斷當前所處的狀態(tài) ,并結合本事件確定當前要執(zhí)行的動作
9、,調用相應的動作執(zhí)行子程序 。再根據(jù)狀態(tài)機所示 ,把當前狀態(tài)修改為新狀態(tài) ,完成狀態(tài)的轉移 。下面是事件 X的處理子程序 :DO- EVEN T- X: MOV A ,當前狀態(tài)CJNE A , # STATE 0 ,IS- STATE 1LCALL 事件 X、 態(tài) 0 時的操作SJ MP DONE圖 2 狀態(tài)機的樹型結構2 . 2 實時事件集合 E 的組織與訪問對于運行的程序而言 ,事件具有突發(fā)性 。事件的采集方式有硬件中斷和定時查詢 。硬件中斷有外部中斷 、 時器中斷 、 行通信中斷 ;定時查詢用于捕捉IS- STATE 1 :IS- STA TE2 :DON E :CJNE A , # S
10、TATE 1 ,IS- STATE 2LCALL 事件 X、 態(tài) 1 時的操作SJ MP DONERET非硬件中斷方式輸入的事件 ,它以一個定時器作為時間基準 ,等間隔采樣輸入事件 。由于定時器也按中斷方式工作 ,從而保證了采集事件的實時性 。事件集合E 的存儲結構為 FIFO 隊列 。根據(jù)事件的緊急程度建立優(yōu)先級別不同的多個隊列 ,僅當優(yōu)先級較高的隊列為空時才訪問優(yōu)先級較低的隊列 。3 基于狀態(tài)機的單片機程序實現(xiàn)實質上 ,基于狀態(tài)機的單片機程序設計方法 ,是一種面向數(shù)據(jù)的方法 。狀態(tài)和事件都是用數(shù)據(jù)的形關于事件的采集 、 類入隊 ,都是在中斷服務程序中進 行 的 , 主 程 序 和 各 事
11、件 處 理 子 程 序 中 毋 需關心 。參考文獻 : 1 喬維聲. 離散數(shù)學 M . 西安 :西安電子科技大學出版社 ,1999.2 鄧 良 松 , 劉 海 巖 , 陸 麗 娜. 軟 件 工 程 M . 西安 :西安電子科技大學出版社 ,2002.(下轉第 9 頁)執(zhí) 并子子狀定 串狀分2 期陳明意 : TMS320C6000 系列 DSP 串行通信接口設計95 結論上述 在 介 紹 TMS320C6000 系 列 基 本 性 能 基 礎上 ,詳細分析了其 SPI 接口通信原理 ,并給出了 C6000初始化流程圖及程序供讀者參考 。該方案在不具有SPI 接口的單片機組成的智能化儀表和測控系統(tǒng)
12、中 ,對于速度要求不高 、 電后保存少量系統(tǒng)參數(shù)和低功耗的場合 ,使用 SPI 總線 ,無疑會增加應用系統(tǒng)接口器件的種類 ,增強應用系統(tǒng)的性能 。參考文獻 : 1 李方慧. TMS3206000 系列 DSPS 原理與應用 M . 北京 :電子工業(yè)出版社 ,2003. 411 - 436. 2 李哲英. DSP 基礎理論與應用技術 M . 北京 :北京航空航天大學出版社 ,2002. 123 - 146.3 張雄偉. DSP 芯片的原理與開發(fā)應用 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 頁)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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版團膳供應合同書標準范本2篇
- 個人貨車租賃合同2024版
- 二零二五版養(yǎng)老服務機構合作運營與管理協(xié)議3篇
- 咸寧職業(yè)技術學院《草食動物飼養(yǎng)學》2023-2024學年第一學期期末試卷
- 西安信息職業(yè)大學《水環(huán)境監(jiān)測與評價》2023-2024學年第一學期期末試卷
- 二零二五年度汽車零部件運輸與供應鏈管理合同2篇
- 新疆財經大學《田徑教學與實踐》2023-2024學年第一學期期末試卷
- 2024技術開發(fā)合同服務內容與標的
- 二零二五年度工業(yè)地產代理銷售合同補充協(xié)議3篇
- 二零二五年度電梯設備改造、安裝、租賃與維護合同3篇
- 【大學課件】微型計算機系統(tǒng)
- (主城一診)重慶市2025年高2025屆高三學業(yè)質量調研抽測 (第一次)英語試卷(含答案)
- 2025關于標準房屋裝修合同的范本
- 中國建材集團有限公司招聘筆試沖刺題2025
- 2024年馬克思主義基本原理知識競賽試題70題(附答案)
- 2024年湖北省中考物理真題含解析
- 荔枝病蟲害防治技術規(guī)程
- 資金借貸還款協(xié)議
- 《實驗性研究》課件
- 中國革命戰(zhàn)爭的戰(zhàn)略問題(全文)
- 2024-2025學年高考英語語法第一輪復習:定語從句(講義)(原卷版+解析)
評論
0/150
提交評論