久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2222|回復: 1
打印 上一主題 下一主題
收起左側

單片機學習路線

[復制鏈接]
跳轉到指定樓層
樓主
ID:427256 發表于 2018-12-19 16:45 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
單片機怎么學,學哪款單片機呢?(大一大二)入門級推薦學習51單片機。因為——51單片機簡單易上手資料多,當然最最重要的是,本人發現了51單片機的一套秒殺本人接觸過的所有教程的資料——金沙灘宋老師的手把手教你學51單片機,絕對經典。(我不是他的托,他沒給我錢,我也沒買過他的東西,免費用的他的資料)這里得好好感謝宋老師。很多人推薦guo的單片機,說實話guo的代碼真的相當不咋地,同時肯定也有很多人推薦普中單片機的,說實話普中的板子外設挺多的,價格相對還便宜,但是它配套的教程也真的不咋地。代碼風格一塌糟,而金沙灘宋老師,人家是公司工作好多年的工程師,編程規范較好。并且我認為這個教程,教你的不僅僅是51單片機,他教你的是 – 單片機這個類的東西,不過載體是51罷了。這本書呢他穿插了很多c語言的知識和很多電子硬件設計的知識,總體來說非常非常適合(大一大二的)小白用戶學習。絕對秒殺很多高校老師教的課,秒殺51單片機同行列教程。(不過宋老師板子比較貴)
他的課是一節串一節的,上節學過的東西,這節基本上要用,下節還要用。上面有很多知識點可以參考學習,而且很多優秀的編程思想和編程習慣分享給大家。
關于大三同學,說實話時間比較緊了,可能上課老師直接教的是stm32單片機,那就直接學32單片機吧。關于stm32單片機方法論,見下面stm32部分

關于單片機怎么學下面附上宋老師書的開篇語:

“下面,就是我總結的跟著我學習單片機的四個步驟。

第一步:鸚鵡學舌。

剛出生的孩子叫“爸爸”“媽媽”的時候,他甚至不知道“爸爸”“媽媽”是什么意思,
更不會理解這些聲音是什么意思,但是我們帶著孩子見到他爸爸就讓他喊“爸爸”,見到媽
媽就讓他喊“媽媽”,見到爺爺就喊“爺爺”„„慢慢的你會發現,次數多了,孩子就知道
誰是爸爸,誰是媽媽,誰是爺爺,誰是奶奶了。
大家剛開始接觸單片機的時候,也屬于單片機行業的新生兒。單片機的樣子,單片機外
圍的各種器件,單片機內部的各種結構,單片機使用 C 語言的編程方法,初學者可能都沒有
見過,腦子里全無概念。沒關系,有些概念和方法你不理解也沒有關系,甚至不需要你去理
解,你只需要跟著我去鸚鵡學舌式的學習,第一遍學習某一節課的內容時,對于程序,大家
就可以完全跟著抄下來,甚至抄兩三遍,過一段你會發現,好多東西你也認識了,好多概念
你也慢慢的理解清楚了, 你也能大概看懂別人的小程序了,切忌覺得自己看會了,而簡單復
制粘貼。

第二步:照葫蘆畫瓢。

很多同學學習的時候喜歡看,看我做的視頻,看我寫的程序,甚至看別人的程序,都能
看懂,覺得自己就會了,等到自己寫程序的時候,感覺就是老鼠啃天,不知道從哪里下手了,
這是初學者很容易犯的“眼高手低”的毛病,所以第二步的內容就非常重要了。
我的要求是,每一位同學,在學完了當前課的內容,把第一步順利完成以后,然后關掉
視頻教程,關掉源代碼,自己通過看電路圖和查找非源代碼的其他任何資料,把當節課我寫
的程序代碼重新默寫出來,邊寫邊多少理解那么一點點,不是純粹的背誦,應該說是背誦加
理解的結合體。甚至學過幾節課以后,可以回頭把前邊曾經這樣實現過的課程,再按照這種
方法做一遍。千萬不要認為這一步沒必要,這一步是你能否真正學會單片機的一個關鍵,在
學完本教程之前,每一課內容都要這樣做,如果每一個程序你都能夠完美的完成,那么可以
說,當節課的內容,百分之七八十你已經掌握了。

第三步:他山之石,可以攻玉。

單片機技術的最大特點就是可以通過修改程序來實現不同的功能,因此舉一反三的能力
就必不可少了。每一節課的例程后邊,我一般都會布置幾個作業,大家盡量去獨立完成這個
作業。在完成這個作業的過程中,都可以參考我的程序思路,在這個基礎上通過動腦思考去
構建你自己的程序框架,最終將程序完成。
在我們工程師實際產品研發的時候,很多種情況下也是如此。比如一個產品,我們如果
從零起步的話,可能會走很多彎路,遭遇很多前人已曾遭遇過的挫折,所以我們通常的做法
是尋找購買幾款同類產品,然后先研究他們的各自優缺點,學習他們的長處,然后在同類產早就遇到過了,所以遇到問題后,不要慌張,首先利用谷歌或者百度這些搜索引擎在網上搜
一下,要做什么新東西,先去網上找相關資料了解一下,不管是編程還是硬件設計,多多參
考別人的東西,只要把別人的東西分析明白了,自己用起來了,也就成為自己的知識了。

第四步:理論實踐結合,溫故知新。

當大家把所有的課程都按照前邊三步完成后,這個時候不妨再把書打開,再看看書,經
過了自己的實戰經歷,再看書的時候,對很多知識點會有一種恍然大悟的感覺。甚至視頻教
程、書籍都可以反復看幾遍,可能有的知識點當時學習的時候不明白,過了一段時間,回過
頭來再學習的時候,一下就明白了。”

好了話引用到此,我也想說幾句:想學好單片機一定要能有耐心、信心、恒心。這里我送大家一個字:靜。很多人太浮躁了,浮躁是干不了什么事的,一定要靜下心來~come on

我的單片機方法論:

當你玩了一定時間單片機,玩明白之后,你如果又發出這樣的感慨:我靠,51單片機原來這么簡單。那么恭喜你,你應該是拿下單片機了。下面說說我的單片機方法論:
51單片機呢說實話很簡單的,首先你要有一個概念:學單片機和學單片機外設【這里的外設和下面都指的是單片機的片外外設,不是片上的外設哦】是兩個不同的概念。。學單片機呢,其實單片機最小系統就擁有單片機的所有資源(板子上那么多的東西 其實都是外設)一定要有這兩個概念:單片機 和 單片機外設的概念。【單片機就是主控芯片,,,外設是接在其引腳上的東西】
下面是我總結的學單片機(后面)的幾重心法:

第一重心法:

先能大概看懂電路原理圖,知道哪個東西,連在了哪個引腳上,大致了解你的板子上有哪些外設東西。同時了解一點硬件基礎知識,搞定自己電腦上的開發環境,熟悉keil等軟件的使用,熟悉jlink使用【這個仿真器是在32等高級單片機上使用的】。

第二重心法:

能用c語言寫基本的小程序,來操作硬件IO口。啥意思呢,也就是你可以通過自己的程序可以隨心所欲的控制單片機的IO口(引腳)的高低電平,落實到現象就是,你可以通過程序,實現點亮任意一盞接在你單片機上的小LED(LED小燈就屬于外設),升級版本就是:你可以自己寫程序點流水燈玩。這一層能力是操作硬件IO口

第三重心法:

【對于stm32等高級單片機】學會使用jlink等仿真器的硬件仿真,硬件仿真很重要,51單片機仿真器貌似很貴的,反正我基本沒有用過51單片機硬件仿真。。用32單片機時,會用jlink仿真會調出窗口,看各個變量的值等功能

第四重心法:

學習什么是定時器,什么是中斷,什么是定時器中斷。先學習這些東西是什么,能做啥。然后再開始學習單片機上的這些東西怎么用c語言實現。這一層的能力在51上其實就是配置寄存器,這個能力很重要,雖說stm32我基本不用寄存器,但是我能知道那些寄存器大概怎么配,都是靠51單片機啟蒙的。這個能力很重要,但是不難的,都是套路多套路幾遍就熟了。

第五重心法:

學習幾種通信協議,最常用的的串口(uart)通信協議,I2C通信協議。其他如SPI,CAN總線等我用的不多,等用的時候再去學就是了。其實還是套路,再多套路幾遍。
如果你大概堅持到這,然后學的差不多了,那么我恭喜你,單片機你已經學完了。是的你沒聽錯,單片機已經學完了。注意這里是單片機:不僅僅局限于51單片機,其他單片機也是適用的。

第六重心法:

學學單片機開發板上的一些外設,用用一些常用的模塊,實現模塊所具有的功能。這一層的能力,是自己去看相關數據手冊,使用手冊。這些需要自己去讀,能力強者自己就能寫這些模塊的驅動程序了。當然一般情況下,買的模塊都是有例程的,可以參考例程自行優化,編寫屬于自己的驅動代碼。我個人積累了一點自己的驅動代碼庫。

第七重心法:

可以自己用開發板做幾個稍大點的小項目了,做項目,一開始要分析項目。小項目流程見最下面簡述:(大二寫的,不改了)

第八重心法:

深入學學c語言,回過頭刷刷升級書,然后一定要注意編程規范性問題,注意編程規范等吧。然后你就能升級玩32了。

關于32單片機:給大家介紹一下基本武功秘籍,好好修煉吧。
武功秘籍一:STM32中文參考手冊(最新版)
武功秘籍二:STM32英文參考手冊(最新版)【中英互補】
武功秘籍三:STM32系列芯片的數據手冊
武功秘籍四:3.5固件庫使用手冊
武功秘籍五:3.5固件庫中的project中的例程
武功秘籍六:context-m3權威指南

其中 秘籍一和秘籍四是非常重要非常好用的工具書。我直接用pdf,搜索起來很方便,這些書不是讓你看,讓你背的,是當你需要的時候,你知道到哪去看,到哪去找用的。我個人認為自己32單片機學的算是不錯的比較溜的,但是我感覺考試我肯定考不太高。。。因為我從來不背這些。。。。

下一篇文章呢,我將帶大家看一下DMA 和ADC以及串口相關的東西,在那篇文章中我將帶大家看看 《STM32中文參考手冊》和《3.5固件庫手冊》怎么用,分享給大家一些好玩知識。這篇寫的廢話挺多,寫煩了。暫且這樣。

附錄:
下面是大二時寫給我大無協的小師弟的
現在來分享一下我和隊友做小項目走的流程。(這些經驗僅供參考,愿你們棄其糟粕,取其精華)
以下是我從若干個項目中總結下來的理論,記住實踐是檢驗真理的唯一標準!大家加油吧,在你們的項目中,你們可以嘗試使用下面的方法。
1,確定項目功能
和隊友討論你們要做的項目具有哪些功能,各功能可行性是怎么樣的,需要使用哪些元器件來完成這些功能,有沒有相關的產品或者作品參考,分析,討論寫下詳細的作品說明書。
事先一定要確定好作品說明書,后期制作基本都是參考說明書(后期可以繼續完善說明書)

一般這步結束后,會有如下幾個文檔
a.作品詳情思維導圖
b.作品功能說明書(實現那些功能,項目要求是啥)
c.作品方案設計文檔(用哪些東西,有哪些替代方案)

2,收集相關資料
包括芯片數據手冊
模塊使用手冊
參考例程
相關作品資料

3,搭出硬件測試環境
用最小系統板+模塊+自己焊的小電路搭建出硬件測試環境

4,用viso畫出程序流程圖
微軟的viso畫圖軟件很好用,需要學會畫程序流程圖。(團隊間可以一起討論)程序流程圖搞定,整個程序的邏輯寫起來就簡單了。程序流程圖怎么畫?這里無法表達清楚,僅做提示:
完成系統初始化,設置標志位,根據標志位執行動作

5,將各模塊各功能分而治之
(分文件寫驅動代碼)
這個很重要,方便以后程序的移植!所以最好不要在同一個文件中寫不同模塊的功能代碼!不要!不要!不要!

6,分功能測試驅動代碼(分功能寫出測試程序)
之前大二上學期的時候做過若干的小項目,都沒考慮過這步,而是直接上手集成所有代碼于一個項目下,,,然而集成完成后發現功能無法正常實現。。。。然后就查bug,,查bug,,查bug,,查bug。。。由于代碼太多,bug很難查的。所以很蛋疼,而且費了很多時間,還不一定能查出來。。
也就是說我認為比較正確的方法是:把一個大工程分解成各個小工程,每個小工程呢,只實現其中的一項小功能,實現完成后,再將測試通過的驅動代碼,放到大工程下。
總結起來就是:分模塊,分功能寫驅動測試工程。說起來全是淚,都是自己摸索出來的

7,整合測試通過的驅動文件
驅動文件全部測試通過后,就可以集成到一個項目下了,同時主文件中的函數也可以根據程序流程圖進行編寫邏輯了

如果需要畫pcb電路板的話還需要做如下流程
8,根據確定好的io口,畫電路原理圖
(期間可能會用到模電相關知識)
9,pcb布局布線,開板,焊板
布局布線也要分模塊畫。

10,分模塊調試pcb硬件。
硬件調試期間會教你熟練使用萬用表和示波器等(PS說多了也是淚)。期間芯片有可能焊接出問題,引腳電平輸出有問題。這些的測試我們常采用 寫出讓芯片引腳高低電平變換的代碼,然后用萬用表進行測量。

以上僅供參考,這些是我們跌跌撞撞積累下來的一點經驗概括。希望對大家有所幫助

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:9727 發表于 2019-10-10 12:28 | 只看該作者
寫的不錯,肺腑之言+言傳身教,好師傅
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人91视频 | 国产极品粉嫩美女呻吟在线看人 | 亚洲成人黄色 | 亚洲欧美成人影院 | 久久精品中文字幕 | 久久精品一二三影院 | 久久久久久久久99 | 国产成人一区二 | 一级做受毛片免费大片 | 久久免费精品视频 | 精品一区二区在线看 | 91精品国产一区二区三区 | 伊人天堂网 | 久久久精彩视频 | 国产精品视频yy9299一区 | 日韩视频福利 | 天堂在线网 | 国产精品久久久久久妇女 | 国产乱码一二三区精品 | 亚洲二区视频 | 在线观看中文字幕dvd播放 | 亚洲区一区二 | 99精品欧美一区二区蜜桃免费 | 特黄毛片 | 国产成人综合在线 | 爱综合 | 亚洲国产精品99久久久久久久久 | 亚洲国产一区二区三区 | 男女深夜网站 | 国内精品免费久久久久软件老师 | 久久九九免费 | 国产精品久久久久久久久久了 | 欧美激情在线精品一区二区三区 | 亚洲精品乱码久久久久久按摩观 | 69电影网 | 国产激情一区二区三区 | 干一干操一操 | 国产精品一区二区久久 | 欧美日韩国产一区二区三区 | 国产精品爱久久久久久久 | 国产成人精品一区二区 |