單片機作為微機的具體體現,肯定是電子信息工程專業的壹門專業能力課,壹定要學。
電子信息工程主要學科:電子科學與技術、信息與通信工程、計算機科學與技術。
主要課程:電路理論系列、計算機技術系列、信息論與編碼、信號與系統、數字信號處理、電磁場理論、自動控制原理、傳感技術等。
主要實踐教學環節:包括課程實驗、計算機實訓、課程設計、生產實習、畢業設計等。壹般要求實踐教學環節不少於30周。
單片機學習法:
基礎理論知識包括模擬電路、數字電路和C語言知識。模擬電路和數字電路屬於抽象學科,學好它們需要壹定的精神。在妳學習單片機之前,如果妳覺得模擬和數字電路基礎不好,不要急於學習單片機。妳應該先復習壹下妳學過的模擬和數字電路的知識,加強學習單片機的基礎。否則妳的單片機學習之路不僅會非常艱難漫長,還會半途而廢。筆者壹直認為紮實的電子技術基礎是學好單片機的關鍵,直接影響到學習單片機的速度。有的同學覺得單片機很難,越學越復雜,最後學不下去了。有的同學在閱讀的時候看似明白,但開始的時候卻壹塌糊塗。原因是電子技術基礎沒打好,先被膚淺的知識迷惑了。
單片機屬於數字電路,它的概念、術語、硬件結構、原理都來源於數字電路。如果數字電路基礎紮實,單片機復雜的硬件結構和原理就很容易理解,學習的第壹步就很容易邁出,自信心也就建立起來了。反之,基礎不好,這個那個都不懂。學的越多,問題越多,越不自信。如果覺得單片機難,先放下單片機教材,復習數字電路,把觸發器、寄存器、門電路、COMS電路、時序邏輯和序列圖、十進制轉換等理論知識講清楚。了解了這些知識之後,再來看看單片機的結構和原理。我想妳會完全理解並獲得自信。
模擬電路是電子技術最基礎的學科。它讓妳知道什麽是電阻、電容、電感、二極管、三極管、場效應晶體管、放大器等等,以及它們的工作原理和在電路中的作用。這是妳學習電子技術必須掌握的基礎知識。壹般先學模擬電路,再學數字電路。紮實的模擬電路基礎不僅能讓妳輕松理解別人設計的電路,還能讓妳設計的電路更加可靠,提高產品質量。
單片機的學習離不開編程,而C語言是所有編程中應用最廣泛的。c語言知識不難,沒有任何編程基礎的人都可以學。在我看來,初中生,高中生,中專,大學生都可以學。當然,數學基礎好,邏輯思維好的人相對容易學。C語言需要掌握的知識只有3條條件判斷語句、3條循環語句、3條跳轉語句和1條switch語句。不要小看這10的句子,它們組合起來形成的邏輯就像它壹樣復雜。學習時要壹句壹句學,壹句壹句學,壹句壹句活用。學完這幾個重點句子,相信妳的C基礎已經建立了。
當基礎打好了,妳會覺得單片機不再難學,越學越有活力。當單片機乖乖地按照妳的邏輯思維和算法執行指令,達到預期的控制效果時,那種成就感會讓妳充滿自信,夜以繼日地投入到單片機的世界裏。可以說,紮實的電子技術和C語言基礎可以增強學習單片機的信心,快速掌握單片機技術。
實驗實踐
這是壹個真實的學習單片機的過程,有激動與疲憊,有無奈與不滿,有孤獨與充實,有憤怒與欣慰,有失落與成就感。其中的酸甜苦辣,只有學過的人才深有體會。思想上要有努力學習的決心,硬件上要有壹套完整的學習開發工具,軟件上要註重理論與實踐的結合。
1.決心努力學習
首先,明確學習的目的。先認真回答兩個問題:我從單片機中學到了什麽?學它需要多長時間?這就是妳學習單片機的動力。沒有動力,我覺得妳堅持不了多久。其次,端正學習心態。單片機的學習過程是枯燥而孤獨的。要知道,學習知識是沒有捷徑的,只有壹步壹步,腳踏實地,壹步壹步來,才能學到真功夫。第三,要開動腦筋,努力工作。單片機的學習具有很強的實踐性,是壹門非常註重實際操作的技術學科。不實踐是學不會單片機的。最後,謙虛溝通。每個人在單片機的學習過程中都會遇到無數無法解決的問題,所以妳需要虛心向有經驗的人請教,否則埋頭探索會走很多彎路,浪費很多時間。
2.擁有壹套完整的學習和發展工具。
學習單片機需要成本。必須要有壹臺電腦,壹個單片機開發板(如果開發板不能直接下載程序代碼,需要壹個程序員),壹套視頻教程,壹本單片機教材,壹本C語言教材。計算機用於編寫和編譯程序,並將程序代碼下載到單片機中;開發板用於運行MCU程序,驗證實際效果;視頻教程是教妳如何使用單片機的開發環境,單片機編程和調試。對於單片機初學者來說,視頻教程是壹定要看的,否則即使看了幾遍教材,還是不知道如何下手,尤其是高校的單片機教材。學了之後,面對真正的單片機,妳可能還是束手無策。單片機教材和C語言教材是理論學習資料,供以後參考。不要為了節省成本,只使用Proteus軟件仿真調試,不使用開發板,這和紙上談兵沒什麽區別。
3.註意理論和實踐的結合。
單片機C語言編程的理論知識並不深刻,不用手光看書就能看懂。但在實際編程中並沒有這麽簡單。壹個程序的形成不僅需要C語言的知識,還需要妳自己的編程思路和算法。編程思路和算法決定了壹個程序的好壞,這是單片機編程的壹大難題。只有當妳真正開始寫作的時候,妳才能有深刻的理解。壹個程序能否按照妳的意願正常運行,取決於妳的想法和算法是否正確合理。如果程序出現異常,就要反復調試(檢查修改思路和算法),直到成功。這個過程既費時又耗腦,還讓人精疲力盡。意誌不堅定的人,往往會在這裏半途而廢。
學習寫程序要遵循以下流程,效果會更好。看到套路題目盡量構思自己的編程思路,然後看看教材或者視頻教程裏的代碼,研究別人的編程思路,註意和自己思路的差異;接下來,我抄襲了人們的想法,自己寫了這個程序,了解每壹句話的作用;如有疑問,盡量按照自己的想法修改程序,對比程序運行效果,了解其中奧妙。每壹個套路都堅持按照這個過程去學習,妳很快就會找到編程的感覺,取其精華去其糟粕,久而久之就會形成妳獨特的編程思路。當然,壹開始看別人的程序源代碼就像看天書壹樣。看到不懂的關鍵詞和句子就硬著頭皮翻翻書。只要能堅持,就會事半功倍。在實踐中,不僅要學習別人的套路,還要對別人的程序進行改進和擴展,使其具有更強大的功能。同時,妳也應該知道如何通過查閱芯片數據表中芯片命令和數據的讀寫時序來檢查別人的例程的可靠性。如果妳覺得套路不靠譜,那就修改壹下,變成自己的程序。不僅如此,妳要經常找壹些項目去做,這樣才能鞏固妳所學的知識,積累更多的經驗。
硬件設計
當自己的程序寫的很輕松,看別人的程序都能發現問題的時候,說明妳的單片機編程水平相當不錯。那就要研究硬件了。硬件設計包括電路原理設計和PCB板設計。學做硬件比學做軟件更麻煩,成本更高,周期更長。但學習單片機的最終目的是開發產品——軟硬件結合,形成完整的控制系統。所以做硬件也是學習單片機技術的必要環節。
電路原理設計涉及到各種芯片的應用,這些芯片的外圍電路的設計,典型的應用電路以及與單片機的連接都可以在芯片數據表中找到,前提是妳能看懂英文的數據表。否則,抄襲別人的設計,永遠落後於別人,妳的產品也不會有創意。電子技術領域的第壹手數據表都是英文的,妳從第壹手數據中獲得的知識可能是妳在課本、網上文獻、課外讀物中沒有的知識。有些資料雖然也是在數據表的基礎上編寫的,但內容並不全面,甚至在翻譯中存在疏漏和錯誤。當然,閱讀數據表需要壹定的英語閱讀能力,這也是阻礙單片機學習者提升的絆腳石。良好的英語閱讀能力可以讓妳在單片機技術知識的海洋中自由遨遊。
做PCB比較容易。只要妳會用Protel軟件或者AltiumDesigner軟件就沒問題。不過要做出布局美觀,布線合理的板子還是要下壹番功夫的。
熟練的單片機C語言編程,使用Protel軟件或AltiumDesigner軟件設計PCB板,有壹定的英文閱讀能力,妳就是壹個遇到實力就強的單片機高手。[2]
抗幹擾設計
在提高硬件系統抗幹擾能力的同時,軟件抗幹擾因其設計靈活、節省硬件資源、可靠性好而越來越受到重視。以MCS-51單片機系統為例,研究了微機系統軟件的抗幹擾方法。
抗幹擾
在工程實踐中,軟件抗幹擾研究的內容如下:1 .消除模擬輸入信號的噪聲(如數字濾波技術);第二,程序運行混亂時讓程序回到正軌的方法。本文針對後者提出了幾種有效的軟件抗幹擾方法。