新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 單片機實驗教學仿真軟件設計

單片機實驗教學仿真軟件設計

作者: 時間:2013-04-24 來源:網(wǎng)絡 收藏

摘要:主要討論以微型計算機為操作平臺、基于Widnows操作系統(tǒng)的單片機的設計。實現(xiàn)對單片機教學實驗的全軟件仿真。針對自主研發(fā)的單片機的特點和實際過程面臨的問題,詳細闡述軟件的系統(tǒng)需求分析、建模及各子系統(tǒng)的詳細設計過程。在此重點論述了、仿真運行和仿真電路子系統(tǒng)的設計思路、相關(guān)算法的設計及程序設計與實現(xiàn)。
關(guān)鍵詞:;實驗教學;

0 引言
目前,各高校順應發(fā)展設置的單片機課程是機電、自動化等電類專業(yè)的一門重要課程,是一門多基礎、多理論的實踐性課程。在高職單片機教學過程中理論教學的發(fā)展已經(jīng)較為完善,而實驗教學由于受到經(jīng)費的限制,提供的實驗設備有限,不能滿足學生的要求。
鑒于以上情況,開發(fā)單片機教學實驗的全軟件仿真??梢詼p少實驗經(jīng)費的開銷,又便于增添實驗內(nèi)容,同時也可借用投影儀更加清晰地為學生做演示實驗,非常有利于學生加深對所學理論知識的感性認識、掌握基本實驗知識、方法、技能。對于有危險性的實驗,平臺更具有優(yōu)勢。

1 單片機實驗教學軟件的系統(tǒng)組成
由于單片機實驗教學仿真軟件系統(tǒng)較為復雜固將其設計為如干個子系統(tǒng),對每個子系統(tǒng)建模和設計,最后將它們連接起來構(gòu)成整個系統(tǒng)模型。圖1說明了系統(tǒng)的組成和各子系統(tǒng)關(guān)系。

本文引用地址:http://2s4d.com/article/170525.htm

a.JPG


考慮到單片機實驗教學仿真軟件的具體情況,同時使用結(jié)構(gòu)化程序設計與面向?qū)ο笤O計2種方法,對于單片機實驗教學仿真軟件系統(tǒng)的功能模塊采用結(jié)構(gòu)化方法來設計。
采用面向?qū)ο蟮姆椒ㄔO計軟件中的用戶界面、各個窗口、菜單、仿真元件等,最后,將各個子系統(tǒng)結(jié)合在一起,就構(gòu)成了單片機實驗教學仿真軟件。
下面對主要功能模塊進行論述。

2 子系統(tǒng)的設計
實際的編譯是利用編譯程序從源程序產(chǎn)生目標程序的過程。該過程分為5個階段:詞法分析,語法分析,語義檢查,中間代碼生成,代碼優(yōu)化,目標代碼生成。主要是進行詞法分析和語法分析,又稱為源程序分析??紤]本軟件的實際情況,仿真編譯子系統(tǒng)只進行詞法分析和語法分析,發(fā)現(xiàn)有語法錯誤,給出提示信息,仿真編譯成功后將仿真編譯結(jié)果保存。
(1)詞法分析模塊調(diào)用源程序編輯子系統(tǒng)產(chǎn)生的用戶源程序文件,逐行對文件中用戶輸入的源程序按照單片機指令系統(tǒng)規(guī)定的符號,如:(“Rn”、“#”、“/”、“@”、“$”、“:”及7種不同尋址方式表示的數(shù)據(jù)或地址、指令轉(zhuǎn)移的偏移量、工作寄存器和特殊功能寄存器的表示符號、44個指令助記符、7個偽指令、用戶定義的標號和符號常量、回車符)。進行詞法分析,判斷用戶源程序中使用的基本符號是否正確,如果不是合法的符號則將錯誤所在的位置及錯誤的類型反饋給用戶,終止仿真編譯等待用戶修改后再一次運行仿真編譯;如果是合法的符號則將每個符號以及符號的類型保存在string類型數(shù)組cifa[]和int類型數(shù)組type[]中供語法分析程序模塊使用。
(2)語法分析模塊首先定義了51系列單片機所有指令和偽指令的檢查函數(shù)。然后在詞法分析的基礎上,從數(shù)組cifa[]和數(shù)組type[]中取出用戶輸入的字符根據(jù)單片機指令的語法格式,字符的前后關(guān)系逐一進行處理,并調(diào)用指令和偽指令的檢查函數(shù)判斷:用戶輸入的源程序是否符合語法規(guī)則;標號和符號常量的定義與使用是否正確;偽指令的使用是否正確;程序是否以END結(jié)束等。如果存在錯誤則將錯誤所在的位置及錯誤的類型反饋給用戶,終止仿真編譯等待用戶修改后再一次進行仿真編譯;如果是正確的指令則將指令進行處理(對指令地址、指令I(lǐng)D、指令字節(jié)數(shù)、指令周期、操作數(shù)類型、操作數(shù)的值等進行處理)后存入預先定義的全局數(shù)組對象command中。仿真運行時由仿真運行子系統(tǒng)調(diào)用。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉