1、前天安裝的proteus8.5,但是打開手上的一個proteus8.7版本的工程,發現打不開,同時點擊原有proteus8.5首界面里的8.7下載界面,出現下載失敗,所以就有了下面的proteus8.7安裝過程。
2、首先發現與安裝proteus8.5安裝的不同在於license選擇界面已經存在內容,是之前破解proteus8.5所帶來的影響。3、下面是keil和proteus聯調的方法。
關於第4點, 一開始,不清楚“ISIS 7 Professional”這個東西在哪,因為剛裝完的proteus初始界面是下面這樣的,只有三個最初始的選項卡,分別是“文件、系統、幫助”。
后面經過網上搜索,想要找到“調試”這一選項卡,需要先打開一個工程,然后“調試”選項卡才會出現,並且一開始的時候,在圖中“啟動遠程編譯監視器”這一功能前是沒有被勾選的,而proteus和keil聯調方法里的第4點目的就是為了讓你將這一選項勾選上。
關於第5點,操作方法如下。
4、真正打開工程進行聯調時,首先出現了下面圖示的錯誤,首先猜到的可能原因是由於proteus工程因為是從別處拿來的,已經被設置好了獲得.hex的路徑,但是keil工程已經被自己放到一個新建的文件底下,所以會出現.hex路徑找不到,所以解決辦法就是從網上搜索如何更改proteus工程的.hex獲取路徑。
操作辦法如下,首先找到proteus工程所用的主芯片,在下圖中使用的就是AT89C52了。
然后雙擊主芯片彈出一個編輯窗口,如下圖,在紅框位置處重新選擇keil工程所生成的.hex文件所在路徑。
5、下一步,運行仿真后出現新錯誤,如下圖,這時候的錯誤就真的開始牽扯到程序功能設計方面的了。
經過查看“Logic conection(s) detected on net...”的錯誤提示,發現是proteus工程里LCD的引腳連線和keil里的引腳定義對應不上,如下圖。
經過比對可以發現,在keil工程這邊,LCD的en、rs、rw引腳和proteus工程那邊的連線是完全對不上的,為了方便起見,並且不對proteus工程做太大變動,所以我選擇了修改keil工程這邊引腳定義,修改完如下圖所示。
但是,修改完之后再運行仿真發現還是出不來現象,也就是LCD上面還是沒有內容顯示,所以我的思路是重新對proteus中所有器件的設置進行檢查,因此,首先就對主芯片AT89C52進行了檢查,發現它的原本設置里頭,晶振的值設置成了12MHz,起初我也沒有想要不要就不改這個了吧,因為平時使用時是直接上硬件晶振的,keil即便按照12MHz編譯其實影響不了什么,但是我想起來了,這次是完完全全軟件仿真,前面修改完LCD引腳定義之后運行的那遍,proteus工程里點開示波器是只有兩條平行線的,所以到了這里我才會決定將晶振按照原原本本的11.0592MHz填上去,然后保存proteus工程,再重新運行仿真的,然后后面顯示結果就成功了。