關注 Proteus有一段時間了,今天終于自己動手仿真了一次。剛開始用還不太習慣這個東東。比如一般類似軟件都是左鍵選取,右鍵屬性,而Proteus卻相反,其大致操作:右鍵選取; 左擊所選為其屬性;右擊所選為刪除。另外左擊所選時,根據位置的不同,可選擇不同的屬性,比如左擊元件體,打開元件的屬性,擊元件下方的< text>則是為對應的屬性……。
每個元件下面的這個<text>感覺應該是放注釋的,由于看著它不爽,總想將其去掉,開始采用的辦法是讓它為空格,即右擊選中元件后,左擊 <text>,在彈出對話框的Text一欄中后面加上一個空格。這樣元件顯示時就看不到文字。后來發現原來這個<text>具有隱藏屬性,在菜單Template中有個set design defaults,其中有個Show hidden text? 將其去掉就不會再顯示<text>的內容了。
還有個問題,不知道所用元件在哪個庫里。初學沒辦法,只好在網上下載了一些別人的例子,察看其中元件的屬性,記下其名字,再到自己的Design中在 Keywords里輸入元件名查找,雖然有些麻煩,不過還挺有效。我想以后用熟了,哪個元件在什么庫里應該就比較清楚了。
以前看的多數的Proteus的資料都是講Proteus和Keil聯合調試的,所以一直有個錯覺,就是用Proteus仿真單片機必須要用Keil。經過今天的實戰才明白原來不是這樣,只要在MCU的屬性中的"Program File"里選中用Keil或是其他什么軟件生成的HEX文件(即要寫入真正的板子上MCU的程序)即可,這樣就相當于在電路里放了一塊寫好程序的 MCU。連好外圍器件后就可以仿真了。
另外還發現,MCU的時鐘電路(即晶振部分)也是可以不接的,同樣可以在MCU的屬性里設置,如在Clock Frequency 里設置為12MHz就可以了。對Proteus默認的顏色感覺不爽, 按理說應該可以自己設置一些顏色參數。經過一番摸索,發現元件的顏色,連線的顏色,背景顏色等都可以在Template菜單下對應項中設置。
仿真過程中還遇到了一個問題,我開始選用的發光二極管叫做LED,怎么運行它都不發光,但電平顯示正常,又用電壓表,電流表測了一下其值也是正常的。沒辦法,又看了一下例子,發現人家用的LED名字叫做LED-RED, 回到我的Design中以LED-為Keywords搜一下庫,看下結果明白了,那個LED應該就是連電路時用的,仿真時不發光,若要其仿真時發光必須用有顏色屬性的LED,我的實驗中用到了LED-RED和LED-GREEN(紅和綠)。
用Proteus搭建的電路圖如下:
所用匯編程序如下:
org 0000h
mov a,#0feh
loop: mov p0,a
lcall delay
rl a
ajmp loop
delay: mov r7,#100 ;djnz為二周期指令,機器周期為振蕩周期的12倍.所以延時時間為:
temp1: mov r6,#02h ;100×2×255×2×12×(1/12) =100ms,
temp2: mov r5,#0ffh
djnz r5,$
djnz r6,temp2
djnz r7,temp1
ret
end