0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

51單片機(jī)proteus電路設(shè)計仿真實驗

CHANBAEK ? 來源:郎哥編程課堂 ? 作者:郎宏林 ? 2023-11-01 09:22 ? 次閱讀

EDA仿真工具proteus

proteus是由英國Labcenter Electronics公司研發(fā)的EDA仿真工具軟件,EDA主要用于自動化控制系統(tǒng)電路設(shè)計和仿真。我們使用proteus主要完成兩部分工作:一部分工作用于設(shè)計單片機(jī)應(yīng)用電路,包括單片機(jī)與外圍芯片電子器件的布局和連線;一部分工作用于電路仿真,在仿真單片機(jī)內(nèi)運行keil開發(fā)工具編寫的嵌入式程序,驗證電路設(shè)計和嵌入式程序運行結(jié)果,降低學(xué)習(xí)嵌入式開發(fā)對硬件操作的依賴程度。

proteus支持ARM、51等單片機(jī)仿真,51單片機(jī)主要支持ATMEL公司研制的51系列單片機(jī),但不影響使用其它51系列單片機(jī)編寫的嵌入式程序,因為51系列單片機(jī)的指令架構(gòu)都是相同的。proteus仿真的單片機(jī)可以運行keil、matlab、IAR等軟件開發(fā)的嵌入式程序,并可以進(jìn)行源代碼級調(diào)試。

圖片

proteus正版軟件費用比較高,可以在proteus官網(wǎng)下載演示版,演示版是免費的且沒有時間限制。但演示版只能在現(xiàn)有的示例上運行自己編寫的程序,不能仿真調(diào)試,不能保存設(shè)計文件,若演示版不能滿足要求,可以通過搜索引擎查詢其它安裝方式。

圖片

點亮二極管實驗任務(wù)

實驗?zāi)康?/strong>

設(shè)計51單片機(jī)最小系統(tǒng)電路,包括單片機(jī)晶振電路、復(fù)位電路和發(fā)光二級管控制電路,加載前面實驗用keil編寫的單片機(jī)嵌入程序,驗證程序的運行結(jié)果,實驗用單片機(jī)型號為AT89C52。

1.1.2.2.實驗步驟

實驗步驟如下:① 認(rèn)識晶振、電容、電阻、發(fā)光二極管元器件;② 了解晶振電路、復(fù)位電路、發(fā)光二極管控制電路;③ 使用proteus設(shè)計電路模型;④ 加載運行keil編寫的單片機(jī)程序。

圖片

實驗用相關(guān)電子元器件

晶振

晶振(Crystal)——單片機(jī)的心臟,為單片機(jī)提供時鐘脈沖,單片機(jī)所有操作都在時鐘脈沖下執(zhí)行。

圖片

時鐘脈沖除時間外,一般要注意上升沿、下降沿、高電平、低電平,上圖有8個時序脈沖,開始是低電平,過一段時間后出現(xiàn)一個上升沿,并躍變到高電平,高電平持續(xù)一段時間后,出現(xiàn)下降沿,并躍變到低電平。

時鐘周期是晶振工作頻率的倒數(shù),例如12M的晶振,它的時鐘周期就是1/12 μs,若采用了1MHZ的時鐘頻率,則時鐘周期為1μs;若采用4MHZ的時鐘頻率,則時鐘周期為250ns。

下圖是晶振電子元器件的實物圖和電路符號。

image.png

電容

電容(capacitance)——兩個相互靠近的導(dǎo)體,中間夾一層不導(dǎo)電的絕緣介質(zhì),就構(gòu)成了電容器,電容器可以儲存電荷,在交變電路內(nèi)會交替充放電,因此電容可以通交流,隔直流,電容可以與晶振構(gòu)成時鐘脈沖電路,與電阻構(gòu)成單片機(jī)復(fù)位電路,另外濾波、諧振、整流等電路都要用到電容。

電容的容量單位為:法拉(F),其它單位有:毫法(mF)、微法(uf)、納法(nF)、皮法(pf),單位的換算進(jìn)率是1000。

下圖是電容電子元器件的實物圖和電路符號。

image.png

電阻

電阻(resistance)——又稱為電阻器,該器件在電路中阻礙電流的流動,是電路內(nèi)主要的負(fù)載器件。電阻的單位是歐姆,簡稱歐,用希臘字母“Ω”表示。常用的電阻單位還有千歐姆(KΩ),兆歐姆(MΩ)。

換算關(guān)系:1KΩ=1000Ω,1MΩ=1000KΩ

在電路圖中一般將電阻值中的Ω省去,凡阻值在千歐以下的電阻,直接用數(shù)字表示,阻值在千歐以上的,用K表示;兆歐以上的用M表示。

下圖是電阻電子元器件的實物圖和電路符號。

image.png

發(fā)光二極管

發(fā)光二級管(LED)——是一種光電子器件,該器件通電后,電能轉(zhuǎn)換為光能。

下圖是發(fā)光二極管電子元器件的實物圖和電路符號。

image.png

實驗用相關(guān)電路

晶振電路

晶振電路構(gòu)成時鐘脈沖振蕩電路,為單片機(jī)提供時鐘脈沖,下圖為AT89C52單片機(jī)的外部晶振電路。

圖片

晶振電路由晶振和兩個相同容量的電容構(gòu)成,這兩個電容一般稱為匹配電容或負(fù)載電容,并聯(lián)到晶振兩端,為晶體振蕩提供電流回路,若沒有這兩個電容,晶振的振蕩會因為沒有電流回路而停振,這兩個電容的容量都很小,選擇幾十皮法即可,兩個電容的另一端都需要接地。

AT89C52單片機(jī)的XTAL1和XTAL2是外接時鐘引腳,XTAL1為片內(nèi)振蕩電路的輸入端,XTAL2為片內(nèi)振蕩電路的輸出端,這兩個引腳外接晶振和電容,晶振一般取值為12MHZ,電容一般取值為10P~30P。

復(fù)位電路

復(fù)位電路讓單片機(jī)恢復(fù)到初始狀態(tài),讓單片機(jī)的程序從頭開始執(zhí)行。AT89C52單片機(jī)的RST引腳為復(fù)位引腳,該引腳連續(xù)輸入兩個機(jī)器周期以上高電平時有效,機(jī)器周期是單片機(jī)完成一個基本操作所需要的時間,一個機(jī)器周期大約為12個時鐘周期。下圖為AT89C52的復(fù)位電路。

圖片

復(fù)位電路由一個極性電容和一個電阻串聯(lián)構(gòu)成,電容的正極接5V電源,負(fù)極接1K的電阻,電阻的一端接地,RST引腳接電容的負(fù)極。該電路為上電復(fù)位,當(dāng)單片機(jī)在通電瞬間,確保復(fù)位端為高電位并持續(xù)大約2個機(jī)器周期。當(dāng)單片機(jī)加電時,復(fù)位電路通過電容給RST端加一個高電平,此高電平信號隨著對電容的充電而逐漸降低,因此要保持電容充電時間足夠長來完成復(fù)位操作。

發(fā)光二極管控制電路

發(fā)光二極管控制電路用于控制二極管的發(fā)光狀態(tài),下圖為發(fā)光二級管控制電路。

圖片

電路圖的D1為發(fā)光二極管,一端接單片機(jī)P1第0位,一端接200歐姆的電阻,電阻的一端接5V電源,該電阻對電路進(jìn)行限流,因為發(fā)光二級管允許流過的電流較小,所以需要串聯(lián)一個幾百歐姆的電阻。

在當(dāng)前電路下,單片機(jī)加電后,發(fā)光二級管并不會點亮,因為單片機(jī)I/O口(包括P1口)所有位引腳都輸出高電平,該電路無電流流通。前面我們使用keil編寫了一個嵌入程序,該嵌入程序?qū)1口第0位改變?yōu)榈碗娖?,在這種情況下,該電路將有電流通過,發(fā)光二級管被點亮。

實驗過程

新建電路設(shè)計模型

proteus安裝完成后程序名稱為“ISISX Professional”,其中‘X’是版本號。啟動proteus,啟動后的proteus工作窗口如下圖所示。

圖片

展開【File】菜單,選擇【New Design…】命令,或按下Ctrl+O快捷鍵,在彈出的“Create New Design”對話框中,選擇“DEFAULT”模板,單擊【OK】按鈕。如下圖所示。

圖片

展開【File】菜單,選擇【Save Design】命令,或按下Ctrl+S快捷鍵,在彈出的“Save ISIS Design File”對話框,輸入文件名稱,單擊“保存”按鈕保存電路模型。

圖片

1.1.5.2.添加單片機(jī)到電路模型

proteus提供了仿真電子元器件庫,后面統(tǒng)稱為元件庫,單擊下圖所示的“P”按鈕可以打開元件庫窗口。

圖片

元件庫窗口如下圖。

圖片

“keywords”輸入域可以輸入要查找的元器件英文名稱的關(guān)鍵詞、或者元器件的型號。proteus會將與關(guān)鍵詞或型號相匹配的項列在“Results”列表窗口,在列表窗口選擇需要添加的元器件項,單擊“OK”按鈕即可將選擇的元器件添加到當(dāng)前電路模型的存儲庫,以備使用。

例如在“keywords”輸入域輸入要查找的單片機(jī)型號“AT89”,proteus會在列表窗口列出與關(guān)鍵詞“AT89”相關(guān)的元器件,在列表窗口選擇“AT89C52”單片機(jī),proteus會在“Preview”窗口預(yù)覽“AT89C52”單片機(jī)的電路模型符號。單片機(jī)型號確定后,單擊“OK”按鈕將選擇的單片機(jī)添加到電路模型元器件庫。

圖片

在電路模型元器件庫選擇“AT89C52”,在電路模型設(shè)計窗口合適位置單擊鼠標(biāo)左鍵,放置到單片機(jī),并可以拖動單片機(jī)到電路模型的合適位置,位置確定后雙擊鼠標(biāo)左鍵,將單片機(jī)添加到電路模型。

圖片

為單片機(jī)添加晶振電路

前面說過晶振電路需要晶振、電容、電源元器件,打開元件庫,分別使用關(guān)鍵詞“crystal”和“cap”搜索晶振和電容元器件,添加晶振、電容到電路模型元器件庫。

圖片

圖片

圖片

晶振電路還需要5V的電源,用鼠標(biāo)單擊proteus窗口左側(cè)工具條的“Terminals Mode”模式,該模式包含了電源(POWER)、接地(GROUND)等電路器件。如下圖所示。

圖片

圖片

從“Terminals Mode”模式切換到電路模型元器件庫,用鼠標(biāo)單擊proteus窗口左側(cè)工具條的“Component Mode”模式即可完成切換。

圖片

從電路模型元器件庫添加兩個電容、一個晶振、一個接地點到電路模型,如下圖所示。

圖片

為方便元器件連接,可以對元器件進(jìn)行旋轉(zhuǎn)。例如旋轉(zhuǎn)名稱為X1的晶振器件:用鼠標(biāo)選中X1元器件,單擊鼠標(biāo)右鍵,在彈出的菜單中選擇“Rotate Anti-clockwise”命令,X1元器件會在當(dāng)前狀態(tài)下逆時針旋轉(zhuǎn)90度。

圖片

添加的電子元器件默認(rèn)顯示元器件多個參數(shù),如元器件名稱、元器件值的大小、元器件文字說明等。設(shè)計者可以自定義是否顯示和修改這些參數(shù)。例如修改名稱為C1的電容元器件,用鼠標(biāo)選中C1元器件,雙擊該C1元器件,proteus會彈出C1元器件參數(shù)修改對話框,如下圖所示。

圖片

在輸入域“Component Reference”可以修改元器件的名稱,在輸入域“Capacitance”可以修改C1電容的容量,在這里修改為22pf,若不需要在電路模型顯示C1電容的名稱和容量,可以選上Hidden檢查框。

按照上述步驟,分別修改電容器件C1和C2的容量為22pf,修改X1晶振的振蕩頻率為12MHZ。修改后電路模型如下圖所示。

圖片

我們發(fā)現(xiàn)電路模型內(nèi)電子元器件的文本說明沒有隱藏,若需要隱藏文本說明,展開【Template】菜單,選擇“Set Design Defaults……”命令,在彈出的對話框(如下圖所示)去掉“Show Hidden text”檢查。

圖片

元器件參數(shù)配置完成后的電路模型如下圖所示。

圖片

下一步的工作是將單片機(jī)、電容、晶振、電源通過導(dǎo)線連接在一起,連接方式可以參照前面的晶振電路圖。連接方法是將鼠標(biāo)移動到元器件的一端或電路的節(jié)點,當(dāng)鼠標(biāo)變?yōu)榫G色的鉛筆時,按下鼠標(biāo)左鍵,同時拖動鼠標(biāo)繪制出導(dǎo)線,拖動導(dǎo)線到合適位置后,雙擊鼠標(biāo)左鍵導(dǎo)線繪制完成。

繪制晶振電路時,可以分別從單片機(jī)的XTAL1腳和XTAL2腳引出導(dǎo)線連接C1和C2的一端,同時連接到晶振的兩端,然后將C1和C2另一端分別連接到接地點。

圖片

為單片機(jī)添加復(fù)位電路

復(fù)位電路需要一個22uF的極性電容,一個1K的電阻,一個+5V的直流電源。打開元件庫,使用關(guān)鍵詞“res”搜索電阻元器件,添加電阻到電路模型元器件庫,使用關(guān)鍵詞“cap-pol”搜索極性電容元器件,添加極性電容到電路模型元器件庫。

圖片

圖片

從電路模型元器件庫添加一個極性電容、一個電阻、一個電源到電路模型,如下圖所示。

圖片

修改C3電容容量參數(shù)為22uf,修改R1電阻值為1K,電源默認(rèn)為+5V電源,無需修改。

復(fù)位電路元器件參數(shù)配置完成后的電路模型如下圖所示。

圖片

參照前面的復(fù)位電路圖,將單片機(jī)、C3、R1、電源通過導(dǎo)線連接在一起,連接之前添加接地點到電路模型。

圖片

為單片機(jī)添加發(fā)光二極管控制電路

發(fā)光二級管控制電路需要一個200歐姆的電阻,一個發(fā)光二極管,一個+5V的直流電源。打開元件庫,使用關(guān)鍵詞“LED-RED”搜索發(fā)光二極管元器件,添加發(fā)光二極管到電路模型元器件庫。

圖片

從電路模型元器件庫添加一個發(fā)光二極管、一個電阻、一個電源到電路模型,修改元器件參數(shù),調(diào)整元器件到合適位置,如下圖所示。

圖片

參照前面的發(fā)光二極管電路圖,將單片機(jī)、D1、R2、電源通過導(dǎo)線連接在一起。

圖片

裝載和運行Keil編寫的嵌入式程序

實際上51單片機(jī)要正常工作,還需要在Vcc引腳接入電源,在Vss引腳或GND引腳接公共接地端。proteus默認(rèn)單片機(jī)已經(jīng)接電源和接地,無需再進(jìn)行導(dǎo)線連接。

在前面的“Keil開發(fā)環(huán)境與第一個單片機(jī)實驗”課程中,我們編寫了控制單片機(jī)P1口第0位輸出低電平的程序,程序代碼如下:

#include
sbit led1 = P1^0;
void main()
{
       led1 = 0;
}

51單片機(jī)只能運行HEX或BIN文件,HEX是十六進(jìn)制文件,英文全稱為“hexadecimal”,BIN文件是二進(jìn)制文件,英文全稱為binary,這兩種文件可以通過軟件相互轉(zhuǎn)換。若需要Keil編譯后輸出HEX文件,需要對Keil輸出選項進(jìn)行配置。在Keil工作窗口,展開【Project】菜單,選擇“Options for Targets”命令,在彈出的對話框中,選擇“Output”標(biāo)簽頁,確定“Create Hex File”被選中。

圖片

重新編譯C源代碼,在項目的輸出目錄可以看到擴(kuò)展名為“hex”的HEX文件。

圖片

C程序編譯完成后,回到proteus工作窗口,在電路模型窗口使用鼠標(biāo)雙擊單片機(jī),或選中單片機(jī)后單擊鼠標(biāo)右鍵,在彈出的菜單中選擇“Edit Properties”命令,proteus彈出Edit Component對話框(見下圖),選擇使用keil編譯的HEX文件,單擊【OK】按鈕即可裝載C程序到單片機(jī)。

圖片

在電路模型內(nèi)仿真運行前面裝載的單片機(jī)程序,運行程序有兩種方式:一種方式是展開【Debug】菜單,選擇“Start/Restart Debugging”命令來運行程序;一種方式是用鼠標(biāo)單擊調(diào)試工具條的啟動按鈕(見下圖)來運行程序。

圖片

程序運行后電路模型各端口狀態(tài)如下圖所示。

圖片

觀察電路模型狀態(tài),D1發(fā)光二級管已經(jīng)點亮,藍(lán)色方塊表示該端口為低電平,紅色方塊表示該端口為高電平,灰色方塊表示電壓不確定。下一節(jié)實驗課程解釋P0口電壓不確定的問題。

實驗小結(jié)

通過這次實驗,掌握了proteus設(shè)計單片機(jī)電路模型的過程,并仿真運行由Keil編寫的嵌入式C程序,點亮了發(fā)光二極管。下次實驗?zāi)繕?biāo)主要是應(yīng)用proteus結(jié)合keil對嵌入式程序進(jìn)行源代碼級調(diào)試,并解釋在實驗過程中,P0口電壓不確定的問題。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6037

    文章

    44558

    瀏覽量

    635214
  • 電路設(shè)計
    +關(guān)注

    關(guān)注

    6673

    文章

    2453

    瀏覽量

    204350
  • Proteus
    +關(guān)注

    關(guān)注

    79

    文章

    1692

    瀏覽量

    106575
  • 仿真
    +關(guān)注

    關(guān)注

    50

    文章

    4082

    瀏覽量

    133598
  • 51單片機(jī)
    +關(guān)注

    關(guān)注

    274

    文章

    5702

    瀏覽量

    123602
收藏 人收藏

    評論

    相關(guān)推薦

    51單片機(jī)230個Proteus仿真實

    51單片機(jī)230個Proteus仿真實
    發(fā)表于 04-22 23:17

    51單片機(jī)230個仿真實51單片機(jī)外圍proteus仿真

    本帖最后由 嗨,悠悠 于 2013-10-29 21:20 編輯 51單片機(jī)230個仿真實51單片機(jī)外圍
    發(fā)表于 10-20 11:21

    51單片機(jī)230個Proteus仿真實

    電子發(fā)燒友為單片機(jī)學(xué)習(xí)者提供了51單片機(jī)230個Proteus仿真實例,歡迎大家下載學(xué)習(xí)
    發(fā)表于 08-10 09:32 ?1.7w次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>230個<b class='flag-5'>Proteus</b><b class='flag-5'>仿真實</b>例

    51單片機(jī)230個Proteus仿真實例.zip(最齊全)

    51單片機(jī)230個Proteus仿真實例(最齊全)。要學(xué)習(xí)的可以看下下載用Protues仿真軟件來加載學(xué)習(xí)。
    發(fā)表于 01-21 14:45 ?60次下載

    51單片機(jī)230個Proteus仿真實

    51單片機(jī)230個Proteus仿真實例。大家看看吧,有助于學(xué)習(xí)單片機(jī)。
    發(fā)表于 03-30 15:39 ?43次下載

    51單片機(jī)Proteus仿真實

    51單片機(jī)PROTEUS仿真,壓縮包,無密碼,免積分。
    發(fā)表于 04-19 15:17 ?274次下載

    如何使用proteus運行一個51單片機(jī)仿真實

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何使用proteus運行一個51單片機(jī)仿真實例。
    發(fā)表于 07-23 17:37 ?8次下載
    如何使用<b class='flag-5'>proteus</b>運行一個<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>仿真實</b>例

    51單片機(jī)的230個Proteus仿真實電路圖合集免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)的230個Proteus仿真實電路圖合集免費下載。
    發(fā)表于 05-28 17:31 ?290次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的230個<b class='flag-5'>Proteus</b><b class='flag-5'>仿真實</b>例<b class='flag-5'>電路</b>圖合集免費下載

    51單片機(jī)300個proteus仿真實例下載

    51單片機(jī)300個proteus仿真實例下載,不僅有230個51單片機(jī)
    發(fā)表于 11-04 20:35 ?182次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>300個<b class='flag-5'>proteus</b><b class='flag-5'>仿真實</b>例下載

    Proteus仿真實驗51單片機(jī)數(shù)模轉(zhuǎn)換實驗

    三角波,電壓范圍0V~-5V按鍵三:輸出正弦波,幅值0~-5V四、波形展示:五、文件下載:Proteus仿真實驗51單片機(jī)數(shù)模(D/A)轉(zhuǎn)換實驗
    發(fā)表于 11-23 16:36 ?18次下載
    <b class='flag-5'>Proteus</b><b class='flag-5'>仿真實驗</b>之 <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>數(shù)模轉(zhuǎn)換<b class='flag-5'>實驗</b>

    51單片機(jī)proteus仿真實驗下載

    。雖然國內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。Proteus是英國著名的EDA工具(仿真
    發(fā)表于 11-23 16:36 ?2次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>proteus</b><b class='flag-5'>仿真實驗</b>下載

    51單片機(jī)串口通訊實驗2+Proteus仿真

    51單片機(jī)串口通訊實驗2+Proteus仿真
    發(fā)表于 11-23 16:36 ?11次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>串口通訊<b class='flag-5'>實驗</b>2+<b class='flag-5'>Proteus</b><b class='flag-5'>仿真</b>

    51單片機(jī)串口通訊 +Proteus仿真實驗

    51單片機(jī)串口通訊 +Proteus仿真實驗
    發(fā)表于 11-23 16:36 ?57次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>串口通訊 +<b class='flag-5'>Proteus</b><b class='flag-5'>仿真實驗</b>

    基于51單片機(jī)proteus仿真綜合實驗150例

    基于51單片機(jī)proteus仿真綜合實驗150例
    發(fā)表于 03-21 14:45 ?57次下載

    51單片機(jī)仿真實驗

    51單片機(jī)仿真實驗文檔
    發(fā)表于 06-09 14:58 ?7次下載