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