首頁>Club>
題主從大一開始學習51微控制器,今年大二,51微控制器中斷串列埠都會用,控制微控制器實際就是控制暫存器的原理也悟到了,但是就是感覺還是不會用51,連datasheet都看不懂,相關舵機,mpu6050的中文資料都不知道怎麼看,只能靠理解別人怎麼用來自己試,就是因為這樣,我認為我從來都不會51微控制器。。現在學習stm32也感覺很虛,感覺腳踩爛泥,完全前進不了,自己一個人摸索,也沒有進實驗室,很是迷茫,C語言可以說掌握得相當牢固,現在正在學c++,模電剛上完課,成績不錯,雖然只是理論層次的,數電打算寒假學習了,求指點迷津,現在的我該做什麼?
7
回覆列表
  • 1 # XYER小魚兒在路上

    微控制器應用方向要明確,如果有了方向就朝著方向努力,我說的努力是動手能力,思考問題的能力,還有突破思維的想象力。比如,你想把微控制器用在工業控制方向,你就得在與工業控制有聯絡的像電工/電子等等方面下功夫。

  • 2 # 一品技術宅

    上大學時,因為痴迷機器人制作,我開始自學微控制器。隨著深入瞭解,我開始對微控制器產生濃厚的興趣。室友們在開黑玩dota,我在搭電路敲程式碼;室友們在看天下霸唱的小說《鬼吹燈》無法自拔,我在讀郭天祥的自述《我的大學六年》鬥志昂揚。就這樣,學習了一段時間C語言和微控制器,我就開始著手製作機器人。經過一年多時間,我製作的機器人數量不斷的增多,對微控制器的理解和使用也有了很大的提升。後來我的好友也開始學習微控制器,可沒多久他就跑來和我抱怨微控制器太難學,我就讓他去網上買了一套微控制器開發板,或許這樣學習會更容易一點。別說,開發板上的資源還挺豐富,流水燈、數碼管、矩陣鍵盤、LED點陣、紅外遙控器、直流電機、步進電機、LCD屏......應有盡有,還配有影片教程。這可比我當初自己搭建的最小系統板強多了,這下應該沒問題了。果然,沒過多久好友就告訴我:“微控制器其實還是挺簡單的嘛。“我給他設計了幾個小專案,他瞄了一眼,說這個太簡單,涉及到的知識點開發板上的教程都有講過,不用再做了,自己回去找點別的專案做。過了一段時間,我的機器人小組要招新人,考題是根據提供的材料現場製作一輛循跡避障智慧車。我的好友也來了,看著他自信滿滿的樣子,我也就放心了。可是最後的結果出乎我的意料,他什麼都沒做出來,他自己也很詫異,明明想法是有的,可是卻無從下手。後來,又有幾個學弟在學微控制器的時候也存在這種問題。我開始認真的思考他們的問題所在:

    初學階段過度依賴微控制器開發板,完全跟著開發板的教程學習,缺乏主動性。

    對微控制器的認知不足,急於求成,恨不得一天就把微控制器學會,導致基礎不紮實。

    盲目自信,跟著教程學習了板上所有資源就覺得自己已經學會了微控制器,不屑於從簡單的專案開始做起。

    遇到疑難問題總是逃避,不積極處理,總想留在以後解決。

    誤認為微控制器主要學習內容就是寫程式碼,不重視底層硬體知識和介面電路知識。

    總而言之,沒有找到正確的學習方法。

    那為什麼我在學習微控制器過程中沒有出現他們的這些現象呢?

    第一點,我沒有使用開發板進行學習,我不是說開發板不好,其實開發板是很好的微控制器學習入門工具,但僅限於入門,它的延展性太差,無法引導大家更深入的學習。

    第二點,我學習微控制器主要是為了製作機器人,而機器人制作則恰好為我深入學習微控制器開闢了一條正確的道路:當我製作紅外循跡智慧車時,我認識了紅外反射感測器,設計了紅外感測器介面電路和H橋電機驅動電路,編寫了多路紅外感測器掃描和PWM調速程式碼;當我製作CCD循跡智慧車時,我認識了影象感測器,設計了影象感測器介面電路,編寫了影象感測器的驅動程式和簡單的影象處理演算法,認識了opencv開源庫,學習了PID控制演算法;當我製作六足機器人的時候,我認識了舵機,開發了多路舵機控制器,開始學習Labview編寫上位機;當我製作自平衡車的時候,我認識了加速度感測器和陀螺儀,瞭解了卡爾曼濾波,加深了對PID的認識;當我......

    在這些機器人的製作過程中,我熟練掌握了各種除錯技巧,注重程式碼編寫的質量,面向介面程式設計,接觸了設計模式,歸納了程式設計中常見錯誤......就這樣,沿著機器人制作這條路去學習微控制器,不會因為某一個模組程式碼簡單就不寫,不會因為某一個模組電路簡單就不畫,更不會因為眼前的困難而放棄,因為我的目標就是完成我的機器人制作。

  • 3 # 小X的日常

    對於題主的困惑,想要深入微控制器,學得更明白的話,談談我是怎麼做的吧。

    1. 51入門微控制器很好,已經明白暫存器原理就OK,說明程式中的程式碼對IO口在做什麼事情至少是清楚的。datasheet看不懂,為什麼?因為不知道看哪裡和怎麼看。

    看哪裡呢?不管是中文還是英文文件,幾百頁從頭看到尾那簡直是瘋了~ 所以需要有目的性地看,也就是說要帶著問題看文件,比如你遇到操作舵機,舵機有自己的時基脈衝,脈衝寬度多少表示多少角度?怎麼產生PWM,怎麼改變脈衝?這些問題都需要看datasheet,舵機的手冊會告訴你它的產品脈衝和角度的關係;微控制器的手冊會告訴你怎麼生成PWM,怎麼自己修改脈衝寬度。去目錄裡找相應問題可能的位置就好啦。那怎麼看呢?通常手冊都會有圖或者圖表文字的形式展示給你它的外設框圖,圖中一般會寫出暫存器的名稱甚至操作位和暫存器位段之間的聯動關係,根據上下文的描述看著圖很容易就能明白要怎麼操作了。

    2. 為什麼總要看著別人的理解才能試著做呢,拿了新的外設還是不知道如何開始動手呢?因為沒有產生自己的新想法。外設功能,無非就是讓微控制器對IO口的操作來完成,不論是關於調整波形、實現通訊協議還是基本的電平變化。這些操作都是可以看到實現效果的,而效果很關鍵,你做一個東西至少要讓出來的東西符合自己的預期吧。而通常一個外設可以直觀地想象出能拿來做什麼。

    比如一個人體紅外模組,它可以感知生物的熱紅外,而它做出的反應就是輸出一個電平告訴你它識別到相應東西了,不需要你瞭解紅外PIR探頭怎麼反射捕獲的,感應訊號如何運算放大,耦合再放大... 拿到電平你可以做很多事情,接燈、蜂鳴器、電動門、風扇、自動洗手池...超乎你想象的應用場景。

    知道應用場景了,我們從程式設計出發,看看改動一些邏輯能在IO產生什麼新的現象,為什麼能發生,還能怎麼改動?這樣在程式執行結果上給你的反饋能大大加強參與感,獲得不斷的樂趣,探索新的裝置使用,對微控制器平臺作更深入的應用。

    3.微控制器還是屬於偏軟體層面的編寫,必要時需要自己畫PCB板子,並焊接使用。如果題主希望向硬體方面,電子這一塊發展,模電還是相當重要的,解釋了很多電氣電路的使用原理和適應的使用範圍。在產品電路設計乃至畫板時會起很大作用,感興趣寒假好好利用看看自己是不是能堅持電子電路這一塊也不錯噠。

    https://blog.csdn.net/Emmy_kanly

    祝學業有成!

  • 中秋節和大豐收的關聯?
  • 為什麼蘋果手機的科技總是走在科技前沿?