㈠ 學習51單片機,應該先學什麼
應該先學習數字電路基礎和模擬電路基礎,然後用一款單片機入門,可以是STC系列的任何一款
㈡ 怎樣學習51單片機
單片機學習如何入門LUOKUI很多搞電子類行業的朋友都夢想自己成為搞硬體的高手,然而搞硬體難就難在沒有頭緒,學習硬體技術找到一個合適的入手點是最重要的。比較流行的硬體技術有數字系統設計、模擬電路系統設計、射頻電路系統設計以及以上三類的混合。模擬與射頻的設計入門門檻比較高而且市場份額比較小,因此學習硬體技術從數字電路入手是最容易而且是最具基礎性的,而數字電路的設計又以單片機的學習為基礎,學習單片機不僅僅是學習一項技術,更重要的是建立起一種數字系統設計的概念,為以後學習其他高檔數字器件以及模擬、射頻電路打下基礎。現在單片機的主流仍然是8位單片機(例如MCS51、AVR、PIC、NEC、瑞薩系列)以及少數16位單片機(例如MSP430、凌陽系列)。在學校的單片機教學中,幾乎都是以MCS51為主。但實際應用中卻不是這樣,在國外的DIY愛好者中,PIC單片機是最流行的;在國內,AVR單片機非常火。所以我要先談談單片機學習的兩種路子。其一是傳統的穩扎穩打型:從MCS51的匯編語言設計以及硬體電路設計開始入手,匯編語言程序設計熟悉了之後(這大概需要半年至一年的時間),對MCS51的內部硬體構成也有了很深的理解,這時再學習51單片機C語言設計(因為實際的大工程不可能用匯編完成),51的資源很有可能不夠用,就要換用其他型號的單片機(例如AVR、430)。這種路子的優點在於基礎厚實,MCS51的匯編語言運用熟練之後,學習其他單片機會很容易上手。但從匯編向C語言的思維轉變是一個比較痛苦的過程。其二是自頂向下型:選定一種實際工程中比較實用的單片機,直接學習怎樣使用C語言來開發它,在較短的時間內掌握對其IO口、定時器、中斷的操作,然後再慢慢了解晶元內部的硬體構成細節。這種路子的優點有很多:初入門時不需要花比較長的時間去學習單片機內部硬體構成結構之類很枯燥的東西,只要明白C語言的變數與單片機的IO口等模塊的寄存器、一個函數與單片機的一項功能、順序語句與單片機的順序輸出、條件語句與單片機的輸入輸出間條件關系、循環語句與單片機的反復型輸出是怎樣映射的就可以完成很多範例項目的開發,可以保持住學習的興趣;可以直接學習實際工程中用得到的東西,不必完成從MCS51向其他單片機的轉變。我推薦大多數的,尤其是已經參加工作的初學者朋友,走第二種路子,而且推薦大家採用AVR系列單片機中的ATmega16來入門。因為AVR相比51和其他單片機有諸多優點。首先是最小系統設計容易,只需要連接電源、焊接晶振就可以工作,尤其是對時鍾精度要求不太高的話晶振都可以省去,因為AVR帶有內部RC振盪器,相比之下51單片機需要外接上電復位電路(AVR內部自帶這個電路而且性能比51的RC復位要好)、EA/VPP引腳要上拉、P0口要上拉等等,光建立最小系統就是很麻煩的一件事。其次很多概念初學者理解起來更容易,AVR的時鍾源(晶振、內部RC等)不經過分頻直接提供給CPU使用,例如AVR外接10MHz的晶振其CPU的時鍾周期就是1/10MHz=0.1uS,而51的時鍾源要12分頻後提供給CPU,12MHz的晶振對應的CPU時鍾頻率是1MHz,這一點尤其是在計算定時器相關的設置時AVR非常方便。第三,相比例如PIC、430等其他單片機,AVR既具有簡單的、可以自製的ISP下載線和Jtag模擬器,又有DIP直插的封裝形式,而且網路上AVR有關的中文資料非常多,尤其是有Atmel公司官方翻譯的中文技術文檔,大大方便初學者的入門。.第四,AVR的C語言編程與教科書上學習的C語言語法是幾乎一樣的,不像51的C語言,一些bit、srf之類的變數定義在教科書中是找不到的,在更高層次的ARM、DSP的C語言中也是沒有那樣用的,僅僅是51獨有的用法,尤其是bit變數的用法很「匯編化」,會給後續的嵌入式系統的程序設計形成不好的思維模式。而AVR的設計很入嵌入式系統設計的主流,有利於後續的發展。說了這么多「空洞」的東西,我們說點比較實在的吧,我也是初學者過來的,比較了解初學者的心理,恨不得你給他制定出第一步、第二步、第三步該干什麼,那我就按照這個模式講一下:Step1,准備萬用板三塊,查找Jtag、ISP的電路,焊接,用掉兩塊板;剩下的一塊用來焊接AVR的最小系統。Step2,在ATmega16的一個8位IO口上焊接8個LED(注意要串接220歐姆限流電阻哦)。Step3,寫一個流水燈的小程序。
㈢ 准備學習51單片機,需要哪些預備知識盡量說的全面些,謝謝大牛!
1、先學基礎的,比如51單片機。先認真看一下51單片機的原理,硬體結構,明白為什麼可以通過編程來完成各種功能。
2、然後學習一下51單片機的各功能模塊(主要是相應寄存器的學習和掌握,比如與串口通信有關的寄存器,與定時/計數器有關的寄存器),這些都是應用時經常用到的。
3、去弄一塊學習板,功能不一定要非常多,但基本的模塊要有,比如:數碼管,獨立按鍵,矩陣按鍵,液晶介面,DS18B20(單匯流排),24C02(IIC匯流排),93C46(SPI介面),紅外接收,等。掌握了上述的模塊,就基本上有一定基礎了。
4、多看,多動手,多編程,多想。
5、多交流。
㈣ 如何學習51單片機
新手學習單片機,往往感覺到不好入門,無從下手。學習單片機過程,是一項理論與實踐並重的過程,只看書不實踐,或是只重視模仿,不重視理論的學習,是無法學習好單片機的,單片機的學習需要理論和動手,要學會抓住單片機的精髓,如定時器和中斷,多看書、多上網查資料、多記錄學習心得、看到別人遇到的問題,有能力幫助別人解決問題就多幫助,幫助的過程也是自己學習提高的過程。我相信每個人只要多加練習,假以時日,都可以成為一個精通單片機的能手!
一、新手學習單片機的步驟:
1、學習理論知識,了解單片機的基本原理、寄存器、中斷、定時器等的基本概念;
2、最好有一個開發板,在開發板上從最簡單的功能開始實現,比如做一個流水燈、蜂鳴器音樂盒等;
3、實現簡單的功能後,開始嘗試更復雜的程序,例如LCD顯示、數字時鍾、串口通信、中斷控制等;
4、在上述功能均可以實現之後,可以組合實現,做一個多功能的單片機系統了;
5、如果對硬體熟悉,可以自己嘗試做一個單片機開發板!
二、新手學習單片機的步驟:
1、理論是指導,要了解單片機的基本原理;
2、理論不是全部,需要動手去探索;
3、實際動手做出一個成品才是檢驗自己學習的理論是否正確的唯一標准
4、網上很多論壇,還有網路知道等,不會的先思考,自己找找原因。實在找不到的,多提問。
總之,新手學習單片機在持之以恆,不要一時興起學習一下,遇到困難就退縮。
51單片機超聲波DIY
㈤ 51單片機的學習方法, 算是教訓的那種方法 要從哪裡入手較好 上手也較快。 求高手指點!!!
先按照課本自學一下基礎知識,比如內部匯流排結構、時鍾電路、復位電路,再把重點放在單片機內部寄存器、片內外設等,學習51匯編指令集。在這過程中,要注意多根據課本中例子加強理解。
差不多一兩個月,可以開始動手了,買一塊開發板,51的板子很便宜,一般100塊錢可以買個不錯的,會贈送給你示常式序、視頻等,跟著示常式序每個都跑一遍,再分析一下人家的程序,這個過程可能比較久,少說得兩三個月,等你把這些全都跑完了,你就出師了!
㈥ 51單片機學習方法
先看單片機的數據手冊,了解cpu 匯流排 寄存器 等等的概念,接下來是學習c語言,然後買塊開發板,接著就是完板子 燒寫程序進去然後自己試著修改,再接著 自己寫程序再調試,到此恭喜你 成為一個單片機的初級菜鳥了