proteus的調試器很有特色,使用很方便。網上有很多的仿真實例。有的調試的時候會出現源代碼窗口。這是使用Proteus自帶匯編器,如ASEM51時,它將產生SDI文件,所以當你單步調試時,源代碼窗口就出現SDI文件。
SDI文件是用Proteus里面ASEMDDX.exe生成,用來顯示匯編源碼。ASEMDDX.exe是個命令行程序。使用方法是先用ASEM51編譯匯編程序,生成hex和lst文件,再在命令行方式下輸入:
ASEMDDX 文件名
ASEMDDX會查找文件名對應的lst文件。然后生成SDI文件。(只能用于ASEM51生成的lst文件,不支持其他編譯器生成的lst文件)
我們用keil編譯的匯編文件能實現源碼仿真嗎?只要在Keil編譯時生成omf文件取代hex文件,將其加載給CPU,就可以實現Proteus下的源碼仿真,而不需要同時打開Keil。
必須注意,不同的編譯器產生的omf文件格式不盡相同,因此,并不是所有的omf文件在Proteus中都支持源代碼調試,但可以肯定的是Keil生成的omf是支持源代碼調試的。
當你使用Keil編譯時,選擇生成omf文件(omf51格式文件是Keil中生成的帶調試信息的目標文件),如下圖所示:
然后在Proteus加載生成的omf文件,源代碼窗口將可以打開相應的源代碼文件。包括匯編代碼和C代碼。