新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機(jī)實(shí)驗(yàn)教學(xué)仿真軟件設(shè)計

單片機(jī)實(shí)驗(yàn)教學(xué)仿真軟件設(shè)計

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

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

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

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

本文引用地址:http://m.butianyuan.cn/article/170525.htm

a.JPG


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

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


上一頁 1 2 下一頁

評論


相關(guān)推薦

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

關(guān)閉