《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > EDA與制造 > 業(yè)界動(dòng)態(tài) > Proteus 入門教程之AVR 單片機(jī)的仿真實(shí)例

Proteus 入門教程之AVR 單片機(jī)的仿真實(shí)例

2015-01-29
關(guān)鍵詞: Proteus 教程 實(shí)例

(一)、AVR 單片機(jī)的仿真實(shí)例

本例是實(shí)現(xiàn) AVR 驅(qū)動(dòng)LCD1602,并用示波器監(jiān)測(cè)數(shù)據(jù)線。

    開始前先要準(zhǔn)備好仿真文件,就是用編譯器編譯連接產(chǎn)生的調(diào)試或下載文件,不同編譯器產(chǎn)生的文件格式是不同的,如ICC 是COF、IAR 是D90,GCC是COF、ELF。Proteus 6.7sp3 支持的有COF、D90、HEX 等,ELF 暫不支持。

本例用的是:lcd_C.hex。

開始了?。。。?!

運(yùn)行 Proteus 6 Professional(ISIS6 Professional)出現(xiàn)下面窗口:

1、添加元件到元件列表中:本例要用到的元件有:ATMEGA16、LM016L(LCD1602)、“地“、示波器。單擊“P”按鈕,出現(xiàn)挑選元件對(duì)話框

在對(duì)話框的KEYWORDS 中輸入ATMEGA16,得到以下結(jié)果:

單擊 OK,關(guān)閉對(duì)話框,這時(shí)元件列表中列出ATMEGA16,同樣找出LM016L。

最終結(jié)果:

2、放置元件:在元件列表中左鍵選取ATMEGA16,在原理圖編輯窗口中單擊左鍵,這樣ATMEGA16 就被放到原理圖編輯窗口中了。同樣放置LM016L。

添加“地” :左鍵選擇模型選擇工具欄中的圖標(biāo),出現(xiàn):

    左鍵選擇 GROUND,并在原理圖編輯窗口中左擊,這樣“地”就被放置到原理圖編輯窗口中了。添加示波器:左鍵選擇模型選擇工具欄中的 圖標(biāo),出現(xiàn):

左鍵選擇 OSCILLOSCOPE,并在原理圖編輯窗口中左擊,這樣示波器就被放置到原理圖編輯窗口中了。

    補(bǔ)充:放置元件時(shí)要注意所放置的元件應(yīng)放到藍(lán)色方框內(nèi),如果不小心放到外面,由于在外面鼠標(biāo)用不了,要用到菜單“Edit”的“Tidy” 清除,方法很簡(jiǎn)單只需單擊“Tidy”即可。操作中可能要整體移動(dòng)部分電路,操作方法: 先用右鍵拖選,再單擊中的,這時(shí)這部分電路會(huì)隨鼠標(biāo)移動(dòng),在目標(biāo)位置單擊左鍵,這部分電路將被放到該處。

3.連線

AVR、LCD 的VSS、VDD、VEE 不需連接,默認(rèn)VSS=0V、VDD=5V、VEE= -5V、GND=0V

4.添加仿真文件

先右鍵 ATMEGA16 再左鍵,出現(xiàn)

    在Program File 中單擊出現(xiàn)文件瀏覽對(duì)話框,找到lcd_C.hex 文件,單擊確定完成添加文件,在Clock Frequency 中把頻率改為8MHz,單擊OK 退出。

5.仿真

單擊開始仿真。

    說(shuō)明:紅色代表高電平,蘭色代表低電平,灰色代表不確定電平(floating)。運(yùn)行時(shí),在 Debug 菜單中可以查看AVR 的相關(guān)資源。

6、源代碼調(diào)試

    先聲明一下,我是用ICC 的,版本ICC6.31a Pro。Proteus 是支持COF 文件調(diào)試的。在用ICC 時(shí),你應(yīng)該改一下編譯器選項(xiàng),AVR Studio Version 選Studio 3.x,這樣在Proteus中可看到原代碼了。

    在 Proteus 中,完成繪制原理圖和添加調(diào)試文件后(COF 文件),單擊會(huì)出現(xiàn)AVR Source Code 窗口,如果在調(diào)試狀態(tài)下沒出現(xiàn),請(qǐng)到菜單Debug 中找。

說(shuō)一下,下面依次說(shuō)明

1* 連續(xù)運(yùn)行,會(huì)退出單步調(diào)試狀態(tài),并關(guān)閉AVR Source Code 窗口

2* 單步運(yùn)行,遇到子函數(shù)會(huì)直接跳過(guò)

3* 單步運(yùn)行,遇到子函數(shù)會(huì)進(jìn)入其內(nèi)部

4* 跳出當(dāng)前函數(shù),當(dāng)用3*進(jìn)入到函數(shù)內(nèi)部,使用它會(huì)立即退出該函數(shù)返回上一級(jí)函數(shù),可

見它應(yīng)該與3*配合使用

5* 運(yùn)行到鼠標(biāo)所在行

6* 添加或刪除斷點(diǎn),設(shè)置了斷點(diǎn)后用程序會(huì)停在斷點(diǎn)處。

另外,你可 AVR Source Code 窗口中右擊,會(huì)出現(xiàn)右鍵菜單,上面的功能在這里不作說(shuō)明。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。