www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式微處理器
[導讀]單片機現(xiàn)在水平只能說會,想在外設上多多學習下,手里面只有開發(fā)板,請問大家有沒有什么好的方法?目前基礎知識只有C 會單片機 數(shù)電懂點,模電沒看過,電路還沒有開課。 WE胃: 1、學會看時序圖? 2、學會各種通訊協(xié)議(典型的有I2C、SPI等)? 3、學會看datasheet


單片機現(xiàn)在水平只能說會,想在外設上多多學習下,手里面只有開發(fā)板,請問大家有沒有什么好的方法?目前基礎知識只有C 會單片機 數(shù)電懂點,模電沒看過,電路還沒有開課。

WE胃:
1、學會看時序圖 
2、學會各種通訊協(xié)議(典型的有I2C、SPI等) 
3、學會看datasheet(要求有一定的英語閱讀能力) 
4、根據(jù)datasheet設計外圍電路 
5、根據(jù)datasheet寫程序。

閼男秀:

我來分享一下自己的學習歷程,比較偏重于軟件,希望能幫到題主以及其他正在學習的同學。
======================================

我是直接使用了單片機學習板,在某寶上面購買的,然后送了一大堆資料,現(xiàn)在都準備畢業(yè)了,我居然還沒有把所有外設都玩一遍,真是揪心!

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

我想給出以下學習建議:

一、基礎知識一定要學好;

二、分模塊學習;
三、做完一個項目一定要總結;
四、學通了一種單片機,再學習其他的單片機就會上手很快的,學習外設同理;
五、學會移植(抄)程序。

======================================

一、基礎知識
技術性的東西學習起來都是一層一層的,如果前面的基礎知識如果沒有學好,到了后面的學習會讓你懵懵懂懂,最后會走很多彎路。

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



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

然后是例程,點亮一個LED燈。
   
#include<reg52.h>

sbit LED=P1^0;

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

二、分模塊
不多說了,我直接上我的學習資料的圖片吧,買了學習板后客服送的資料挺好的。


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

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

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

如果不知道總結要寫什么,可以參考大學里的單片機實驗指導書或者實驗報告。 我一直覺得,寫那些實驗報告和課程設計報告真是最好的學習方法啊! 可能以后出來工作再也不用寫實驗報告或者課程設計論文了。
我們的實驗報告是這樣的:

1、實驗目的

2、實驗內(nèi)容
3、儀器、設備和材料
4、實驗原理(用到了什么芯片,什么外設)
5、實驗步驟
6、實驗結果(代碼)
7、注意事項
如果是自己寫的總結,最重要的就是4,其他什么的都可以不寫。 把用到的芯片、外設、電路圖和代碼整理總結一下,對這些技術的理解就會非常深刻的。 注意事項可以寫一些做實驗中為什么卡住的技術難題,或者很多資料都沒寫,自己發(fā)現(xiàn)的技術細節(jié)。 比如紅外NEC協(xié)議:


這是NEC協(xié)議的典型脈沖鏈,一開頭有一個9ms的高電平,和4.5ms的低電平,接下來是用戶碼和數(shù)據(jù)碼等等。 但是,在紅外接收頭那一端,這些信號是相反的。也就是說,紅外接收頭輸出信號的那個引腳,在沒有信號的時候輸出高電平,當接收到信號后會輸出一個9ms的低電平和4.5ms的高電平,接下來是取反的數(shù)據(jù)碼等等。

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

總之一定要總結,不要偷懶。

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

四、一通百通
我認為,只要你精通了一種單片機,再學習其他單片機是非常快的,學習外設同理,學習其他東西也是一樣的。

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

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

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

=============================================

一些題外話:
實際上我想強調(diào)的就是以下幾點:
一、基礎;
二、分模塊(分成小目標學習);
三、總結;
四、先精通一種;

不止這樣學習單片機比較好的,學習任何東西都可以這樣做的。

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

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



這是學習板上的DS1302模塊電路圖。
1、從電路圖中可以看出是用單片機的哪兩個引腳控制該模塊?
2、晶振在電路圖中有什么作用?
3、電容C12有什么作用?
……
分析了電路圖,就會明白其中的原理,需要設計的時候就會信手拈來,或者看datasheet來設計電路圖時,就會知道為什么要這樣設計。 這里我只強調(diào)一個詞: 原理。 至于什么畫電路圖的,畫PCB的我就不提了。


-END-



推薦閱讀



【01】嵌入式工程師出路之我見:就業(yè),技術,行業(yè)...
【02】嵌入式工程師,別怪"浮點數(shù)"太坑!(C語言版本)
【03】為什么嵌入式工程師會對8位MCU有誤解?
【04】嵌入式工程師,那些職場老油條唬人的話,你聽過幾個?
【05】工程師干貨:嵌入式雜談之文件系統(tǒng)


免責聲明:整理文章為傳播相關技術,版權歸原作者所有,如有侵權,請聯(lián)系刪除

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

嵌入式ARM

掃描二維碼,關注更多精彩內(nèi)容

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

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉