學單片機:51通則百通

這是來自某位大神的深度感悟:

學單片機:51通則百通

首先總體上談一談看法:

1、我從不說51是基礎,如果我這麼說,也請把這句話理解為微機原理是基礎。

2、對51單片機的操作本質上就是對寄存器的操作,對其他單片機也是如此。庫只是一個接口,方便使用者使用而已。

3、彙編語言在工作中很少用到,瞭解就好。

4、51的P0口很特別。

5、C語言就是C語言,51單片機就是51單片機,算法就是算法,外圍電路就是外圍電路,傳感器就是傳感器,通信器件就是通信器件,電路圖就是電路圖,PCB圖就是PCB圖,仿真就是仿真。

當你以後再也不使用51了,C語言的知識還在,算法的知識還在,搭建單片機的最小系統的技能還在,傳感器和通信器件的使用方法還在,還會畫電路圖和PCB圖,當然也會仿真。

6、51單片機是這個:

學單片機:51通則百通

而不是這個:

學單片機:51通則百通

7、當程序調試不如人意的時候,靜下心來好好查資料,51單片機最大的好處就是網上資料非常多,你遇到的問題別人肯定也遇到過。作為學習者,問人可能更方便點,但一直這樣是培養不出解決問題的能力的。

接下來上點乾貨:

首先要放清51的定位,跟我一起再念一遍:51只是個工具51只是個工具51只是個工具。當然51還有一個地位就是大學生單片機啟蒙教程。換句話說:單片機只是個工具單片機只是個工具單片機只是個工具。

然後什麼是基礎:模電數電微機原理,然後熟練翻閱數據手冊,可以試著做一些模塊或者最小系統練練手,C語言其實也可以算工具吧,就單片機來說,作為必要條件也算作基礎吧。

再然後是要儘早搞明白自己的專業方向或者自己準備發展的方向,然後不同方向又有不同的專業基礎,你學測控,就需要各種傳感器、控制原理、理論、算法//買測量模塊用不叫測控啊喂;你學信號處理,就需要信號與系統、數字信號處理基礎,然後慢慢接觸DSP、FPGA//信號處理真的不是result=(AD+0.5)/4096*3.3啊喂;你想做嵌入式開發,就慢慢研究ARM的架構,跑一些實時系統甚至高端ARM跑Linux開發驅動或應用;你要是想做通信,每天晚上拜一拜香農好了,這茬貌似挺苦的,什麼通信原理編碼論電磁場blablabla……

總之51/單片機可以實現很多事情,但這不是一定說51重要,而是你如何利用51。哦對了,當你使用更高級的芯片的時候,很多底層的東西慢慢可以忽略了,甚至很多芯片廠商都會提供庫給你,你可以安心的專注於自己的算法而不是如何去控制單片機。當然你最好還是要有一個芯片怎麼通過寄存器及各種邏輯電路工作的概念。

還有說一下你大學課餘生活的選擇、首先那種機器人實驗室或者學生領導的實驗室,適合打比賽刷獎狀、長期下來你的模數電技能能有很大的鍛鍊,甚至你可以收貨一些專利,而且學生之間氣氛也還不錯。另外一種就是找個導師跟著學習、幫忙、做項目,儘管最開始可能感覺導師分配給你的任務怎麼都和單片機無關啊好無聊,但是你能在某個領域收穫不一樣的技術。當然前提是你要喜歡導師的研究方向了,一般院網站都有或者去知網看這個老師發表的論文。

學單片機:51通則百通

談談我的經歷吧。

1、一個沒有C基礎的的我,從師兄老師那打聽到學51從郭天祥的視頻開始,所以我就下載了全套來看。剛開始看真是頭都暈了,點亮一個LED燈還可以,到了第二課的延時函數就吃不消了,可以說我耐力差吧,沒有堅持,可以說我沒恆心吧,不是真正想學東西的人,當時的我沒有把它放心上,只是看了4課而已,其實對裡面的程序不太理解的,於是就停下來不學了。到了大二下學期,我發現要學點技術,所以重抄舊業,學期單片機,然後再重第1課開始看起,結果發現以前不明白的東西現在豁然開朗。我寫這經歷是想說,如果當時我堅持下去,不懂的地方看多幾遍,不懂再看再看,就不會浪費大半年的時間了。有些知識理論靠時間的積累,第一遍看不懂,第二遍看不懂,第三遍可能就懂一點了,剛開始上手一件事是會遇到類似的情況的。

2、當我學了1個月後,學校裡有個比賽,團隊需要一個人搞硬件,於是我自己提出搞硬件,為什麼?因為在學單片機的過程中發現,自己只會跑程序,連原理圖都不怎麼會看,單片機的接線我都是看開發板提供的資料來接的,很狗血吧。。。於是我就開始接觸Altium Designer了,這是我這學期學的第二個軟件。是看視頻入門的,剛開始看的是郭天祥的視頻,結果發現看不下去啊,太長太累了,看完一集好痛苦啊,於是我搜搜,結果發現一個很好的教學視頻,用的也是比較新的版本,叫《邊學邊玩Altium Designer》 四人行工作室開的。我真的提感謝作者這種開源的精神的,對我們初學者幫助很大。跟著他的視頻學習1個月,會畫出51最小系統,基本佈線,不過我覺得還是不夠(當然不夠啦,你才學了一個月……)

3、在學Altium Designer的過程中涉及到電路分析,也就是我們現在學的《電子電路基礎》,於是愛折騰的我開始搗鼓起Multisim 12.0,這是一款電路模擬仿真的軟件。跟著老師學挺慢的,但是教材又高深了一點,比如說分析放大電路,穩壓電源,教材上的東西大多列出公式,對於零基礎學習的朋友是挺苦逼的,而且老師也是趕鴨子式,講考試內容。這裡建議大家買一本書《電子設計零基礎》第二版,這本書是我在圖書館偶然發現的,但從此就迷戀上了他。剛開始他不會介紹一大堆公式,以一個例子開始教學,一步一步教你認識元器件(這裡對學PCB是有幫助的),然後從電路圖的一步分開始分析,接著分析怎麼系統,書本結合Multisim 仿真,教你一步一步使用裡面的控件。

學單片機:51通則百通

寫到這裡自己總結下:

對於學單片機最重要的是

1.先認識單片機,瞭解單片機的主要組成和各個管腳的定義及功;推薦書《單片機原理及其接口技術》胡漢才(很熟悉吧。。呵呵這就是我們大學的單片機教材啊!!經典中的經典啊!基礎中的基礎啊!!人家幾十年的教材沒有變是有道理的,原理這種東西不會變到哪裡去的。不用專門去看,當作瞭解,對你理解編程是很有幫助的。)

2.瞭解一些單片機彙編知識,方便後續調試;這本書《單片機原理及其接口技術》裡面就是講彙編的,一舉兩得。

3.掌握單片機中斷機制;

4.掌握單片機定時和計數器;(3和4是對單片機內部寄存器的控制,要熟練掌握。那些外部拓展功能大多都基於這些內部控制)

5.掌握單片機的串口通信。

以上是對想從事單片機學習的人必須掌握的基本內容。

Altium Designer主要學原理圖庫設計,PCB庫設計,佈線。沒入門的朋友看下視頻,不要求什麼都會畫,起碼要會用人家的庫,把人家的庫移植過來自己用,這樣可以快速上手這個軟件。到後來再慢慢完善自己不熟悉的地方,這在裡一直頭疼我的就是封裝的問題,當時我連封裝是什麼都不懂,自己看視頻查了資料,才慢慢有點認識。


分享到:


相關文章: