大學階段學習單片機,以後可以有什麼用?可以做什麼類型的工作?單片機發展前景怎麼樣?
1.大學階段學習單片機,以後可以有什麼用?
2.可以做什麼類型的工作? 3.單片機發展前景怎麼樣? 4.有哪個比較好的用彙編編程的教學視頻嗎? 5.單片機可以進階學習ARM,DSP等等么?那是不是說,只熟悉單片機的話,就會被淘汰?對不起那個建議我把問題拆分下的同學,我初來知乎,很多功能還沒熟悉,望見諒。
這個問題相當於:
大學物理實驗課中學習使用分光鏡觀察干涉條紋,以後有什麼用、可做什麼工作?這類實驗器具有發展前景么?(觀察干涉條紋的實驗,也是基礎物理實驗中操作難度相對大的一個。) 單片機學習起到的作用,跟上述類似——相信這樣一說心裡就能有個大概的感覺了吧。 具體來說:- 通過學習單片機,有利於深入了解微機的電子運行原理,有利於了解硬體基礎運行規則和規律。
- 在單片機編程中所需要用到的彙編指令,也有利於引導計算機科學相關專業的學生下潛去了解底層編程語言的特性。
- 融入動手實踐的課程,都有利於更直觀、感性地傳授知識。
對於今後的工作來說,無論是從事計算機程序設計、電子線路設計、微電子線路及系統設計,單片機的學習經歷都有助益。在本科學習中,除非專業限定特別狹窄,一般不會極度深究單片機本身的內容;更多地是一種入門普及教學——所以可以作為一門通識課程來看待它——所起到的作用也與大多數通識課程相近。
關於 ARM(Advanced RISC Machines, Ltd.),該公司的核心產品線是一類綜合性的微處理器產品,並不是簡單通過某一門課程的學習可以達到的;但無疑單片機相關知識作為先修內容之一是必要和可取的。
關於 DSP(Digital Signal Processing),該領域涵蓋面極廣,且軟、硬體均全面覆蓋。如果要在其領域中發展,一般人只能精通掌控其中幾個分支領域,所以不必擔心、也不要期望某一門基礎課程可以左右任何事情。
至於單片機本身的前景,目前電路規模巨大、功能完善的電子/微電子計算系統已經非常成熟,所以單片機的實際應用可能是在一些小型的專用系統或專用電路上;另外,它本身作為臨時的實驗或建模素材,也有簡便易行的特徵。
關於最後一個問題:知識面只覆蓋任何一個小領域的人,進階的學習和工作都會受到非常大的限制;在基礎教育階段盡量開拓自己的知識面總是有利的。1. 大學裡學單片機, 是你將來從事嵌入式系統開發的一把鑰匙. 相當於學踢球必須先學會帶球跑.
2. 從家電到工控, 從開發到銷售. 都可以. 3. 單片機只是個工具, 沒有前景不前景一說, 真正的前景在於你用單片機實現了什麼產品以滿足用戶的特定需求從而得到用戶付給你的錢. 4. 由於彙編語言因CPU架構的不同而不同, 所以想簡單地尋找所謂某一種彙編語言的教材, 並不能讓你對其他架構CPU的彙編的理解起到相同作用. 應該是你要用什麼CPU, 才學那種CPU特定的彙編語言. 5. 糾正一下你的概念. ARM並不代表"牛B的CPU", ARM中的ARM7, Cortex-M實際上也可以理解為單片機, 只不過外設豐富一點而已. 如果非要區分CPU的複雜程度的話, 也應該以其內核的功能模塊/寄存器架構來區分. 你所說的單片機, 是指通常意義上的價格低廉, 運算速度相對不高, 且外設不算豐富的微控制器. 它可以作為學習高級微控制器或複雜中央處理器的進階基礎. 對於學生來說, 用C51類的單片機開始學習, 是因為它成本低, 結構簡單易於理解. 在你有一定基礎之後, 你選擇CPU不必考慮它"高不高級", 而是應該以一個老闆的角度想問題: 如何用合適的CPU做出高性價比的可靠產品. 淘汰不淘汰, 市場說了算, 你到各大招聘網站上看看那些IT公司需要熟悉哪些CPU的人才, 不就知道行情了嗎?. 附帶說一個個人觀點, 就是關於DSP. 其實你說DSP的功能強大吧, 它再強大也不比Intel酷睿2強. DSP其實是一種結構比較特殊的且功能及外設非常有特色的高級微控制器, 是面向特定應用領域的需求而設計出來的一種CPU.單片機開發的學術細節以及職業方向我個人可能無法給你專業的意見,但是作為已經畢業並且走上工作崗位的普通人,可以和你分享一些想法。
中國大學計算機教育基本上是失敗的,這一點我想在未來相當長一段時間內無法得到根本性改變,即便是像哈爾濱工業大學、大連理工、清華、中科院這樣在中國計算機專業學術上有良好口碑的學校,畢業後很有可能你也無法成為一名能夠躋身google、微軟、ibm等一流企業的工程師。教學內容陳舊、沒有學術熱情作為中國高等教育的普遍現象,在計算機專業領域有過之而無不及。
我講這些,並不是要你自暴自棄,而是希望你在能夠利用好能夠利用的資源,多閱讀國外新近專業著作,透徹的理解你學的每一門課程,並且與世界發展保持同步。有機會能進入企業接觸實際項目當然更好,這樣的機會可以盡量從你的老師那裡獲得,慢慢的你會有更多自己的管道去接觸項目。從你最近提出的問題來看,應該是已經開始大學專業課學習的同學,已經過了新生初來乍到的混沌,開始規劃未來的職業生涯,但是你要想清楚你是不是有足夠的毅力和決心扎進你的專業,任何一個專業,沒有所謂捷徑可走,所謂10000小時理論,就是說的這個道理。
你問到了一些大學學習計算機的學生都會問的問題,就是哪些技術會成為趨勢,哪些會被淘汰,剛才我也提到,國內的大學計算機教育的陳腐可能會更加加強你「讀書無用」的猜想,我這裡給你的建議是,不要太過於糾結哪些會被淘汰,哪些會流行,因為任何技術都不會是石頭縫裡憑空而出,一定是在前人的基礎上發展而來,所以學習不要抱著賭博的心態,覺得學了之後就能以此謀生,而是要抱著與業界同步發展的態度,深層理解趨勢的發展與脈絡,不斷更新自己,一步一個腳印。
關於「轉行」這個事情,我想是你真正關心的。你可能擔心你最初選擇的方向和你之後的興趣或者行業方向背道而馳,但這些並不是你瞻前顧後的理由,這一點你可以看看大前研一寫的《思考的技術》,大前研一在學校進行的是核能研究,後來進入了麥肯錫諮詢公司成為全球知名的企業顧問,這種大轉變在常人看來無法理解,但是你可以從這本書得知整個世界的思考邏輯與做事方法其實是共通大於差異的,更何況單片機、DSP、ARM這些在你的老師看來都是「CPU」 的東東,只要下定決心,給自己充分的轉行理由,肯花時間,轉行是沒有問題的。你現在要真正考慮的,是當下和你興趣相符,並且在你的個人判斷是有價值的專業,這種判斷最終只能你自己作,因為無論別人是什麼意見,最後只有你自己能讓自己心甘情願。
另外說一點題外話,不知你的家境如何,學計算機是一個很費錢的事情,至少買書這一項可能都會有不少開銷,而且抱著立馬能掙錢的心態去學,很容易浮躁結果學不精學不透,時間也耗費了,如果純粹是為了補貼日常開支,我個人建議你不要想著依靠你現在學的去掙錢,你現在正在努力的,只管完全投入熱情就好,如果真的日常開支有困難,可以做做別的兼職,一定要保證你正在進行的學習是一件不摻雜任何直接利益動機的事情。
關於你說的視頻,建議看看新浪或者網易上計算機專業的公開課,即便沒有直接和你專業掛鉤的課程,也可以感受斯坦福或者MIT他們對於計算機專業的態度和熱情,大有裨益。至於基礎教程,建議你還是以課堂時間為主,實在沒有必要因為老師講得不好,然後課下又花大量時間找一些重複課堂內容的經典課程,當然,如果你有考研究生的計劃則另當別論。
其他的視頻就是外面各種IT職業教育的培訓視頻了,這些視頻大多是教育機構的廣告,先放出資源,然後吸引你去報班上課,當然也有少數是整套課程的,但大多也都年份久遠,有空閑可以看看,肯定有收穫,但不建議你太依賴。所以看書,多自己琢磨,多和同學或者同專業的人交流,多爭取動手實踐機會才是王道。單片機(51系列,不說arm)造價低廉,穩定性高,極端適合低成本自動化開發。馬路上紅綠燈,led點陣廣告牌,無一不使用,更不要說稍高端的應用。單片機學的好,今後工作有保障。
你說的是單片機,我假定你對嵌入式方向很感興趣。單片機是嵌入式的基礎,學好了單片機對於你後續的學習會有很大的幫助,怎麼樣才說是學好了單片機,我覺得要自己設計原理圖,自己畫板,自己調試程序,盡量使用單片機完成比較複雜的東西,因為單片機的外圍控制器很少,需要你自己擴展外設,這樣的話,對於你的數字電路,模擬電路都有很好的提升( 原理圖的設計不是說拉幾根線就完事了 ,比如說:什麼地方要接上拉電阻,阻值是怎麼算的,什麼地方要用電容,多大的電容,電路是否可以精簡),學習單片機是硬體軟體可以同步進行的,並且單片機的學習可以不使用彙編,用c就好了,這樣入門比較快,畢竟彙編不如c容易入門,1年半的時間吧。
完了之後可以轉向更高級的cpu,比如arm,就拿arm來說吧,選擇一個比較典型的通用的cpu,過時的cpu不要緊,關鍵是要資料多,這時你需要學習的過程有2個階段:
1.arm架構,彙編語言,並且要對這款cpu集成的控制器的原理(其他cpu的外設控制器的原理都是大同小異的)都弄明白,然後同樣自己設計原理圖,pcb layout,完了之後自己調試(硬體+軟體),這樣你對arm會有比較全面的理解。2.這樣完了之後,可以選擇一個方向,是做硬體,還是做軟體,還是軟硬通吃。硬體我不是很了解,說說軟體吧,這個時候你需要系統的學習操作系統,數據結構,常用演算法等等,多動手做實驗,並且不要忽視理論的學習,可能會很枯燥,但是上班了肯定會用得上。不要逃課,聽課比你自學好快好多!!!可能說了會打擊你信心.
我是學電子.工作基本也算對口吧.大學學的東西能在工作上直接用上的幾乎沒有.語文?扯淡,高中甚至初中就可以了,那千把個字還不認識啊.英語,嗯,看文檔時有用.微機8086原理?什麼東西,基本忘光了.
C語言.出來重學了.彙編?還行吧,不好說.和嵌入式的區別還是蠻大的,但有點關係.跟PN結形成原理,課程名字忘記了.用個二極體還得知道隧道效應?扯吧!馬克思主義?? 略過,想罵人.war3? 就你了,到現在唯一一個還經常用的東西.回頭想想.
大學還是得做點小項目之類具體的東西,學起來最快,而且最有用.工科的應該是這樣,其他的不好說.PS,如果學單片機,相對來說還是比較費錢的.無論偏硬體還是偏軟體.
硬體方向得有實物,開發板之類的.軟體,得買資料看,在某個平台(開發板)上搗鼓實驗.感覺其他都是虛的,必須實踐.
以上僅個人見解.如有錯誤,多多包涵.第一個問題,單片機有什麼用?首先,我們不談那些形形色色的開發板,我舉個幾個例子,曾經用板子做過一個電話,收發簡訊,接打打電話都可以。做過1000m內的無線通信,也就是兩個板子,距離好遠一個給一個發消息,另一個能接到,用的是一個無線收發模塊,忘了什麼名字了。做個一個音樂播放器,做過家庭燈光控制的一個裝置,可以遠程控制家裡的燈,晚上睡覺後自動會關燈,說了這麼多,單片機其實可以做很多東西。這些東西其實嚴格來說不是那個板子賦予的,是一些外圍器件,單片機只是起一個控制協調硬體作用。因為純粹等我單片機,只有最小系統。沒外設。籠統點總結就是,單片機可以控制任何有功能的電子器件。它是控制方法,而不是理論。第二個,可以做什麼樣的工作。首先它是控制硬體的,你會了解硬體知識,控制會學到編程知識,就這兩方面。身邊有人找去做產品的,測距,高精度的那種,1000m內誤差小於0.5cm。大學學的其實就是會用各種感測器,會控制就好了,通信協議也就那麼多,很好學的,扯遠了,工作就兩方面,一個是硬體開發,一個是軟體,交叉的就是做感測器方面。這個不是太了解。但大方向不會錯.
我學自動化的也學單片機,上學期學的微機原理,感覺沒用,但當自己用單片機的時候,發現思路清晰不少,很多類似,所以每門都學紮實了好,學習是為了提升思考和解決方法能力
如果你單片機弄的好其它學起來也快啊要想發財,技術是次要的,比如現在的IC來說,賺大頭的是那些Marketing FAE 因為他們是能聚集到人脈 資源的 當然 要跟公司有關係,另一方面,做純技術的話,MCU雖說低端 但是很多東西是通用的 有興趣可以轉高端的ARM MPU DSP CPU GPU 不要指望寫代碼能賺大錢
當然有用,學好51單片機,一通百通,重要的是方法,單片機,編程語言都是個工具而已。
單片機很好學,從基礎51開始學,很容易入門
在中國上大學,尤其是電子方面的,學校給你的課程有的是淘汰的,有的是純理論一看頭大的,所有的理論都來自實踐中的發現和感受,生活中大多數人以利益而學,所以你永遠學不精。
為什麼都要提到彙編?搞項目開發最終都會i用到彙編嗎?是因為它最接近硬體最有效率?
推薦閱讀:
※noip複賽應該如何準備?
※如果OS X系統像windows系統一樣能被任意購買和安裝,將會怎樣?
※大學裡 C++ 課程聽不懂,但是想當程序員,還有希望么?
※兩個for循環能處理哪些問題?
※作為程序員的你(或者即將成為程序員)何時意識到數學的重要性?