基于 ISIS 的匯編語言程序設(shè)計
Proteus虛擬仿真軟件由英國Labcenter公司開發(fā),集電路原理圖設(shè)計、印制電路板設(shè)計和實物仿真等功能于一體,可以利用軟件模擬各種硬件(如:電阻、電容等模擬器件,單片機、微處理器等數(shù)字器件,示波器、萬用表等儀器設(shè)備),并支持對模擬硬件的軟件編程和虛擬仿真調(diào)試。這使得用戶可以在沒有硬件支持的情況下,以電路原理為基礎(chǔ)搭建虛擬模型,進行系統(tǒng)統(tǒng)仿真和調(diào)試,并可以看到系統(tǒng)運行的模擬效果。由于可節(jié)約成本、提高研發(fā)效率,利用Proteus軟件進行單片機系統(tǒng)輔助設(shè)計的方式已經(jīng)被很多高校和研發(fā)機構(gòu)采用。
Proteus軟件具有良好的人機交互功能,該軟件啟動后將自動進入ISIS功能界面(見圖9-1),其中多數(shù)工具欄的位置可以通過鼠標拖動來調(diào)整。
圖9-1 Proteus ISIS 7.1界面
Proteus軟件主要由ISIS和ARES兩部分構(gòu)成,其中ISIS用于電路原理圖設(shè)計和仿真,ARES用于印制電路板(PCB)設(shè)計。
Proteus軟件自帶匯編語言程序編輯器和編譯器,用戶可以在Proteus軟件中完成匯編語言程序設(shè)計的全部工作,且不需要第三方軟件的輔助。
1.匯編語言程序的設(shè)計
在Proteus仿真環(huán)境中進行匯編語言程序設(shè)計的步驟如下。
(1)選擇編譯器
首先,用鼠標左鍵單擊“Source”→“Add/Remove Source files…”子菜單,在彈出的“Add/Remove Source files…”(添加/移除源程序文件)對話框(見圖9-11a)中的“Code Generation Tool”編譯器列表中選擇“ASME51”,這是Proteus軟件自帶的MCS-51單片機匯編語言編譯器。另外,還可以單擊“Source”→“Define Code Generation Tools…”(見圖9-11b)菜單,并在彈出的“Add/Remove Generation Tools”對話框中查看和更換編譯器。
圖9-11建立和載入?yún)R編語言程序文件
a)添加/移除源程序文件對話框b)“Source”菜單c)源程序編輯窗口
(2)載入?yún)R編語言程序文件
在“添加/移除源程序文件”對話框中單擊“New”按鈕,在之后彈出的“New Source
File”對話框中確定匯編語言程序文件存放的路徑,并輸入文件名稱。如果文件不存在,則生成新文件并載入,否則直接載入該文件。源程序文件載入后,其文件名將出現(xiàn)在主菜單“Source”最后一項(見圖9-11b),單擊這一項可以打開源程序編輯窗口(見圖9-11c),可在其中添加或修改程序。
(3)建立可執(zhí)行目標文件
單擊“Source”→“Build All”子菜單(見圖9-11b),即可編譯和鏈接已載入的程序文件,并彈出“Build Log”(建立記錄)界面(見圖9-12a),該界面可以顯示編譯和鏈接的結(jié)果。如果源程序沒有錯誤,則建立HEX格式的目標文件,否則,在建立記錄界面中給出錯誤信息(見圖9-12b),以便程序員更正錯誤。
圖9-12“Build Log”(建立記錄)界面
a)源程序無錯誤時的記錄b)源程序有錯誤時的記錄
2.匯編語言程序的調(diào)試
匯編語言的調(diào)試過程與9.1.2節(jié)所介紹的幾乎一致,需先將HEX文件載入單片機模型,然后利用Proteus軟件“Debug”菜單提供的調(diào)試工具進行程序調(diào)試。不同的是,Proteus軟件的編譯器在進行程序鏈接時會生成擴展名為SDI的調(diào)試文件,使得程序調(diào)試時可以同步查看匯編語言程序的源代碼。
仿真調(diào)試時,單擊“仿真運行工具欄”中的圖標“
”,或單擊子菜單“Debug”→“Start/Restart Debugging”或“Debug”→“8051 CPU”→“Source Code”(見圖9-10a),可以
打開“源代碼觀察窗口(8051 CPU Source Code)”(見圖9-13a)。在“源代碼觀察窗口”中單擊鼠標右鍵,將彈出圖9-13b所示菜單,可用于斷點設(shè)置等操作。
圖9-13源代碼觀察窗口“8051 CPU Source Code”
a)觀察窗口的顯示界面b)設(shè)置觀察窗口的菜單