<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

51單片機proteus電路設計仿真實驗

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

EDA仿真工具proteus

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

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

圖片

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

圖片

點亮二極管實驗任務

實驗目的

設計51單片機最小系統電路,包括單片機晶振電路、復位電路和發光二級管控制電路,加載前面實驗用keil編寫的單片機嵌入程序,驗證程序的運行結果,實驗用單片機型號為AT89C52。

1.1.2.2.實驗步驟

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

圖片

實驗用相關電子元器件

晶振

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

圖片

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

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

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

image.png

電容

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

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

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

image.png

電阻

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

換算關系:1KΩ=1000Ω,1MΩ=1000KΩ

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

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

image.png

發光二極管

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

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

image.png

實驗用相關電路

晶振電路

晶振電路構成時鐘脈沖振蕩電路,為單片機提供時鐘脈沖,下圖為AT89C52單片機的外部晶振電路。

圖片

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

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

復位電路

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

圖片

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

發光二極管控制電路

發光二極管控制電路用于控制二極管的發光狀態,下圖為發光二級管控制電路。

圖片

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

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

實驗過程

新建電路設計模型

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.添加單片機到電路模型

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

圖片

元件庫窗口如下圖。

圖片

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

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

圖片

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

圖片

為單片機添加晶振電路

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

圖片

圖片

圖片

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

圖片

圖片

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

圖片

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

圖片

為方便元器件連接,可以對元器件進行旋轉。例如旋轉名稱為X1的晶振器件:用鼠標選中X1元器件,單擊鼠標右鍵,在彈出的菜單中選擇“Rotate Anti-clockwise”命令,X1元器件會在當前狀態下逆時針旋轉90度。

圖片

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

圖片

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

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

圖片

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

圖片

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

圖片

下一步的工作是將單片機、電容、晶振、電源通過導線連接在一起,連接方式可以參照前面的晶振電路圖。連接方法是將鼠標移動到元器件的一端或電路的節點,當鼠標變為綠色的鉛筆時,按下鼠標左鍵,同時拖動鼠標繪制出導線,拖動導線到合適位置后,雙擊鼠標左鍵導線繪制完成。

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

圖片

為單片機添加復位電路

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

圖片

圖片

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

圖片

修改C3電容容量參數為22uf,修改R1電阻值為1K,電源默認為+5V電源,無需修改。

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

圖片

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

圖片

為單片機添加發光二極管控制電路

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

圖片

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

圖片

參照前面的發光二極管電路圖,將單片機、D1、R2、電源通過導線連接在一起。

圖片

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

實際上51單片機要正常工作,還需要在Vcc引腳接入電源,在Vss引腳或GND引腳接公共接地端。proteus默認單片機已經接電源和接地,無需再進行導線連接。

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

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

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

圖片

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

圖片

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

圖片

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

圖片

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

圖片

觀察電路模型狀態,D1發光二級管已經點亮,藍色方塊表示該端口為低電平,紅色方塊表示該端口為高電平,灰色方塊表示電壓不確定。下一節實驗課程解釋P0口電壓不確定的問題。

實驗小結

通過這次實驗,掌握了proteus設計單片機電路模型的過程,并仿真運行由Keil編寫的嵌入式C程序,點亮了發光二極管。下次實驗目標主要是應用proteus結合keil對嵌入式程序進行源代碼級調試,并解釋在實驗過程中,P0口電壓不確定的問題。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6008

    文章

    44087

    瀏覽量

    623097
  • 電路設計
    +關注

    關注

    6591

    文章

    2333

    瀏覽量

    197436
  • Proteus
    +關注

    關注

    76

    文章

    1688

    瀏覽量

    105751
  • 仿真
    +關注

    關注

    50

    文章

    3891

    瀏覽量

    132436
  • 51單片機
    +關注

    關注

    270

    文章

    5649

    瀏覽量

    121162
收藏 人收藏

    評論

    相關推薦

    51單片機230個proteus仿真實

    51單片機230個proteus仿真實
    發表于 07-07 10:58

    51單片機230個Proteus仿真實

    51單片機230個Proteus仿真實
    發表于 12-23 12:54

    51單片機230個Proteus仿真實

    51單片機230個Proteus仿真實
    發表于 04-22 23:17

    51單片機230個Proteus仿真實

    `51單片機230個Proteus仿真實例`
    發表于 06-20 12:39

    51單片機230個仿真實51單片機外圍proteus仿真

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

    51單片機230個Proteus仿真實

    51單片機230個Proteus仿真實
    發表于 02-24 07:03

    51單片機330個Proteus仿真實

    電子發燒友為單片機學習者提供了51單片機230個Proteus仿真實例,歡迎大家下載學習[hide][/hide]
    發表于 03-16 15:44

    51單片機300個proteus仿真實例下載 精選資料分享

    51單片機300個proteus仿真實例下載,不僅有230個51單片機
    發表于 07-16 07:11

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

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

    51單片機230個Proteus仿真實

    51單片機230個Proteus仿真實例。大家看看吧,有助于學習單片機。
    發表于 03-30 15:39 ?42次下載

    51單片機Proteus仿真實

    51單片機PROTEUS仿真,壓縮包,無密碼,免積分。
    發表于 04-19 15:17 ?271次下載

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

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

    Proteus仿真實驗51單片機數模轉換實驗

    三角波,電壓范圍0V~-5V按鍵三:輸出正弦波,幅值0~-5V四、波形展示:五、文件下載:Proteus仿真實驗51單片機數模(D/A)轉換實驗
    發表于 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'>單片機</b>數模轉換<b class='flag-5'>實驗</b>

    51單片機串口通訊 +Proteus仿真實驗

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

    51單片機仿真實驗

    51單片機仿真實驗文檔
    發表于 06-09 14:58 ?5次下載
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>