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

參考資料:程序員

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

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

 

零、前言spa

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

1、準備.net

  1 硬件:須要有一臺電腦,筆記本、臺式機都行設計

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

  3 軟件:htm

    1)Proteus 8.4 SP0  blog

      下載地址: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 安裝:按下載頁面的方法安裝好,若是安裝過程當中有什麼問題,必定要注意你操做系統的版本,以及是不是原生系統

2、在proteus繪製硬件電路

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

  一、打開proteus,點擊首頁的「新建工程」新建一個項目

  二、在新建工程嚮導裏依次操做以下:

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

  2)原理圖:DEFAULT

  3)PCB布板設計:不建立

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

   5)點擊「完成」按鈕完成新項目的建立

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

  1)51單片機

  在界面中點擊「P」(P和L表明的是元件模式)

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

  選擇須要的型號後點擊右下角的「確認」按鈕,而後將其放置到電路圖中便可

  2)LED

  重複前面的操做,關鍵字改成「LED」便可,這裏選擇的是「LED-YELLOW」,將LED放到單片機旁邊

  3)電源

   電源在界面左側選擇「終端模式」,而後找到POWER這個元件便是電源。將電源也拖到單片機旁邊

  4)鏈接電路

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

 

3、Keil編寫控制代碼

  一、啓動Keil

  二、新建項目

  1)點擊「Project->New μVersion Project」

  2)輸入項目名稱

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

  三、添加代碼文件

  1)右鍵「Source Group 1」

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

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

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

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

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

  

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

 

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

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

4、Proteus仿真運行

  一、導入HEX文件

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

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

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

  

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

 

5、思考

  一、爲何代碼中LED=0,電源要加在LED的一側

  實際上,代碼中LED=1,電路中LED旋轉180度,LED一側接地而不是電源也能夠將LED點亮。但通常不這麼作,由於單片機啓動時會進行初始化,初始化過程當中各引腳會出現瞬間的通電、斷電,若是LED一側不接電源而接地,單片機初始化時會致使LED閃爍。

  二、代碼中引用的reg52.h是什麼文件

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

6、相關資料

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

  關注公衆號「程序員防脫髮中心」回覆「51」可得到下面的資料

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

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

  三、Proteus8中文使用手冊

  四、AT89C52中文說明書

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

   後續還會繼續補充更多學習資料,敬請關注「程序員防脫髮中心」!

 

相關文章
相關標籤/搜索