官术网_书友最值得收藏!

1.6 單片機系統的原理電路設計與虛擬仿真

前面介紹了Proteus ISIS軟件平臺的基本功能及使用。本節通過一個“流水燈制作”的案例,介紹Proteus下的單片機系統原理電路的設計與虛擬仿真。

1.6.1 原理電路設計與虛擬仿真步驟

Proteus下的虛擬仿真在相當程度上反映了實際的單片機系統的運行情況,在Proteus開發環境下,單片機系統的設計與虛擬仿真分為3個步驟。

1. Proteus ISIS下的電路設計

首先在Proteus ISIS環境下設計單片機應用系統的電路原理圖,包括選擇各種元器件、外圍接口芯片等,以及電路連接和電氣檢測等。

2. 源程序設計與生成目標代碼文件

在Keil μVision 3軟件平臺上輸入、編譯與調試源程序,并最終生成目標代碼文件(*.hex文件)。Keil μVision 3將在下一章介紹。

3. 調試與仿真

在Proteus ISIS平臺下將目標代碼文件(*.hex文件)加載到單片機中,并對系統進行虛擬仿真,這是本節要介紹的內容。在調試時也可以使用Proteus ISIS與Keil μVision 3進行聯合仿真調試,請見后面的介紹。

單片機系統的原理電路設計及虛擬仿真整體流程如圖1-22左側的流程圖所示。第1步“Proteus電路設計”在Proteus ISIS平臺上完成。第2步“源程序設計”與第3步“生成目標代碼文件”在Keil μVision 3平臺上完成。第4步“加載目標代碼、設置時鐘頻率”在Proteus ISIS下完成。第5步“Proteus仿真”在Proteus ISIS下的VSM模式下進行,其中也包含了各種調試工具的使用。圖1-22中的第1步“Proteus電路設計”的步驟展開如圖1-22右側的流程圖所示。

圖1-22 Proteus電路設計與仿真流程

由圖1-22右側的流程圖可以看到,用Proteus ISIS軟件設計單片機系統電路原理圖的各個步驟。下面以“流水燈的制作”的原理電路設計與虛擬仿真為例,詳細說明具體操作。

1.6.2 新建或打開一個設計文件

1. 建立新設計文件

單擊主菜單的“文件”→“新建設計”選項(或單擊主工具欄的47400-00-23-2按鈕)來新建一個文件。如果選擇前者新建設計文件,會彈出圖1-23所示的“新建設計”對話框,其中提供了多種模板,單擊要選擇的模板圖標,再單擊“確定”按鈕,即可建立一個該模板的空白文件。如果直接單擊“確定”按鈕,則選用系統默認的DEFAULT模板。如果單擊工具欄的47400-00-24-1按鈕來新建文件,就不會出現圖1-23所示的對話框,而直接選擇系統默認的模板。

圖1-23 “新建設計”對話框

2. 保存文件

按照上面的操作,為案例建立一個新的文件,在第一次保存該文件時,選擇“文件”→“另存為”選項,彈出圖1-24所示的“保存ISIS設計文件”對話框,在該對話框選擇文件的保存路徑和文件名“流水燈”后,單擊“保存”按鈕,就完成了設計文件的保存。這樣就在“實驗1(流水燈)”子目錄下建立了一個文件名為“流水燈”的新設計文件。

圖1-24 “保存ISIS設計文件”對話框

如果不是第一次保存,可選擇“文件”→“保存設計”選項,或直接單擊47400-00-24-4按鈕。

3. 打開已保存的設計文件

選擇“文件”→“打開設計”命令,或直接單擊47400-00-24-5按鈕,彈出圖1-25所示的“加載ISIS設計文件”對話框。單擊需要打開的文件名,再單擊“打開”按鈕即可。

圖1-25 “加載ISIS設計文件”對話框

1.6.3 選擇需要的元件到元件列表

電路設計前,先列出設計“流水燈”電路原理圖需要的元器件,如表1-1所示。

然后根據表1-1選擇元件到元件列表中。觀察圖1-2,左側的元件列表中沒有一個元件,單擊左側工具欄中的47400-00-25-2按鈕,再單擊器件選擇47400-00-25-3按鈕,出現Pick Devices窗口,在窗口的“關鍵字”欄中,輸入AT89C51,此時在“結果”欄中出現“元件搜索結果列表”,并在右側出現“元件預覽”和“元件PCB預覽”,如圖1-26所示。在“元件搜索結果列表”中雙擊需要的元件AT89C51,這時在主窗口的元件列表中就會添加該元件。用同樣的方法將表1-1中需要選擇的其他元件也添加到元件列表中即可。

表1-1 流水燈所需元件列表

圖1-26 Pick Devices窗口

所有元件選取完畢后,單擊“確定”按鈕,即可關閉Pick Devices窗口,回到主界面繪制原理圖。此時的“流水燈”的元件列表如圖1-27所示。

圖1-27 元件已添加到元件列表

1.6.4 放置元件并連接電路

1. 元件的放置、調整與編輯

(1)元件的放置

單擊元件列表中需要放置的元器件,然后將鼠標指針移至原理圖編輯窗口中單擊,就會在鼠標單擊處有一個粉紅色的元器件,移動鼠標指針選擇合適的位置單擊,此時該元件就被放置在原理圖窗口了。例如,選擇放置單片機AT89C51到原理圖編輯窗口,具體步驟如圖1-28所示。

圖1-28 元件放置的操作步驟

若要刪除已放置的元件,則單擊該元件,然后按Delete鍵刪除元件,如果進行了誤刪除操作,可以單擊47400-00-26-4按鈕恢復。

單片機系統電路原理圖設計,除了元器件,還需要電源和地等終端,單擊工具欄中的47400-00-26-5按鈕,出現各種終端列表,單擊元件終端中的某一項,上方的窗口中會出現該終端的符號,如圖1-29(a)所示。此時可選擇合適的終端放置到電路原理圖編輯窗口中,放置的方法與元件放置相同。圖1-29(b)為圖1-29(a)列表中各項對應的終端符號。再次單擊47400-00-27-1按鈕時,即可切換回用戶自己選擇的元件列表,如圖1-27所示。根據上述介紹,可將所有的元器件及終端放置到原理圖編輯窗口中。

圖1-29 終端列表及終端符號

(2)元件位置的調整

① 改變元件在原理圖中的位置,單擊需調整位置的元件,元件變為紅色,移動鼠標指針到合適的位置,再釋放鼠標即可。

② 調整元件的角度,用鼠標右鍵單擊需要調整的元件,出現圖1-30所示的菜單,選擇菜單中的命令即可。

圖1-30 調整元件角度的命令

(3)元件參數設置

雙擊需要設置參數的元件,出現“編輯元件”對話框。下面以單片機AT89C51為例,雙擊AT89C51,出現圖1-31所示的“編輯元件”對話框,其中的基本信息如下。

圖1-31 “編輯元件”對話框

? 元件參考:U1,有一個隱藏選項,可在其后打√,選擇隱藏。

? 元件值:AT89C51,有一個隱藏選項,可在其后打√,選擇隱藏。

? Clock Frequency:單片機的晶振頻率為12MHz。

? “隱藏”選擇,可在下拉列表中選擇要隱藏的選項。

設計者可根據設計的需要,雙擊需要設置參數的元件,進入“編輯元件”對話框設置原理圖中各元件的參數。

2. 電路元件的連接

(1)在兩元件間繪制導線

按下元件模式47400-00-28-1按鈕與自動布線器47400-00-28-2按鈕時,兩個元件導線的連接方法是:先單擊第一個元件的連接點,移動鼠標指針,此時在連接點引出一條導線。如果想自動繪出直線路徑,只需單擊另一個連接點。如果設計者想自己決定走線路徑,只需在希望的拐點處單擊即可。需要注意的是,拐點處導線的走線只能是直角。在自動布線器47400-00-28-3按鈕彈起時,導線可按任意角度走線,只需要在希望的拐點處單擊,把鼠標指針拉向目標點即可,拐點處導線的走向只取決于鼠標指針的拖動。

(2)連接導線連接的圓點

單擊連接點47400-00-28-4按鈕,會在兩根導線連接處或兩根導線交叉處添加一個圓點,表示它們是連接的。

(3)導線位置的調整

要想調整導線的位置,可單擊導線,導線兩端各有一個小黑方塊,單擊鼠標右鍵,在快捷菜單(見圖1-32)中單擊“拖曳對象”命令,即可拖曳導線到指定的位置,也可旋轉,然后單擊導線,完成導線位置的調整。

圖1-32 改變導線位置的菜單

(4)繪制總線與總線分支

① 總線的繪制。單擊工具欄的47400-00-28-6按鈕,移動鼠標指針到繪制總線的起始位置單擊,便可繪制出一條總線。如想要總線出現不是90°角的轉折,則使自動布線器47400-00-28-7按鈕彈起,總線即可按任意角度走線,只需要在希望的拐點處單擊,把鼠標指針拉向目標點,拐點處導線的走向只取決于鼠標指針的拖動。在總線的終點處雙擊,即可結束總線的繪制。

② 總線分支繪制。總線繪制完以后,有時還需繪制總線分支。為了使電路圖專業和美觀,通常把總線分支畫成與總線成45°角的相互平行的斜線,如圖1-33所示。注意,此時一定要讓自動布線器47400-00-28-8按鈕彈起,總線分支的走向只取決于鼠標指針的拖動。

繪制圖1-33所示的總線分支,先在AT89C51的P0口右側畫一條總線,然后畫總線分支。在元件模式按鈕47400-00-28-9按下且自動布線器47400-00-28-10按鈕彈起時,導線可按任意角度走線。先單擊第一個元件的連接點,移動鼠標指針,在希望的拐點處單擊,然后向上移動鼠標指針,在與總線成45°角相交時單擊確認,就完成了一條總線分支的繪制。其他總線分支的繪制只需在其他總線的起始點雙擊,不斷復制即可。例如,繪制P0.1引腳至總線的分支,只要把鼠標指針放置在P0.1引腳的口位置,出現一個紅色小方框時雙擊,自動完成像P0.0引腳到總線那樣的連線,這樣可依次完成所有總線分支的繪制。在繪制多條平行線時也可采用這種畫法。

圖1-33 總線與總線分支及線標

(5)放置線標簽

從圖1-33中可看到與總線相連的導線上都有線標D0、D1…D7。放置線標的方法為:單擊工具欄的47400-00-29-2圖標,將鼠標指針移至需要放置線標的導線上單擊,出現圖1-34所示的Edit Wire Label對話框,在“標號”文本框中輸入線標(如D0等),單擊“確定”按鈕即可。與總線相連的導線必須放置線標,這樣具有相同線標的導線才能夠導通。Edit Wire Label對話框除了填入線標外,還有幾個選項,設計者根據需要選擇即可。

圖1-34 Edit Wire Label對話框

經過上述步驟的操作,最終繪制的“流水燈”電路原理圖如圖1-35所示。

圖1-35 “流水燈”電路原理圖

(6)在電路原理電路圖中輸入文字

如果想在電路原理圖中的某個位置輸入文字,可采用如下方法。例如,要在圖1-35中的石英晶振上方輸入“石英晶振”4個字,方法為:單擊左側工具欄中的圖形文本模式47400-00-30-2按鈕,然后單擊電路原理圖中要輸入文字的位置,這時出現圖1-36所示的“編輯2D圖形文本”對話框。在“字符串”文本框中,輸入文字“石英晶振”,然后設置字符的“位置”“字體屬性”等選項。單擊“確定”按鈕后,在電路原理圖中出現剛才添加的文字“石英晶振”,如圖1-37所示。

圖1-36 “編輯2D圖形文本”對話框

圖1-37 電路原理圖中添加的文字

1.6.5 加載目標代碼文件、設置時鐘頻率及仿真運行

1. 加載目標代碼文件、設置時鐘頻率

電路圖繪制完成后,把keil μVision 3下生成的“.hex”文件加載到電路圖中的單片機內即可進行仿真了。加載步驟為:在Proteus ISIS中雙擊編輯區中原理圖中的單片機AT89C51,出現圖1-38所示的“編輯元件”對話框,在Program File文本框中,輸入.hex目標代碼文件(與.DSN文件在同一目錄下,直接輸入代碼文件名“流水燈”即可,否則要寫出完整的路徑,也可單擊文件打開47400-00-31-3按鈕,選取目標文件)。在Clock Frequency文本框中輸入12MHz,使該虛擬系統以12MHz的時鐘頻率運行。此時,即可回到原理圖界面進行仿真了。

圖1-38 “編輯元件”對話框

在加載目標代碼時需要特別注意的是,運行時鐘頻率以單片機屬性設置中的時鐘頻率(Clock Frequency)為準。

需要注意的是,因為在Proteus中繪制電路原理圖時,8051單片機最小系統所需的時鐘振蕩電路、復位電路47400-00-31-4引腳與+5V電源的連接均可省略,Proteus已經默認,不影響仿真效果。所以本書案例在繪制硬件原理圖時,有時為使電路原理圖簡潔、清晰,時鐘振蕩電路、復位電路、47400-00-31-5引腳與+5V電源的連接均省略不畫。

2. 仿真運行

完成上述所有操作后,單擊Proteus ISIS界面中的47400-00-31-6按鈕(見圖1-2左下角)運行程序即可。

這里再重溫本章前面介紹的各種仿真運行按鈕的功能。

47400-00-32-1:運行程序。

47400-00-32-2:單步運行程序。

47400-00-32-3:暫停程序。

47400-00-32-4:停止運行程序。

主站蜘蛛池模板: 马尔康县| 兴宁市| 临桂县| 墨玉县| 永川市| 荣成市| 类乌齐县| 门头沟区| 鄱阳县| 宝丰县| 邵阳县| 郑州市| 耒阳市| 襄城县| 招远市| 青州市| 鄂托克旗| 古田县| 闵行区| 金川县| 柳州市| 双辽市| 高安市| 长海县| 筠连县| 名山县| 金寨县| 历史| 资溪县| 德昌县| 牙克石市| 渝北区| 武川县| 宁都县| 雅安市| 屏东市| 祁门县| 汝南县| 诸城市| 济南市| 城口县|