【零基礎】入門51單片機圖文教程(Proteus+Keil)


參考資料:

https://www.jianshu.com/p/88dfc09e7403

https://blog.csdn.net/feit2417/article/details/80890218

 

零、前言

  我一直認為看資料還不如先動手試試,在“做”的過程中“學”,先打下基礎、建立興趣,再戒驕戒躁好好看看書,搞明白一些常識。但是網上的教程往往都比較片面,要么給幾張圖、幾段代碼就算完事了,環境如何安裝、細節小問題是怎么回事都講的不是很詳細,所以這篇文章就是要把每一步都講的詳細了,真正0基礎也能看得懂、學的會,不用再去搜其他資料,真的手把手也就這個效果了。

一、准備

  1 硬件:需要有一台電腦,筆記本、台式機都行

  2 環境:請使用官方原版(不要用ghost、精簡系統)的XP或WIN7,很多莫名其妙的問題都是缺少一些dll文件,所以一定要用官方原版的系統,若不想重裝電腦可以使用VMware安裝虛擬機。另外盡量使用32位的系統,畢竟這些軟件都比較老了

  3 軟件:

    1)Proteus 8.4 SP0  

      下載地址:http://www.ddooo.com/softdown/26979.htm 注意看破解方法,其中針對WIN7 X64有部分有誤的地方:

      1)第七步:正確路徑可能是“C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional”,將破解包中的BIN目錄覆蓋到這里即可

      2)第八步:正確路徑可能是“C:\ProgramData\Labcenter Electronics\Proteus 8 Professional”,將破解包中的MODELS目錄覆蓋到這里即可

      (不要修改默認安裝位置,找不到正確路徑的話可以搜索下“Proteus 8 Professional”這個關鍵詞)

    2)Proteus 8.4 漢化包  

      下載地址:本文末尾處

    3)Keil 5       

      下載地址:http://www.ddooo.com/softdown/79273.htm 需要注意的是:

      1)使用注冊機生成注冊碼時,因為現在Keil 5是針對ARM的所以在注冊機的Target欄需選擇為ARM而不是C51

    4)Keil 5 C51依賴包  

      下載地址:https://share.weiyun.com/5WSwsJv(密碼:0000)

      (Keil 5是默認不支持51單片機的,但是可以通過依賴包實現,安裝和使用方法:https://blog.csdn.net/feit2417/article/details/80890218)

  4 安裝:按下載頁面的方法安裝好,如果安裝過程中有什么問題,一定要注意你操作系統的版本,以及是否是原生系統

二、在proteus繪制硬件電路

  這里我們只實現最簡單的功能:點亮一個LED燈

  1、打開proteus,點擊首頁的“新建工程”新建一個項目

  2、在新建工程向導里依次操作如下:

  1)輸入項目名稱、選擇項目存儲位置

  2)原理圖:DEFAULT

  3)PCB布板設計:不創建

  4)固件:沒有固件的項目

   5)點擊“完成”按鈕完成新項目的創建

  3、在電路圖中放置我們需要的三個器件:51單片機、LED燈、電源並連線

  1)51單片機

  在界面中點擊“P”(P和L代表的是元件模式)

  在元器件選擇窗口中輸入51單片機的型號進行搜索,關鍵字“C52”(51單片機的常用型號是AT89C52)。

  選擇需要的型號后點擊右下角的“確認”按鈕,然后將其放置到電路圖中即可

  2)LED

  重復前面的操作,關鍵字改為“LED”即可,這里選擇的是“LED-YELLOW”,將LED放到單片機旁邊

  3)電源

   電源在界面左側選擇“終端模式”,然后找到POWER這個元件即是電源。將電源也拖到單片機旁邊

  4)連接電路

  使用鼠標將LED一端與電源連接,另一端連接單片機的P0.1,要注意LED的方向不要接反了。

 

三、Keil編寫控制代碼

  1、啟動Keil

  2、新建項目

  1)點擊“Project->New μVersion Project”

  2)輸入項目名稱

  3)在新窗口中Search關鍵字“C51”,找到Atmel下的AT89C51,點擊OK按鈕完成項目創建

  3、添加代碼文件

  1)右鍵“Source Group 1”

  2)點擊下圖中畫紅線的地方

  3)新彈出的窗口中選擇C File,Name欄輸入“main”

  4)在main.c中輸入下述代碼,然后保存(畫紅圈的地方)

  4、生成HEX文件(單片機運行使用的文件格式)

  1)右鍵左側的Target按鈕,選擇Opention for Target 'Target 1'

  

  2)新彈出的窗口中選擇Output選項卡,把“Creat HEX File”勾上,點擊OK按鈕即可(這一步是設置程序編譯時要輸出HEX文件)

 

  3)點擊下圖畫紅線的按鈕,編譯程序,注意下側“Build Output”欄是否有提示錯誤,輸出 0 Error即是OK了

  4)找到生成的HEX文件備用(在項目目錄下的Objects目錄內)

四、Proteus仿真運行

  1、導入HEX文件

  1)再次打開Proteus,右鍵單片機,點擊“編輯屬性”按鈕

  2)新窗口中點擊“Program File”會彈出尋找HEX文件的小窗口,找到前面生成的HEX文件

  2、點擊Proteus左下角的啟動按鈕,開始仿真

  

  3、運行結果:LED燈被點亮啦!

 

五、思考

  1、為什么代碼中LED=0,電源要加在LED的一側

  實際上,代碼中LED=1,電路中LED旋轉180度,LED一側接地而不是電源也可以將LED點亮。但一般不這么做,因為單片機啟動時會進行初始化,初始化過程中各引腳會出現瞬間的通電、斷電,如果LED一側不接電源而接地,單片機初始化時會導致LED閃爍。

  2、代碼中引用的reg52.h是什么文件

  C語言中.h是頭文件,reg52.h是51單片機的通用頭文件,里面是單片機的寄存器聲明

六、相關資料

  看完本文你就已經學會了如何使用Proteus+Keil進行51單片機的開發啦!不過這只是最最基礎的內容,后面進階的學習還需要你多多動手,不過毛大閑已經為你准備了后續學習的必備資料。

  關注公眾號“零基礎愛學習”回復“51”可獲得下面的資料

  1、本文所述的Proteus8安裝包、Proteus8漢化包、Keil5安裝包、Keil5 C51支持包

  2、上述軟件安裝方法的PDF文檔

  3、Proteus8中文使用手冊

  4、AT89C52中文說明書

  5、51單片機入門實例(仿真電路圖+C代碼)

   后續還會繼續補充更多學習資料,敬請關注“零基礎愛學習”!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM