Eehk
Would you like to react to this message? Create an account in a few clicks or log in to continue.
Eehk

Electronic Engineer of Hong Kong
 
首頁首頁  Latest imagesLatest images  搜尋搜尋  會員註冊會員註冊  登入  

 

 51單片機入門提高,新手必看

向下 
發表人內容
alexli2k




帖子数 : 61
注册日期 : 2013-01-31

51單片機入門提高,新手必看 Empty
發表主題: 51單片機入門提高,新手必看   51單片機入門提高,新手必看 Empty周五 8月 02, 2013 2:25 am

單片機到底難不難?我想在這裏首先給欲學習單片機的同志們一個底:不難!當然咯,入門不難,精通可就得真下功夫啦!
       下麵言歸正傳.

.什麼是單片機?

       單片機這個東西,範圍說廣也廣,說窄也窄,即是有廣義和窄義之分,到底來,區分這些東西並沒有什麼實際的意義.用我的言語來描述一下單片機就是這麼個東西:單片機就是一塊晶片,我們可以通過編程來控制它內部的資源(資源單片機資源指的是單片機內部的功能),通過內部的控制從而控制週邊的電路,最終達到一定的效果.

.單片機編程

       單片機採用彙編和C語言來編程.現今的單片機大多數採用C語言來編程,極少數或極少部分會涉及到彙編編程(為什麼必要的時候用彙編?因為有些時候,一些直接的機器指令的執行速度,判斷方式會C語言簡潔且快速,對於一些重要的核心的程式,彙編無可代替).

       注意:

       1.不同單片機的彙編指令是不同的.51,pic,8088(可以看做為單片機),它們的彙編並不相同.當然,它們的基本原理相同,僅僅是指令不同僅此而已.

       2.C語言可以看做是組合語言的升級版.C語言的出現大大簡化了程式設計的難度.C語言寫好的程式需要經過編譯和鏈結等步驟,最終還是要被翻譯成組合語言(這裏不太嚴謹,不傷大雅).不論是何種語音,它們的本質就是二進位0101010...

.C語言不會可不可以學習單片機?

       完全可以.但會比較吃力,學習進度比較慢.


新手學習流程:


1.C語言的學習:
  建議首先學習C語言,推薦譚浩強老師的C語言學習.當然,邊學單片機的同時學習C語言也可以.(譚浩強老師的C語言教程講的是電腦C語言,它與單片機C語言有些許差別.因為我們寫單片機C語言是要操作這塊晶片的,所以會涉及到晶片).

51單片機入門提高,新手必看 Clip_image001C語言程式設計》譚浩強.rar (2.61 MB, 下載次數: 221)

2012-8-20 20:01 上传

点击文件名下载附件



2.單片機入門教材選定:
  LZ當時學習單片機的時候,是直接從PIC18系列入手的,當時的情況,簡直是糟透了,什麼都不知道,連單片機是什麼,PIC是什麼,開發板是什麼都弄不清楚.現在算是弄清楚了,PIC也是單片機的一種,開發板就是學習一塊晶片而特地做的一塊板子.話說回來,LZ當時學習PIC的時候,完全就是白癡一個,LZ絕對不是一個知難而退的人,不會硬著頭皮也要上,慢慢的在一些學長的幫助和自己,同伴的努力摸索學習之下(不會不要緊,不要怕自己不會,不要遇到困難就被困難打了下去。不會,我們可以去問,要是沒有人問,可以百度!百度是一個很好用的學習工具~一點要學會用百度!),終於在一個假期不到的時間內初步學會了單片機,並設計了智慧交通燈系統.
       現在回想看來,一個假期初步學會簡直就是太慢了(LZC語言基礎的,考試97高分吧~哈哈!).因為當時不懂得路怎麼走,所以今天,LZ把最簡潔的路給大家說說.

       如今所流行的入門級單片機當屬51單片機,51單片機的學習推薦郭天祥老師<十天學會單片機>教程.這個教程做的非常好,郭天祥老師對單片機入門的貢獻也是非常之大的!在這裏感謝郭老師.

       郭天祥老師書籍以及教程使用技巧.

       對於視頻來說,就是咱們學習的很好的工具,看會,不多說.郭天祥老師的書,這裏有電子版,大家一定要保存好,書裏面的內容有很好的參考價值,包括:各種元件驅動程式和一些基礎的電路圖等.

51單片機入門提高,新手必看 Clip_image001郭天祥51視頻目錄以及單片機週邊電路設計【愛板網】.rar (5.01 MB, 下載次數: 204)

2012-8-25 09:27 上传

点击文件名下载附件


  
視頻:   

郭天祥老師51視頻教程原版13課:  
http://pan.baidu.com/share/link?shareid=3896&uk=2033151475
書籍:
《新概念51單片機C語言教程》:
http://pan.baidu.com/share/link?shareid=9235&uk=2284828655
光碟資料:
對應學習板資料[無論有沒有實物,這個是必備的。裏面很多資料。]:   
http://pan.baidu.com/share/link?shareid=4217&uk=2284828655
建議:該開發板並不貴,淘寶挺便宜的。如果經濟充裕,可以考慮購買一個。採用Protues仿真學習也同樣是一種很好的選擇。LZ學習初期,用的就是Proteus仿真。


3.仿真軟體proteus

      這幾日一直沒有空,今日早起了把這篇51的入門教材再繼續的完善一下~

       有些時候,我們並沒有足夠的money去購置各種開發板、晶片和其他的電子元器件。所以,很多時候,單片機仿真給我們提供了一種不用花額外money而學習單片機和各種晶片的機會。當然,有些東西沒法仿真就只能掏掏我們的腰包了。

       E學習單片機的時候,首要的仿真軟體就是proteus啦,它是目前最好的仿真單片機及週邊器件的工具。是目前世界上唯一將電路仿真軟體、PCB設計軟體和虛擬模型仿真軟體三合一的設計平臺,其處理器模型支援8051HC11PIC10/12/16/18/24/30/DsPIC33AVRARM8086MSP430等,2010年又增加了CortexDSP系列處理器,並持續增加其他系列處理器模型。在編譯方面,它也支持IARKeilMPLAB等多種編譯器。

      proteus上手比較容易,學的時候也沒怎麼花力氣,一般的電路來說,搭建起來也比較簡單。但對於一些簡單的實用的操作,還是有不會的。

       LZ當初學習的時候就是通過這個視頻教程學習的。視頻是由湖北工業大學(還是學院?記憶中好像是這個學校的,這個不是重點,LZ翻閱了一下原視頻,開頭她也沒有介紹,LZ乾脆就不管了。哪位看到以後,如果不對,請message我一下~)的一位老師錄製的。LZ真的很感激這位老師~!雖然這位老師講課的聲音不敢恭維,可這是一部非常難得的proteus視頻教程。LZ當時收集的時候也頗為不易呀!嘿嘿~希望大家多頂多支持我們的論壇~

 

proteus視頻教程:    proteus入門到精通01-05
                                   proteus入門到精通06-10
                                   proteus入門到精通11-15
                                   proteus入門到精通16-20
                                   proteus入門到精通21-25
                                   proteus入門到精通26-29
proteus文本教程:   proteus文本pdf教程
      此文本教程包含兩部分內容:一部分是長江大學的一部教程,另一部是《嵌入式系統設計仿真與開發平臺研討會專刊》的特稿教程。後一部分LZ看過,挺不錯的。現在而言proteus中文教程並不是很豐富,其Help比較難讀懂,所以,是教程LZ見到就收集來了。如果諸位有更好的教程,可以推薦一下哦~

proteus軟體下載: proteus軟體漢化破解   
       LZ不建議漢化哦~~~,如果英文真的一竅不通,那麼就漢化吧~

4.C51開發系統keil

       keilLZ就不多做介紹了。就是用來寫51程式的軟體。具體使用方式會在郭天祥老師的視頻教程裏出現。

       keil C51 v9.00下載 :  keil C51破解版

5.如虎添翼
       在這一部分,LZ主要會講一些方便我們學習開發的一些方法和有用的軟體等。
①proteuskeil級聯
       對於這一部分,新入手的朋友們可能會不懂是怎麼回事。簡單說明一下,keil是我們開發C51程式的系統,我們寫好的程式經過編譯連接以後可以加入到proteus仿真電路圖中進行仿真(前提是你已經通過proteus搭建好了仿真電路圖)。而寫程式,將程式加入仿真電路圖,這是分開的過程,現在,如果將兩者級聯在一起,那麼,我們就可以直接通過keil,並且通過proteus仿真電路圖,直接調試我們的程式了。廢話不多說。

方法如下:

第一步:首先你要下載安裝這兩個軟體了。本站鏈結見上面。還有你需要這個dll檔: 51單片機入門提高,新手必看 Clip_image001VDM51[愛板網].rar (65.86 KB, 下載次數: 53)

2012-8-25 10:22 上传

点击文件名下载附件


第二步:安裝完畢,把C:\Program Files\Labcenter Electronics\Proteus 6 Professional\MODELS\目錄下的 VDM51.dll檔複製到 C:\Keil\C51\BIN文件夾下。(目錄名都是默認的,你可以根據你實際安裝的目錄進行複製。)

第三步:用記事本(其他的編輯軟體也可以,Ultra Edit)打開Keil 根目錄下的 TOOLS.INI 文件,在[C51] 欄目下加入 TDRV3=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver" ) ,其中“TDRV3” 中的 “3”要根據實際情況寫,不要和原來的重複。(我的這個檔中已經有了從TDRV1TDRV4, 所以我用的是TDRV5)

第四步:keil的設置。為了讓讀者更好的瞭解這個過程,筆者以Proteus自帶的例子來說明。把"C:\Program Files\Labcenter Electronics\Proteus 6 Professional\SAMPLES""8051 LCD Driver”檔夾複製到新建的Proteus檔夾下。運行keil程式,在"8051 LCD Driver"檔夾下建立一個新的名為8051 LCD Driver工程。單片機的型號選擇AT89C52就可以,把LCDDEMO 檔加到"Source Group 1"組裏。點擊工具欄的"option for target"按鈕,在出現的對話方塊裏點擊"Debug",在右欄上部的下拉菜單裏選中" Proteus VSM Monitor-51 Driver",還要點擊一下Use前面的小圓點。

       再點擊"Setting"設置通信介面,在Host後面添上"127.0.0.1",如果你是用的不是同一台電腦,在這裏添上另一台電腦的IP位址(另一台電腦安裝Proteus) Port後面添上"8000"。點擊"OK"按鈕即可。最後把工程編譯一下。

第五步:Proteus的設置。運行ProteusISIS,滑鼠左鍵點擊功能表"DEBUG",選中"use romote debuger monitor"。下面我們用滑鼠左鍵點擊功能表"File",再點擊"Load Design",導入"8051 LCD Driver"文件夾下的LCDDEMO.design文件。注意,一定要把keil的工程和Proteus的檔放到同一個目錄下(這裏所說的Keil的工程指工程的目錄,Proteus的工程檔要和Keil工程的那個檔夾在同一層目錄下)。好了,我們現在就可以試試我們的成果了!打開keil,按Ctrl+F5進入調試介面或者點擊工具欄的調試按鈕。如果不能進入調試介面,可能設置有誤,按照上面的步驟再重新設置一下。進入了調試介面,按F5或者點擊工具欄的調試按鈕,全速運行,再看看ISIS,有什麼變化了嗎?你可以調整一下你的螢幕,讓兩個程式同時出現顯示器上。

       連接成功以後,你可以在keil調試你的程式了,單步、全速都可以;也可以進行設置中斷點、觀察變數的值等。你也可以在Proteus做硬體方面的類比,如按按鍵、改變可調電阻的阻值等,這個時候keil都會有反應的;我們還可以在Proteus加上一些儀錶,如示波器、電錶、頻率發生器等。試試看,你會對Proteus愛不釋手的。
常用51輔助小軟體集合
       此處我就不再多寫了。這些軟體已經由翔宇會員給我們提供了,再此感謝他對論壇和大家的貢獻。同時,我們也希望大家能夠積極踴躍的給予我們論壇最大的支持~~~
       下載地址:學單片機常用的軟體軟體集合





~ 轉自 愛板網 ~
回頂端 向下
 
51單片機入門提高,新手必看
回頂端 
1頁(共1頁)

這個論壇的權限:無法 在這個版面回復文章
Eehk :: Eehk :: 單片機 :: 8051-
前往: