當前位置:首頁 > 公眾號精選 > 玩轉(zhuǎn)嵌入式
[導(dǎo)讀]本文介紹了一位從初學(xué)到進階的心路歷程。

問: 單片機現(xiàn)在水平只能說會,想在外設(shè)上多多學(xué)習(xí)下,手里面只有開發(fā)板,請問大家有沒有什么好的方法?目前基礎(chǔ)知識只有C 會單片機 數(shù)電懂點,模電沒看過, 電路還沒有開課。
答:學(xué) 習(xí)單片機及其外設(shè)電路的硬件、軟件設(shè)計,可以初步按照如下步驟來學(xué)習(xí):
1、學(xué)會看時序圖;?
2、學(xué)會各種通訊協(xié)議(典型的有I2C、SPI等) ;
3、學(xué)會看datasheet(要求有一定的英語閱讀能力);
4、根據(jù)datasheet設(shè)計外圍電路;?
5、根據(jù)datasheet寫程序;
下面來看一下一位從初學(xué)到進階的心路歷程。
正文開始:我是直接使用了單片機學(xué)習(xí)板,在某寶上面購買的,然后送了一大堆資料,現(xiàn)在都準備畢業(yè)了,我居然還沒有把所有外設(shè)都玩一遍,真是揪心!

雖然題主只是問了怎么學(xué)習(xí)單片機及其外設(shè),但我認為,外設(shè)的學(xué)習(xí)與單片機的片上資源同時學(xué)習(xí)最好,給自己一個項目題目然后動手去寫代碼是最好的。單片機的片上資源就是那些IO口,定時器/計數(shù)器,ADC等等。

我想給出以下學(xué)習(xí)建議:
一、基礎(chǔ)知識一定要學(xué)好;
二、分模塊學(xué)習(xí);
三、做完一個項目一定要總結(jié);
四、學(xué)通了一種單片機,再學(xué)習(xí)其他的單片機就會上手很快的,學(xué)習(xí)外設(shè)同理;
五、學(xué)會移植(抄)程序。

01





基礎(chǔ)知識


技術(shù)性的東西學(xué)習(xí)起來都是一層一層的,如果前面的基礎(chǔ)知識如果沒有學(xué)好,到了后面的學(xué)習(xí)會讓你懵懵懂懂,最后會走很多彎路。

對外設(shè)的學(xué)習(xí),可以從兩方面來看,一個是單片機與外設(shè)的電路圖連接,這是硬件方面;另一個是軟件方面,如何用軟件控制這個外設(shè)。例如:



這是一個LED流水燈模塊,你至少要從電路圖上知道以下信息:
1、LED燈D1到D8分別連接到了單片機的P1.0到P1.7引腳;
2、當你把其中一個引腳置零,相應(yīng)的LED燈就會亮。
這是讀電路圖的能力,是最基礎(chǔ)的也是最重要的。

然后是例程,點亮一個LED燈。
   
#include

sbit?LED=P1^0;

void?main?(void)
{
????LED=0;
??? while (1);
}
1、為什么要包含reg52.h?里面有什么內(nèi)容?
2、sbit是什么意思?是標準C里的關(guān)鍵字還是keil C里的關(guān)鍵字?為什么要寫這一條語句?
3、為什么最后要加while死循環(huán)?
……
初學(xué)的時候一般是不會問自己這些問題的,我自己學(xué)的時候都沒有問過自己這些問題。但是這些知識點恰恰卻是基礎(chǔ),或者說學(xué)習(xí)時的盲點。
關(guān)于基礎(chǔ)我就不多寫了,點到即止。

02





分模塊學(xué)習(xí)

不多說了,我直接上我的學(xué)習(xí)資料的圖片吧,買了學(xué)習(xí)板后客服送的資料挺好的。
可以說,這些都是外設(shè)。把每一個模塊的電路圖分析一遍,再把代碼分析一遍。真是夠大學(xué)玩四年的了。對了,光看資料是不夠的,因為資料是非常凌亂的,你根本不知道從哪開始看,這個時候就很有必要買一本關(guān)于單片機的書,因為講技術(shù)的書籍都是整理好的,你做什么模塊,就看那一章節(jié),邊做實驗邊看書邊看資料,學(xué)習(xí)是非常快的。這種方法不一定適合每一個人,但是至少我就是這么過來的。

熟悉完幾個模塊后,可以嘗試把這幾個模塊組合起來,給自己一個小項目做。比如我就試過用DS1302(一種時鐘芯片)和LCD1602做過一個LCD日歷+時鐘。

03





善于總結(jié)

一定要總結(jié)!
再強調(diào)一遍!一定要總結(jié)!
把你用到的技術(shù),對電路圖的分析,對代碼的分析用文字描述出來。總結(jié)不需要逐字逐字的打,可以拷貝資料里的文字以及代碼等等,但一定要先理解透徹,如果沒有理解透,請不要把那些文字拷貝到你的總結(jié)里,又不是為別人寫什么文章,只是為自己而學(xué)。(像點亮LED這種簡單的項目就不用總結(jié)了...)

如果不知道總結(jié)要寫什么,可以參考大學(xué)里的單片機實驗指導(dǎo)書或者實驗報告。我一直覺得,寫那些實驗報告和課程設(shè)計報告真是最好的學(xué)習(xí)方法?。】赡芤院蟪鰜砉ぷ髟僖膊挥脤憣嶒瀳蟾婊蛘哒n程設(shè)計論文了。
我們的實驗報告是這樣的:
1、實驗?zāi)康?/span>
2、實驗內(nèi)容
3、儀器、設(shè)備和材料
4、實驗原理(用到了什么芯片,什么外設(shè))
5、實驗步驟
6、實驗結(jié)果(代碼)
7、注意事項
如果是自己寫的總結(jié),最重要的就是4,其他什么的都可以不寫。把用到的芯片、外設(shè)、電路圖和代碼整理總結(jié)一下,對這些技術(shù)的理解就會非常深刻的。注意事項可以寫一些做實驗中為什么卡住的技術(shù)難題,或者很多資料都沒寫,自己發(fā)現(xiàn)的技術(shù)細節(jié)。比如紅外NEC協(xié)議:
這是NEC協(xié)議的典型脈沖鏈,一開頭有一個9ms的高電平,和4.5ms的低電平,接下來是用戶碼和數(shù)據(jù)碼等等。但是,在 紅外接收頭那一端,這些信號是相反的。 也就是說,紅外接收頭輸出信號的那個引腳,在沒有信號的時候輸出高電平,當接收到信號后會輸出一個9ms的低電平和4.5ms的高電平,接下來是取反的數(shù)據(jù)碼等等。

一開始學(xué)習(xí)的時候不一定會注意到這些細節(jié),以為只要例程跑起來了,看懂了例程代碼和電路圖就算學(xué)會了。不是這樣的!我曾經(jīng)為老師調(diào)試過這個紅外協(xié)議,為了優(yōu)化紅外接收的穩(wěn)定性和精確性,差不多調(diào)試了一個半月(其實也就每星期就花8、9小時吧?記不清了)。最后項目結(jié)束后一總結(jié)起來,發(fā)現(xiàn)了很多很多以前沒有注意到的知識點。(我怎么感覺我在強調(diào)參與項目的重要性呢?)

總之一定要總結(jié),不要偷懶。

我現(xiàn)在就正在嘗試總結(jié)IIC,SPI,UART這些總線協(xié)議。有些技術(shù)知識一總結(jié)了之后,我就會發(fā)現(xiàn)了好多調(diào)試程序的時候?qū)W不到的知識點。比如SPI,我用它的時候就只是很簡單的移植程序(在某寶買回來的模塊,客服都會順便把例程給你了),看懂了例程,然后就可以按自己的想法修改程序了,根本沒吃透SPI,但是對SPI有了一個感性的認識,回過頭來再總結(jié),聯(lián)想自己做項目遇到的技術(shù)難題,就會發(fā)現(xiàn)是某個知識點不知道從而下不了手而已。另外,不一定要做完項目后才總結(jié),查資料的時候就可以開始總結(jié)了。再說一遍,我說的總結(jié)寫起來很簡單,就是把你分析過的,理解透的相關(guān)技術(shù)資料用新的word文檔組織起來。

04





一通百通


我認為,只要你精通了一種單片機,再學(xué)習(xí)其他單片機是非常快的,學(xué)習(xí)外設(shè)同理,學(xué)習(xí)其他東西也是一樣的。

還是幫老師做項目的時候(真心覺得多參與項目收獲是非常多的),用到了LCD12864,后來我發(fā)現(xiàn)LCD12864和LCD1602的指令是類似的,而1602我之前就用它做過一個時鐘,于是使用LCD12864的時候我非常的有信心。而且,我也是在使用1602的時候,加深了「對芯片的操作本質(zhì)上是對寄存器的操作」這句話的理解。除了二極管、數(shù)碼管、蜂鳴器這些分立元件,其他諸如液晶顯示屏、外部存儲器(24C02)、DS1302等等這些有芯片的外設(shè),本質(zhì)上都是對寄存器的操作。

所以不用擔心以后玩其他的模塊需要重新學(xué)習(xí),那些外設(shè)或者說模塊,都是有一定的標準的。就比如LCD液晶模塊,我只是稍微接觸過LCD1602,之后上手LCD12864是非常快的,而且那個LCD12864沒有例程,需要自己寫程序,只有初始化程序需要修改下,然后其他的驅(qū)動程序我都是直接移植1602的了。

05





學(xué)會移植

上面剛剛也引出了第五點,學(xué)會移植程序。 51單片機真的是在行業(yè)內(nèi)玩爛了的單片機,幾乎每一個電類專業(yè)都會學(xué),所以如果你想用51控制任何外設(shè),在網(wǎng)上基本能找到很多資料和程序,很多程序不需要自己重頭寫的,這就是一個很好的機會去理解外設(shè)的工作原理和程序。 當你不用51作為主控芯片的時候,或者使用了類似的外設(shè)時,直接移植之前的程序就可以了。

06





題外話


實際上我想強調(diào)的就是以下幾點:
一、基礎(chǔ);
二、分模塊(分成小目標學(xué)習(xí));
三、總結(jié);

四、先精通一種;

不止這樣學(xué)習(xí)單片機比較好的,學(xué)習(xí)任何東西都可以這樣做的。

那些看時序圖、看datasheet的能力,我覺得可以在寫總結(jié)的時候提高一下。會看datasheet是工程師一項基本能力,我想問,玩了51那么久了,看過51的datasheet么?沒看過?可以馬上去看?。戳?1的datasheet,也就會看其他芯片的datasheet了(一通百通)。

由于本人比較偏軟,硬件方面我就只能稍微提及一下了。一開始的時候,最主要的是學(xué)會分析電路圖。比如:

這是學(xué)習(xí)板上的DS1302模塊電路圖。
1、從電路圖中可以看出是用單片機的哪兩個引腳控制該模塊?
2、晶振在電路圖中有什么作用?
3、電容C12有什么作用?
……
分析了電路圖,就會明白其中的原理,需要設(shè)計的時候就會信手拈來,或者看datasheet來設(shè)計電路圖時,就會知道為什么要這樣設(shè)計。這里我只強調(diào)一個詞:原理。至于什么畫電路圖的,畫PCB的我就不提了。
最后,畢竟我還只是學(xué)生,還沒有開始工程師的職業(yè)生涯,如果有不好的地方請前輩們指正并多多包涵。

關(guān)注微信公眾號『玩轉(zhuǎn)嵌入式』,后臺回復(fù)“128”獲取干貨資料匯總,回復(fù)“256”加入技術(shù)交流群。

精彩技術(shù)文章推薦



01

|新手如何學(xué)習(xí)單片機?看完本文不再迷惘,按部就班成為單片機大牛!


02

|單片機的程序為什么是個死循環(huán)?


03

|單片機電路設(shè)計中的10個難點


04

|單片機:明明是一門動手實踐課程,卻硬生生學(xué)成了理論課





免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉