官术网_书友最值得收藏!

學習單元四 建立軟件實訓環境(2)——MedWin軟件的安裝與使用

MedWin是萬利電子有限公司開發的單片機仿真軟件,集編輯、編譯/匯編、在線及模擬調試為一體,內嵌自主版權的宏匯編器和連接器,并完全支持Franklin/Keil C擴展OMF格式文件,支持所有變量類型及表達式,它與Keil一樣也是經常使用的51單片機開發工具。與Keil不同的是,它采用中文用戶界面,因而很受初學者的喜愛。

MedWin集成開發環境的特點:

(1)完美的Windows版集成開發環境;

(2)內嵌自主版權的宏匯編器A51和連接器L51,并支持Keil/Franklin編譯、連接工具;

(3)具有分別獨立控制項目文件的工程項目管理器;

(4)在工程項目管理下,實現多模塊和混合語言編程調試;

(5)VC風格的窗口停駐、窗口切分和工作簿模式界面;

(6)在線編輯、編譯/匯編、連接下載運行和錯誤關聯定位;

(7)符合編程語言語法的彩色文本顯示;

(8)完全的表達式分析,支持所有數據類型變量的觀察;

(9)無須點擊的感應式鼠標提示功能;

(10)外部功能部件編程向導;

(11)不限制打開數據區觀察窗口的數目;

(12)調試狀態下用戶程序自動重裝功能;

(13)提供真實的軟件模擬仿真開發環境。

一、MedWin軟件的安裝

可以從萬利電子有限公司及其代理公司處索取MedWin軟件,也可以到公司的網站(http://www.manley.com.cn)下載。下載得到的MedWin軟件是一個壓縮包,解壓后雙擊其中的Setup.exe即可安裝。MedWin軟件有多個版本,本書使用的是中文V2.39版本。

二、MedWin軟件的使用

1.設置MedWin

MedWin集成開發環境安裝后,需要根據系統提示,設置工作目錄,設置編譯工具的路徑、環境等。其操作步驟如下:

第一步:啟動MedWin

雙擊桌面MedWin圖標,即可進入MedWin軟件集成開發環境。

第二步:進入模擬仿真

MedWin是InSight仿真器的仿真軟件,如果已接好仿真器,則MedWin啟動后,會出現初始化界面,進入仿真系統。因市面上仿真器一般都很貴,建議初學者采用模擬仿真。

MedWin也可以用于模擬仿真,如果無仿真器,則會出現如圖2-29所示的設置通訊口界面。點擊“模擬仿真”按鈕,則進入模擬仿真系統。

圖2-29 端口選擇

第三步:設置工作目錄

如果是第一次運行MedWin,系統會出現如圖2-30所示的設置“工作目錄”對話框,要求設置工作目錄。

圖2-30 設置工作目錄對話框

MedWin默認工作目錄是其安裝目錄C:\Manley\MedWinV2.39,但該目錄并不一定是我們所需要的工作目錄。假定所需工作目錄是E:\WorkDir,設置此目錄的方法如下:(1)在E盤根目錄下新建一個文件夾,文件夾名可任取,如“WorkDir”、“ONE LED”等。

(2)在圖2-30所示的設置“工作目錄”對話框中,點擊“當前工作目錄”右邊的按鈕,將出現圖2-31所示的“瀏覽文件夾”對話框。

圖2-31 瀏覽文件夾

(3)在“瀏覽文件夾”對話框中,點擊“本地磁盤(E)”前面的“十”,展開E盤文件夾,找到文件夾如“WorkDir”,單擊“WorkDir”,然后點擊“確定”按鈕。當前工作目錄就變成了“E:\WorkDir”,如圖2-32所示。

圖2-32 工作目錄設置的結果

以后我們打開的文件就是這個目錄下的文件,所保存的文件也是保存在這個目錄下。

(4)在圖2-32中,點擊“確定”按鈕,系統將提示進行下一步設置:設置編譯工具。

第四步:設置編譯工具

如圖2-33(a)所示。51單片機的編程語言可以選用匯編語言(擴展名為ASM),也可以選用C語言(擴展名為C)。MedWin開發工具支持這兩種語言,當選用的是匯編語言時,應直接選用系統默認設置:選中圖2-33(a)中的選項“系統默認的匯編器和連接器(使用匯編語言編程時,建議選擇此項)”,然后點擊“確定”按鈕。

圖2-33 設置編譯工具

當選用C語言編譯時,需要進行相應的設置。先用鼠標點擊圖2-33(a)中的選項“指定路徑下的編譯工具(使用C語言編程時,建議選擇此項)”,然后指定“選擇路徑”。由于Medwin本身不帶C51編譯工具,需要安裝C51編譯軟件后才能進行仿真。建議下載并安裝keil軟件,利用keil軟件的C51編譯工具。例如:當電腦上安裝了keil軟件時,選擇keil軟件的安裝路徑,如:“C:\keil\c51”等。其他設置如“C編譯器”、“匯編器”、“連接器”、“INC路徑”和“LIB路徑”與此方法相同,如圖2-33(b)所示。

完成了上述四步設置后,就進入MedWin集成開發環境,可以在該環境下新建項目編寫程序了。

實際上,端口的設置、工作目錄的設置和編譯工具的設置也可以在集成開發環境中重新設置,其方法如下:

點擊菜單欄中的“設置—設置通訊口”,如圖2-34所示,會出現如圖2-32所示的設置界面。點擊菜單欄中的“設置—設置編譯工具”,就會出現如圖2-33(a)所示的設置編譯工具界面。點擊菜單欄中的“設置—設置工作目錄”,就會出現如圖2-32所示的設置工作目錄界面。

圖2-34 設置菜單

在設置菜單中,還有一個設置文本編輯器子菜單,用來設置文本編輯窗口的前景色、背景色、字體的大小、顏色等,如圖2-35所示。

圖2-35 設置文本編譯器

2.開發應用程序

MedWin集成開發環境設置完畢后,就可以用MedWin開發應用程序了。MedWin提供了使用項目管理方式和非項目方式兩種方式開發應用程序。前者可進行多模塊、匯編語言和C語言混合編程開發,后者只適用于單模塊、一種語言開發的場合,在此推薦使用項目管理方式開發。采用項目管理方式開發應用程序的步驟如下:

第一步:新建項目文件

在MedWin集成開發環境中,點擊菜單欄中的“項目管理—新建項目”命令,出現如圖2-36所示的“創建項目”對話框。

圖2-36 創建項目對話框

在“創建項目”對話框中,“項目名”文本框用來輸入項目名稱。MedWin的項目管理是按項目名來管理的,項目名必須輸入,項目名不得超出8個字符,不得使用漢字以及“-、?、*、/”等字符,也不可輸入盤符和路徑。本例的項目名可任取,如“ONE LED FLASH”、“hujinde”等,這里我們在“項目名”文本框中輸入字符“hujinde”。

項目名右邊的“高級(A)”按鈕用來選擇項目文件存放的路徑。通常情況下,項目文件及源程序文件都是保存在當前工作目錄下,此時不必進行高級設置。

注意,如果項目文件與源程序文件不在同一目錄時,將會出現不能對源程序進行調試的現象。

“添加文件”選擇框用來設置新建項目時是否同時為該項目添加源程序文件。本例中,在新建項目時需要為項目添加源程序文件,我們采用默認設置。

“存儲器屬性(RAM)”下拉列表框用來設置C編譯器所需屬性。它有3種選擇:small、ComPact、Large。如果項目中包括C程序源文件,則需要設置此屬性。本書采用匯編語言開發程序,源程序文件為匯編語言源程序文件,此項不必設置,直接使用默認設置就可以了。

“RAM尺寸”文本框用來設置所用單片機內部RAM大小,其值為128或者256。對于本書所介紹的STC89C51RC和AT89S51,它們具有128字節片內RAM,此欄應設置為128。

“標準80C51”選擇框用來定義單片機特殊功能寄存器SFR。如果勾選此項,則對于標準的5l系列單片機中所具有的21個特殊功能寄存器就不必再作定義(直接采用系統內部定義),如果不勾選此項則必須定義程序中用的特殊功能寄存器。必須指出的是,如果系統中采用的是新型51單片機,并且程序中使用了標準的8051單片機中所不具有的特殊功能寄存器,則還必須對這些特殊功能寄存器進行定義。至于單片機中有多少個特殊功能寄存器,它們的作用是什么,如何定義,可以查詢單片機器件資料,我們也會在后續的學習中再詳細介紹。多數情況下,我們可采用默認的勾選設置。

點擊“確定”按鈕,完成項目創建,出現如圖2-37所示的“添加項目文件”對話框。

圖2-37 添加項目文件對話框

第二步:添加項目文件

項目新建后還需要為項目添加源程序文件。如果在圖2-36所示的“創建項目”對話框中沒有勾選“添加文件(A)”或者當前需要為項目增加新的文件,則可以點擊集成開發環境中的“項目管理—添加文件”子菜單為項目添加源程序文件,此時也會出現如圖2-37所示的“添加項目文件”對話框。

如果源程序文件不存在,則在2-37所示對話框的“文件名(N)”文本框中輸入源程序文件名,如“one led flash.asm”或“hujinde.asm”等,然后點擊“打開”按鈕,此時MedWin會自動新建一個空白的源程序文件,如圖2-38所示。

圖2-38 新建源程序文件

注意,輸入源程序文件時,必須輸入擴展名,其中匯編語言源程序文件的擴展名為“ASM”, C語言源程序文件的擴展名為“C”。

如果源程序文件已經存在,則在圖2-37“查找范圍(I)”后面的列表框點擊所需源程序文件圖標,然后點擊“打開”按鈕。

注意,如果所選文件為多個,則點擊第一個文件后,需要按住“Ctrl”鍵點擊其他文件圖標。如果在選擇文件的過程中選錯了文件,則按住“Ctrl”鍵再次點擊錯選文件,則可取消對所點擊文件的選擇了。

第三步:打開項目文件

對于事先已經建立好的項目文件,則第一步、第二步不必操作,可以直接打開項目文件而進入第四步操作。其操作方法是,點擊菜單欄中的“項目管理—打開項目”。

第四步:輸入源程序

新建的源程序文件是一個空文件,需要在其中錄入程序代碼。圖2-38所示的窗口中,左邊為項目管理窗口,右邊為源程序編輯窗口。在源程序編輯窗口中輸入【例2-1】中的程序,輸入程序的方法和注意事項與Keil中源程序編輯窗口相同。

程序錄入結束后,點擊菜單欄中的“文件—保存”子菜單或者圖標,保存當前所錄入的程序。所保存的文件名可任取,如“one led flash.asm”或“hujinde.asm”等。

第五步:編譯/匯編源程序

在集成開發環境中,點擊菜單欄中的“項目管理—編譯/匯編”子菜單,在MedWin集成開發環境的最下邊將會出現一個消息窗口,用來顯示匯編的結果,如圖2-39所示。

圖2-39 用來顯示匯編結果的消息窗口

在圖2-39中我們可以看出當前程序匯編時,警告錯誤0個,致命錯誤也是0個。如果程序中存在錯誤,則消息窗口中會有出錯提示,這時必須認真檢查源程序,調試源程序,改正錯誤后再進行編譯/匯編,直至錯誤為0。

第六步:輸出HEX文件

單片機只能執行二進制代碼形式的程序代碼,正確的源程序還必須轉變成對應的二進制文件或者十六進制文件。其中二進制文件的擴展名為.BIN,十六進制文件的擴展名為HEX。輸出HEX文件的方法是,點擊菜單欄中的“項目管理—輸出Intel Hex文件”,此時將彈出“輸出INETEL HEX文件”對話框,如圖2-40所示。在該對話框的文件名文本框中輸入所要保存的文件名如“hujinde.Hex”后點擊“保存”按鈕,所需要的文件“hujinde.Hex”就保存在當前工作目錄“E:\WorkDir”下了。

圖2-40 輸出HEX文件

注意,輸入所要保存的文件名時文件名要帶擴展名Hex。

3.調試源程序,觀察數據和程序運行結果

調試源程序的一個重要方法是觀察段程序運行后,其運行結果是否正確。這就需要先弄清楚單片機運行時各類數據存放的位置,學會在MedWin中運行某一段程序、并能觀察程序段運行后的結果。

源程序編譯/匯編后,按下列步驟調試源程序、觀察數據和程序運行結果。

1.了解程序調試方法

第一步:點擊菜單欄中的“調試—開始調試”子菜單。

這時,MedWin會自動地調用編譯/匯編程序對源程序進行編譯/匯編,產生對應的二進制代碼,并將二進制代碼裝入仿真系統中。代碼裝入仿真系統中后,MedWin的編輯窗口將會發生一些變化。其主要的變化是左邊灰色豎條上有一個箭頭,還有若干個圓點,窗口的上面增加了幾個圖標和PC、指令執行時、執行總時等標簽,如圖2-41所示。圖中圓點、箭頭等含義及作用如下:

圖2-41 仿真窗口

圓點:指示編輯窗口中各行代碼的類型;有圓點的源代碼為指令代碼,源程序編譯/匯編后產生了對應的二進制代碼;無圓點的源程序代碼為偽指令或者標號,源程序編譯/匯編后不產生對應的二進制代碼。其中,標號以冒號結尾,實際上代表的是一個地址,也稱為符號地址,它是一條指令的一部分,可以與指令同行書寫,也可以單獨占一行書寫。

箭頭:指示單片機即將要執行的指令。

PC:顯示單片機程序計數器PC(Program Counter)存放的當前值。PC是一個16位的寄存器,用來存放單片機要執行的下一條指令在程序存儲器ROM中存放的地址。單片機復位時,PC指向ROM的0000 H單元,因此,單片機上電后總是從0000 H這一地址處開始執行程序,源程序開始調試時,MedWin顯示PC的值為0000 H。

注意,箭頭及PC標簽實際上指示了指令及指令在程序存儲器ROM單元中的地址。

指令執行時:顯示某段程序執行時所耗時間,即一次程序段運行的時間。它的起始時刻是程序段開始執行時刻。

執行總時:顯示程序中各程序段運行的累計時間。它的起始時刻是代碼裝入仿真系統之后程序開始運行時刻。

第二步:執行程序段。

操作方法是,點擊調試菜單欄中的相關控制程序運行的菜單項。在第一步中點擊菜單欄中的“調試—開始調試”子菜單后,調試菜單中各子菜單項將會由灰色不可執行狀態轉變為黑色可執行狀態,如圖2-42所示。

圖2-42 “調試”菜單中各子菜單

圖2-42中部分子菜單的功能如下:

跟蹤:跟蹤運行程序,執行一條指令。如果是調用子程序指令,則進入所調用的子程序。

單步:單步運行程序,如果當前是調用子程序指令,則越過所調用的子程序,即把所調用的子程序當作一步來執行。

運行到光標處:程序全速運行到光標處。

交互跟蹤:如果當前激活的是源程序編輯窗口,執行反匯編窗口的跟蹤命令;如果當前激活的是反匯編窗口,執行源程序編輯窗口的跟蹤命令。

2.觀察數據和程序運行結果

單片機運行時,各類數據主要存放在下列位置:寄存器、特殊功能寄存器、片內數據存儲器RAM(簡稱片內RAM)和程序存儲器ROM中。觀察程序段的運行結果主要是觀察上述各寄存器和存儲器的值。

在MedWin中,點擊“查看”菜單欄中對應的子菜單項,如圖2-43所示,可觀察數據和程序運行結果。

圖2-43 “查看”菜單中各子菜單

(1)查看寄存器

點擊圖2-43中菜單欄的“查看—寄存器(R)”子菜單項,在集成開發環境的右邊就會出現寄存器窗口,如圖2-44所示。圖中共列有14個寄存器:R0、R1、R2、R3、R4、R5、R6、R7、A、B、SP、DPTR、PC和PSW。其中,前12個寄存器則以字節方式在寄存器窗口顯示和設置,程序計數器PC在編輯窗口上面的文本框中顯示和設置,程序狀態字PSW以位方式在寄存器窗口中顯示和設置,如圖2-45所示。

圖2-44 查看14個寄存器

圖2-45 寄存器PSW

(2)查看片內數據寄存器

1)查看整個片內RAM。MedWin中的“數據區IData”指的是能用指令“MOV@Ri, A”或“MOV A, @Ri”(i=1,2)訪問的數據區,即片內RAM 256字節的區域。片內RAM 256字節的內容可在IData窗口中觀察。其操作方法是,點擊菜單欄中的“查看—數據區IData”子菜單,集成開發環境中會出現如圖2-46所示“IData”窗口。窗口左邊灰色條是地址欄,顯示的是窗口中第一列數所在的地址,用十六進制數表示。中間部分是各地址單元的內容,也是用十六進制數表示的。右邊部分是把各地址單元的內容當作ASCII碼時,對應的顯示字符。

圖2-46 “IData”窗口

雙擊某個地址單元內容,系統會彈出“修改”對話框,如圖2-47所示。在修改對話框中輸入所需要的數據,點擊“確定”按鈕,對應地址單元的值就更改成所設定的新值。MedWin的這種修改功能極大地方便了程序的調試工作。

圖2-47 “修改”對話框

2)查看片內RAM中的位地址區。MedWin中“數據區Bit”指的是可位尋址的區域,包括片內RAM中128位(位地址為00H~7FH)和特殊功能寄存器中128位(位地址為80 H~FFH)。單片機RAM中的位地址區在“Bit”窗口中查看。其操作方法是,點擊菜單欄中的“查看—數據區Bit”子菜單,集成開發環境中會出現“Bit”窗口,如圖2-48所示。“Bit”窗口中00H~7FH區域顯示的是片內RAM位地址區各位的值,80H~FFH區域顯示的是特殊功能寄存器中各位地址的內容。在“Bit”窗口中,同樣也可似對各顯示值進行修改,其操作方法與“Idata”窗口中的操作方法相同。

圖2-48 “Bit”窗口

3.查看特殊功能寄存器

單片機的特殊功能寄存器SFR(Special Function Register,簡稱SFR)主要是用來設置內部電路的工作方式和記錄內部電路的運行狀態。學習單片機很大程度上是了解單片機內部特殊功能寄存器的作用及其應用方法。

點擊菜單欄中的“查看—特殊功能寄存器”子菜單,集成開發環境中會出現SFR顯示窗口,如圖2-49所示。特殊功能寄存器顯示窗口只能顯示/修改標準8051/80C51單片機的特殊功能寄存器,共21個。實際上,對于像STC89C52這樣的新型51單片機,除了具有21個標準的51單片機的特殊功能寄存器外,還新增了其他一些特殊功能寄存器。對于新增的特殊功能寄存器,其查看方法是,點擊菜單欄中的“查著—數據區Data”子菜單,集成開發環境中會出現“Data”窗口,如圖2-50所示。圖中“Data”窗口分為上下兩部分,地址00H~7FH區域顯示的是片內RAM低128字節單元的內容,80H~FFH區域顯示的是特殊功能寄存器的內容。在“Data”窗口中,同樣也可以對各顯示值進行修改,其操作方法與“IData”窗口中的操作方法相同。

圖2-49 SFR窗口

圖2-50 “Data”窗口

4.查看程序存儲器

其操作方法在學習情景三中有詳細介紹。

主站蜘蛛池模板: 精河县| 德江县| 临澧县| 敦化市| 韶关市| 吉木乃县| 磴口县| 白城市| 肇州县| 内江市| 崇信县| 怀宁县| 英山县| 定边县| 常熟市| 敦化市| 克什克腾旗| 泰顺县| 潍坊市| 汝阳县| 广饶县| 甘德县| 孟州市| 霍邱县| 山西省| 莎车县| 施甸县| 秦皇岛市| 黄山市| 翼城县| 清丰县| 玉门市| 定襄县| 武义县| 广水市| 桑日县| 花莲县| 依安县| 湟源县| 余庆县| 沭阳县|