<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何學好STM32、51單片機??

ARM與嵌入式 ? 來源:ARM與嵌入式 ? 2024-01-02 12:35 ? 次閱讀

個人心得

單片機最好一開始就直接用C語言單片機編程,既省時間,學起來又容易,進步速度會很快。 先說說單片機,一般我們現在用的比較多的的STM32、51等單片機,它的資料比較多,市場也很大。

單片機這門課是一項非常重視動手實踐的科目,不能總是看書,但是學習它首先必須得看書,因為從書中你需要大概了解一下,單片機的各個功能寄存器,而說明白點,我們使用單片機就是用軟件去控制單片機的各個功能寄存器,再說明白點,就是控制單片機那些管腳的電平什么時候輸出高,什么時候輸出低。 由這些高低電平的變化來控制你的系統板,實現我們需要的各個功能。至于看書,只需大概了解單片機各管腳都是干什么的?能實現什么樣的功能?第一次,第二次你可能看不明白,但這不要緊,因為還缺少實際的感觀認識。 所以我總是說,學單片機看書看兩三天的就夠了,看小說你一天能看五六本,看單片機你兩三天看兩三遍就夠了,可以不用仔細的看。 如果說學單片機你不實踐那是不可能學會的,關于實踐有兩種方法你可以選擇。

方法一: 買一塊單片機的學習板,不要求功能太全的,對于初學者來說你買功能非常多的那種板子,上面有很多東西你這輩子都用不著,我建議有流水燈、數碼管、獨立鍵盤、矩陣鍵盤、AD或DA(原理一樣)、液晶、蜂鳴器,這就差不多了。如果上面我提到的這些,你能熟練應用,那可以說對于單片機方面的硬件你已經入門了,剩下的就是自己練習設計電路,不斷的積累經驗。

方法二: 你身邊如果有單片機方面的高手,向他求助,讓他幫你搭個簡單的最小系統板。 對于高手來說,做個單片機的最小系統板只需要一分鐘的時間,而對于初學者可就難多了,因為只有對硬件了解了,才能熟練運用。而如果你身邊沒有這樣的高手,又找不到可以幫助你的人,那我勸你最好是自己買上一塊,畢竟自己有一塊要方便的多,以后做單片機類的小實驗時都能用得上,還省事。 有了單片機學習板之后你就要多練習,把學習板和電腦連好,打開調試軟件坐在電腦前,先學會怎么用調試軟件。從最簡單的流水燈實驗做起,等你能讓那八個流水燈按照你的意愿隨意流動時你已經入門了,你會發現單片機太好玩了。

興趣驅動

電子類設計的人真的會上癮。然后讓數碼管亮起來,這兩項會了后,你已經不能自拔了,你已經開始考慮你這輩子要走哪一行了。興趣是最好的老師,推薦文章:嵌入式開發經驗分享,把學習當作一種興趣。另外再引用論語中的一句話:

其為人也,發憤忘食,樂以忘憂,不知老之將至云爾。

論語·述而

大概意思就是說:他這個人啊,遇到想不明白的事情一定要研究清楚,為此可以忘記吃飯;樂在其中因而忘記了一切憂愁,甚至不知道衰老都要到來了呢,他就是如此而已。

在寫程序的時候你肯定會遇到很多問題,而這時你再去翻書找,或是問別人,當得到解答后你會記住一輩子的,知識必須用于現實生活中,解決實際問題,這樣才能發揮它的作用。 我告訴你單片機一旦學會,永遠不會忘了。 作為大學生,可以邊學單片機邊學C語言,C語言也挺簡單,只是一門工具而已,我勸你最好學會,將來肯定用得著,要不你以后也得學,你一點匯編都不會根本無所謂,但你一點C語言都不會那你將來會吃苦頭。 匯編寫程序代碼效率高,但相對難度較大,而且很羅嗦,尤其是遇到算法方面的問題時,根本是麻煩的不得了,現在單片機的主頻在不斷的提高,我們完全不需要那么高效率的代碼,因為有高頻率的時鐘,單片機的ROM也在不斷的提高,足夠裝得下你用C語言寫的任何代碼,C語言的資料又多又好找,將來可移植性非常好,只需要變一個IO口寫個溫度傳感器的程序在哪里都能用,所以我勸大家用C語言。 總結上面,只要你有信心,做事能堅持到底,有不成功不放棄的強烈意志,那學個單片機來說就是件非常容易的事。

學習實踐

單片機提高重在實踐,想要學好單片機,軟件編程必不可少。但是熟悉硬件對于學好單片機的也是非常重要的。 如何學習好硬件,動手實踐是必不可少的。我們可以通過自己動手做一個自己的電子制作,通過完成它,以提高我的對一些芯片的了解和熟練運用它。這樣我們就可以多一些了解芯片的結構。我相信,你完成了一個屬于自己的電子制作,你的單片機水平就會有一個質的提高。 這就是我學習單片機的心得體會,希望給單片機的愛好者學好單片機有所幫助。 使用單片機就是理解單片機硬件結構,以及內部資源的應用,在匯編或C語言中學會各種功能的初始化設置,以及實現各種功能的程序編制。

第一步:數字I/O的使用

使用按鈕輸入信號,發光二極管顯示輸出電平,就可以學習引腳的數字I/O功能,在按下某個按鈕后,某發光二極管發亮,這就是數字電路中組合邏輯的功能,雖然很簡單,但是可以學習一般的單片機編程思想,例如,必須設置很多寄存器對引腳進行初始化處理,才能使引腳具備有數字輸入和輸出輸出功能。每使用單片機的一個功能,就要對控制該功能的寄存器進行設置,這就是單片機編程的特點,千萬不要怕麻煩,所有的單片機都是這樣。

第二步:定時器的使用

學會定時器的使用,就可以用單片機實現時序電路,時序電路的功能是強大的,在工業、家用電氣設備的控制中有很多應用,例如,可以用單片機實 現一個具有一個按鈕的樓道燈開關,該開關在按鈕按下一次后,燈亮3分鐘后自動滅,當按鈕連續按下兩次后,燈常亮不滅,當按鈕按下時間超過2s,則燈滅。 數字集成電路可以實現時序電路,可編程邏輯器件(PLD)可以實現時序電路,可編程控制器PLC)也可以實現時序電路,但是只有單片機實現起來最簡單,成本最低。定時器的使用是非常重要的,邏輯加時間控制是單片機使用的基礎。

第三步:中斷

單片機的特點是一段程序反復執行,程序中的每個指令的執行都需要一定的執行時間,如果程序沒有執行到某指令,則該指令的動作就不會發生,這樣就會耽誤很多快速發生的事情,例如,按鈕按下時的下降沿。 要使單片機在程序正常運行過程中,對快速動作做出反應,就必須使用單片機的中斷功能,該功能就是在快速動作發生后,單片機中斷正常運行的程序,處理快速發生的動作,處理完成后,在返回執行正常的程序。

中斷功能使用中的困難是需要精確地知道什么時候不允許中斷發生(屏蔽中斷)、什么時候允許中斷發生(開中斷),需要設置哪些寄存器才能使某種中斷起作用,中斷開始時,程序應該干什么,中斷完成后,程序應該干什么等等。 中斷學會后,就可以編制更復雜結構的程序,這樣的程序可以干著一件事,監視著一件事,一旦監視的事情發生,就中斷正在干的事情,處理監視的事情,當然也可以監視多個事情,形象的比喻,中斷功能使單片機具有吃著碗里的,看著鍋里的功能。 以上三步學會,就相當于降龍十八掌武功,會了三掌了,可以勉強護身。

第四步:與PC機進行RS232通信

單片機都有USART接口,特別是MSP430系列中很多型號,都具有兩個USART接口。USART接口不能直接與PC機的RS232接口連接,它們之間的邏輯電平不同,需要使用一個MAX3232芯片進行電平轉換。 USART接口的使用是非常重要的,通過該接口,可以使單片機與PC機之間交換信息,雖然RS232通信并不先進,但是對于接口的學習是非常重要的。正確使用USART接口,需要學習通信協議,PC機的RS232接口編程等等知識。試想,單片機實驗板上的數據顯示在PC機監視器上,而PC機的鍵盤信號可以在單片機實驗板上得到顯示,將是多么有意思的事情??!

第五步:學會A/D轉換

MAP430單片機帶有多通道12位A/D轉換器,通過這些A/D轉換器可以使單片機操作模擬量,顯示和檢測電壓、電流等信號。學習時注意模擬地與數字地、參考電壓、采樣時間,轉換速率,轉換誤差等概念。使用A/D轉換功能的簡單的例子是設計一個電壓表。

第六步:學會PCI、I2C接口和液晶顯示器接口

這些接口的使用可以使單片機更容易連接外部設備,在擴展單片機功能方面非常重要。

第七步:學會比較、捕捉、PWM功能

這些功能可以使單片機能夠控制電機,檢測轉速信號,實現電機調速器等控制起功能。如果以上七步都學會,就可以設計一般的應用系統,相當于學會十招降龍十八掌,可以出手攻擊了。

第八步:學習USB接口、TCP/IP接口、各種工業總線設計

學習USB接口、TCP/IP接口、各種工業總線的硬件與軟件設計是非常重要的,因為這是當前產品開發的發展方向。 到此為止,還不到打遍天下無敵手的境界。但也算是單片機大牛了! 下文通過三個規劃,介紹大神之路。

單片機的“大神之路”:三個規劃

首先,單片機不是萬能的,但沒有單片機那是萬萬不能的。社會在這方面的需求越來越大。所以你有什么好擔心的,怕自己沒有用武之地嗎?!怕自己的資薪沒有或不高嗎? 我自己在單片機和自己熟悉的行業上做了快10年了,自己的水平說牛不牛,說不牛也牛,該謙虛的時候也要謙虛學習,畢竟單片機總是一個系統工程,方方面面的東西不是自己都要熟悉和精確把握的。 單片機的工作成果那只是一個配件,正因為是“配件”,所以你需要提供相應的物理尺寸,單片機系統的散熱,安裝條件和安裝方式等等情況,需要與你的上下游提供的環境配合好,而不是說我的單片機功能完成了就沒我的事了,萬事大吉了。

關于項目開展,推薦文章:梳理單片機學習方法、產品開發流程。 就僅對單片機需要實現的功能來說,如果你連功能都實現不了,那我還要你做什么——那只是基礎工作。 其實,往往上下游提供的環境對你的設計就是一種考驗,也有你需要變換N種方案才能比較好的實現的可能。很明顯,這樣的上下游環境,對你就是一種很好的資源,不過有些人可能就會視而不見,讓你更加熟悉自己開發的東西,在這個行業中的使用和價值情況,對自己的今后發展都是一個很好的參考。不像C、C++的人員到了沒有發揮平臺的時候,就很郁悶了。相反,對單片機來說,我們可以為自己建立那樣的可以供自己發揮和發展的平臺。

就我的理解出發,單片機是相當“底層”和“硬件”的東西,沒有太多高深的數據結構,也沒有太多需要技巧的編程算法,只要我們從單片機執行的角度去理解和編程就行了。一個單片機就可以構成一個電子系統,也可以只構成一個智能節點。沒有太多高深的東西需要去研究,因為我們只是單片機的應用者而已,別把自己提到“研究”的高度,我們只在“應用”的高度。

多熟悉單片機的上下游環境和條件,那不是很困難的事。我希望自己理解的這些東西,對后來者有點幫助,對新手能夠帶來點思考的東西,那就夠了。

規劃高度一: 當有一定的年齡和人力資源后,就可以自己出來做了,當個所謂的半個老板了。但當自己做老板說容易也容易,說不容易也不容易。當初我就是在這樣的忐忑中,沖了進去。項目接的很多,周期對自己規定的也很短,往往都是白天在處理前一個或前面項目的維護工作,晚上回來工作到一、二點開發新項目。 累就不用說了,有時想想那是在拿自己的命來賺錢??!老婆不太同意我出來自己干,我就對老婆說,可能我不能每個月準時的拿錢養家糊口,但我保證一年下來的平均每個月養家糊口的錢一定不會低于現在。 就這樣,我開始了走自己的路了。吃苦受累我不怕,付出了沒有收獲我不怕。怕的就是過不了自己的心理關,還有所謂的某些情況下的“面子”。

至少我們應該用“最小的代價”來給自己當“學費”。也不怕你們笑話,我的“學費”交的也不少。一個成功的項目,不是你的功能有多好,有多強,而是你的開發成功為你的項目方帶來了多少的利潤收入,那才是真正的成功了,盡管你只賺了點兒開發費。 做項目,別為自己考慮太多,多換位思考一下。人家能信任你,把項目交給你做,你就多該從項目方的角度考慮——也許有時他們的要求有點過分,但所謂不知者不去怪罪了。

規劃高度二: 做一個稱職的軟硬電子工程師吧。不用學太多,就學一些就行了,也不要去跟風,那個沒有必要。有時,你就是去學了,如果沒有相應對應的開發任務,學的也是皮毛,不過只要皮毛也可以了,當你真正需要的時候,再拿起來就會快很多,也算是一種儲備吧。 但你至少要會一種,一種相對來說狹隘的系統吧?!不怕你笑話,我就只會51單片機。先說說我自己了,從事工業自動化方面的機床設備行業: 精通51、STM32等,了解其他的單片機,精通51匯編,精通CPLD,半精通C51(只用來做點人機界面工作),粗通FPGA(想精通自己做51IP核)。

粗通ARMDSP,粗通ARM和DSP的匯編,了解C編程。

精通三維造型軟件SOLIDWORKS(可以為自己的線路板造型和機械設備造型)

粗通機加工大部分的工藝。

精通鈑金和焊接。

熟悉數控設備、機床的實現解決方案。

對于每個人來說,學以致用,以前的我什么都想學,什么都用不好,當學的時候,卻沒有用的發揮平臺,都是為學而學。但至少當你要用的時候,重新撿起來的時候,就會很快。就拿ARM來說吧,學的時候學的很努力,從其機理到實現,也做過好多的實驗,可現在就是用的少就剩下了點概念的東西了。

所以沒必要什么都要精通,只要一樣,比如51單片機吧,從設計、投板、采購、焊接、一直到調試成成品等等一個系統下來,如果你思考了,如果你精通了,你還怕什么,不給高工資也要給你高年薪了,應該都能了解“老板一將難求”的道理了。

規劃高度三: 做一個合格的新手電子工程師吧。對于新手,我的建議是:別上來就是一個什么五年十年規劃之類的,我們都是普通人,那種規劃不適合普通人。如果我們能將今后一年和二年的規劃做好了,那你就已經很了不起了。

每天都是一個想法,每月都是一個變化,更別說每年了,只要你在努力,腳踏實地的做事。不要把自己搞的太忙碌了,給自己每天留半個小時想想“心事”了。做好一樣,再發散開去,對于電子類的,什么ARM,DSP,51都是相通的。精通了一個體系,那么其他電子類的體系都是相通。怕就怕你什么都不通,都是半通。還半桶水的晃來晃去的,那就有點郁悶和悲哀了!

審核編輯:黃飛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 集成電路
    +關注

    關注

    5336

    文章

    10899

    瀏覽量

    354741
  • 發光二極管
    +關注

    關注

    13

    文章

    1154

    瀏覽量

    65774
  • 51單片機
    +關注

    關注

    270

    文章

    5649

    瀏覽量

    121143
  • 定時器
    +關注

    關注

    23

    文章

    3154

    瀏覽量

    112429
  • RS232
    +關注

    關注

    13

    文章

    707

    瀏覽量

    93606

原文標題:如何學好STM32、51單片機??

文章出處:【微信號:ARM與嵌入式,微信公眾號:ARM與嵌入式】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    關于學好單片機需要哪些基礎

    本人想學好單片機,但是再入手51單片機之前,我該把哪些基礎知識掌握好?入手51單片機開發板后先做
    發表于 07-16 08:36

    51單片機學好資料!!!!!!!

    51單片機學好資料!很不錯的哈哈!!!
    發表于 01-04 21:53

    怎樣學好單片機

    該怎么學好51單片機?求各位高見
    發表于 04-05 16:08

    如何學好stm32單片機

    如何學好stm32單片機,想說,為了學習單片機而去學習單片機的思路不對。你問,如何系統地入門學習STM3
    發表于 07-14 06:06

    如何學好stm32單片機

    如何學好stm32單片機,我想說,為了學習單片機而去學習單片機的思路不對?! ∧銌?,如何系統地入門學習s
    發表于 07-14 06:05

    如何學好單片機?

    如何學好單片機?怎么實現單片機硬件的設計?
    發表于 10-11 06:18

    學好單片機必會的五張圖

    單片機原理[一] 學好單片機必會的五張圖前言一:51單片機的主要功能方框圖二:51
    發表于 11-17 06:38

    怎樣學好單片機

    怎樣學好單片機很多想學單片機的人問我的第一句話就是怎樣才能學好單片機?對于這個問題我今天就我自己是如何開始學
    發表于 11-23 07:58

    51單片機stm32單片機的具體區別

      ?大部分朋友可能都知道51單片機stm32單片機也知道一般入門會先學習51單片機在學習
    發表于 11-23 09:00

    stm3251單片機的區別

    stm3251單片機的區別 隨著單片機的發展,市場上出現了很多種類和品牌的單片機,其中STM32
    發表于 11-20 13:18

    如何才能學好單片機教你如何學好單片機經驗分享

    我也是從新手過來,所以也比較清楚新手們的困惑。所以我也結合自首來談談如何學好單片機或者是電子設計這個方面吧! 先說說單片機,一般我們現在用的比較多的的51
    發表于 01-23 14:26 ?5次下載
    如何才能<b class='flag-5'>學好</b><b class='flag-5'>單片機</b>教你如何<b class='flag-5'>學好</b><b class='flag-5'>單片機</b>經驗分享

    51單片機STM32單片機有哪些區別

    大部分朋友可能都知道51單片機stm32單片機也知道一般入門會先學習51單片機在學習
    發表于 08-13 17:32 ?17次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>和<b class='flag-5'>STM32</b><b class='flag-5'>單片機</b>有哪些區別

    STM3251單片機如何選擇

    STM32是性價比非常高的32位單片機,片上資源豐富、性價比高、性能不錯;而C51單片機是8位的單片機,應用廣泛、資料眾多,很多人的
    的頭像 發表于 03-08 11:27 ?1.8w次閱讀

    單片機原理[一] 學好單片機必會的五張圖

    單片機原理[一] 學好單片機必會的五張圖前言一:51單片機的主要功能方框圖二:51
    發表于 11-10 17:35 ?18次下載
    <b class='flag-5'>單片機</b>原理[一] <b class='flag-5'>學好</b><b class='flag-5'>單片機</b>必會的五張圖

    全方位對比STM32單片機51單片機

    萌新初入單片機領域,常會遇到STM3251單片機兩大種類,無法選擇其一來提升技術,也不確定哪個單片機更適合后續技術進階提升和發展,今天這篇
    發表于 03-02 14:18 ?2.8w次閱讀
    全方位對比<b class='flag-5'>STM32</b><b class='flag-5'>單片機</b>和<b class='flag-5'>51</b><b class='flag-5'>單片機</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>