02.28 別人都說51單片機很容易學,為什麼我學起來那麼難,學了很久還沒入門?

有個疑問


推薦看,郭天祥老師視頻,沒有什麼太深奧的專業理論通俗易懂,由簡如繁,慢慢學習,20天應該可以入門了,,哪些說從CPU計算機原理,模電,數電學習的都是大神級別的人你們太厲害了,,其實原理是簡單的就是太多人硬是把簡單東西複雜化,寫些讓人看不懂的東西,讓小白們望而卻步,越學越頭暈。


大道至簡150864476


相對於STM32、ARV等,51單片機入門是相對容易的,寄存器配置比較簡單,IO口為準雙向口不需要配置方向。而且51單片機出現比較早,資料比較多,很多學習都開設51單片機的課程。學習單片機可以按照如下幾個步驟去學習。

1. 入手開發板,勤動手

單片機是一門偏重於動手的技術,需要多動手,不要一直抱著書看,有的單片機類書籍講的比較雜或者是從數據手冊翻譯過來的,正本書看完了說不定都不知道單片機使用什麼開發環境去編程、使用什麼工具去燒寫程序。所以,如果要學51單片機就去買一塊51單片機開發板,賣家會把編程環境、燒寫工具、進階步驟、各種學習資料都給配齊的。

2.看原理圖,學習硬件設計

單片機開發板比較方便的地方就是就成了各種常用的外設電路,方便了初學者學習。在拿到開發板後,先看一下說明資料,有哪些功能電路,各種接口,再認知研究一下硬件原理圖。硬件原理圖與後面的編程密切相關,這些常用的電路,以後都可能會用到。

3.看配套例程,學習程序設計

原理圖瞭解的差不多後,就可以編程了,先跑一遍例程,再看一下別人的程序是怎麼寫的,再新建自己的工程去實現功能,一般來說按照如下步驟去學習單片機的各種資源

GPIO口的配置,這是最基本的操作,與之相關的電路有:流水燈、控制蜂鳴器、控制繼電器、按鍵輸入、數碼管顯示等。通過這些功能,學習GPIO口的配置方法和硬件電路的控制方法。

定時器、中斷、AD採樣等,這類資源都是單片機的基本資源,通過例程學習這些資源的基本概念、工作原理、寄存器的配置方式等,可以結合前邊的外設,實現自己想要的效果。

UART、RS232、RS485等通訊功能,藉助例程學習各種通訊接口的含義、瞭解通訊協議。單片機的各類通訊基本都可以通過UART來擴展,記住常用的電平轉換芯片和使用方法,學習如何配置相關的寄存器。

自己組合功能,通過上邊的學習之後,就可以實現自己的功能了,根據外設資源自己組合功能,並編程實現。

以上就是這個問題的回答,感謝留言、評論、轉發。更多精彩內容請關注本頭條號:玩轉嵌入式。感謝大家。


玩轉嵌入式


原理都一樣,一通百通,stc15系列的增強型51單片機資料豐富,還是中文的,性能也不錯,想玩單片機的話,是首選,我的經驗是: 基本知識先了解一下,關鍵是要勤動手,從小製作開始,動手實操,再返回知識點,再實際動手驗證,認知就會升級一點,幾個製作做下來,就入門了。另外,目前的教科書也有待改進,許多例程脫離實際應用,學了很多,依然不能完成項目,比如就一個LED閃爍的例子,目前大部分是這樣的,沒啥實用價值,只是個驗證而已:

while(1)

{

delay1S();

P10=!P10;

}

採取的是的阻塞延時,書本的例程,對初學者編程思維有很大的負面影響,現實中,單片機是動態執行任務的,下面代碼更接近實際應用:

u16 i=0;

while(1)

{

i++;

if(i>50000)

{

i=0;

P10=!P10;

}

}

強烈推薦這個作為單片機Helloworld入門程序。


科技迷001


如果是新手我建議從stm32開始學習,51雖然修修補補能做一些產品,畢竟資源有限體驗感較差,沒必要從51再過度到32位機,就像以前有8031,或者4位機,沒有人再從那些芯片開始學。stm32的家族非常龐大,低價的有2元級的,高價的有幾十元的,而且他可以面向對象選擇適合的芯片,比如面向電機,物聯網等等。這個行業,單片機本身不是難事,就算你吧內部資源等都精通,那也不代表你可以開發出好的產品,關鍵還是你開發產品所處的領域,對細分行業不精通,那也只是學了皮毛。


良子2018


51是原理簡單,能夠幫助學習者快速理解了解單片機的硬件結構和軟件設計思想,但原理簡單並不意味著好上手,其實原理簡單帶來的往往是複雜。。。。。。好上手是指人機界面友好,代碼易書寫自由度高。從好上手的角度說,類似arduino這類經過二次開發的產品更易上手,但缺點是略過了底層架構,學習者不容易理解單片機底層部分的知識。。。打個不恰當的比方:51就是加法,容易理解,但要計算100個100的和就得寫很長一段式子,對編程著來說並不友好;arduino是乘法,100個100的和就寫100x100就好了,但讓編程者不容易理解為啥100x100的本質是100個100相加。


Da2


單片機編程需要學一些基礎課程,特別是c語言編程基礎和數字電路基礎,如果這兩門課程能夠拿下,單片機編程就沒有問題。


陝西1945志願營


感覺,興趣和成就感是最好驅動力,可以直接從開發板的例程入手,先不用想太多什麼原理什麼邏輯,從點亮LED到流水燈到數碼管……在做的過程中,當你有了成就感,你肯定會想知道其中的實現原理,再從某一個點入手,去查資料,去再次驗證,去舉一反三,慢慢的,你的知識積累越來越多,也會越來越順手!萬事開頭難,也是知識最欠缺的時候,努力一把,等走過去回頭看的時候,發覺真的沒有想象中那麼難!其實,無論51,還是stm32,都是一個套路,都是相通的,只不過最近stm32有點火,例程資料相對多一點。到最後,你會發現,單片機只是你實現功能的一個工具,自己的思維、解決問題的思路和方法,才是最重要的


一起走過嵌入式


學習新東西主要是建立概念。

瞭解CPU的核心寄存器,知道怎麼讀寫存儲器、怎麼表示地址、怎麼實現多字段的加法,知道比較和計算產生的條件怎麼表示,知道怎麼控制程序的分支,對計算機就入門了。

然後,逐個瞭解片上外設的功能、原理和用法。


ScholarMartin


私聊我,我可以教你(看我認證,不騙人的)


電子愛好者


學這個要有電路分析,數電,模電,C的基礎,沒有的話,最好補上再學,磨刀不誤砍柴工。


分享到:


相關文章: