精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

怎么學習單片機外設

GReq_mcu168 ? 來源:玩轉單片機 ? 2020-05-07 14:51 ? 次閱讀

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

WE胃:

1、學會看時序圖

2、學會各種通訊協議(典型的有I2C、SPI等)

3、學會看datasheet(要求有一定的英語閱讀能力)

4、根據datasheet設計外圍電路

5、根據datasheet寫程序。

閼男秀:

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

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

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

雖然題主只是問了怎么學習單片機外設,但我認為,外設的學習與單片機的片上資源同時學習最好,給自己一個項目題目然后動手去寫代碼是最好的。單片機的片上資源就是那些IO口,定時器/計數器,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?里面有什么內容?

2、sbit是什么意思?是標準C里的關鍵字還是keil C里的關鍵字?為什么要寫這一條語句?

3、為什么最后要加while死循環?

……

初學的時候一般是不會問自己這些問題的,我自己學的時候都沒有問過自己這些問題。但是這些知識點恰恰卻是基礎,或者說學習時的盲點。

關于基礎我就不多寫了,點到即止。

二、分模塊

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

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

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

三、總結

一定要總結!

再強調一遍!一定要總結!

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

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

我們的實驗報告是這樣的:

1、實驗目的

2、實驗內容

3、儀器、設備和材料

4、實驗原理(用到了什么芯片,什么外設)

5、實驗步驟

6、實驗結果(代碼)

7、注意事項

如果是自己寫的總結,最重要的就是4,其他什么的都可以不寫。把用到的芯片、外設、電路圖和代碼整理總結一下,對這些技術的理解就會非常深刻的。注意事項可以寫一些做實驗中為什么卡住的技術難題,或者很多資料都沒寫,自己發現的技術細節。比如紅外NEC協議:

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

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

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

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

四、一通百通

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

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

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

五、學會移植

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

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

一些題外話:

實際上我想強調的就是以下幾點:

一、基礎;

二、分模塊(分成小目標學習);

三、總結;

四、先精通一種;

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

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

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

這是學習板上的DS1302模塊電路圖。

1、從電路圖中可以看出是用單片機的哪兩個引腳控制該模塊?

2、晶振在電路圖中有什么作用?

3、電容C12有什么作用?

……

分析了電路圖,就會明白其中的原理,需要設計的時候就會信手拈來,或者看datasheet來設計電路圖時,就會知道為什么要這樣設計。這里我只強調一個詞:原理。至于什么畫電路圖的,畫PCB的我就不提了。

最后,畢竟我還只是學生,還沒有開始工程師的職業生涯,如果有不好的地方請前輩們指正并多多包涵。

路明:

學習,就是看書,做實驗,把學的用起來,

切記,一定要多逛論壇

大屌都在里面

wyf:

外設的話有一點建議。土豪的話自己弄一套裝備,比如萬用版,焊錫,焊筆,萬用表邏輯分析儀。然后常見器件買個一打,自己折騰折騰。要是不想花錢,電腦上是可以用單片機跑仿真的,搭好電路,下好程序就可以跑跑。但是不太直觀。

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

    關注

    6032

    文章

    44525

    瀏覽量

    633260
  • 時序圖
    +關注

    關注

    2

    文章

    57

    瀏覽量

    22439

原文標題:怎么學習單片機外圍器件?

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    十天學會單片機可能嗎?單片機入門需要多久?

    學習單片機的過程,就像學習任何其他技能一樣,不僅在于書本上的知識,更在于實踐和應用的能力。許多人可能會問:十天能學會單片機嗎?答案是:可以,但這取決于你所定義的“學會”到什么程度。首先
    的頭像 發表于 09-05 08:00 ?881次閱讀
    十天學會<b class='flag-5'>單片機</b>可能嗎?<b class='flag-5'>單片機</b>入門需要多久?

    stm32單片機用什么軟件編程

    STM32單片機是一種廣泛應用于嵌入式系統領域的微控制器,具有高性能、低功耗、豐富的外設接口等特點。要對STM32單片機進行編程,需要選擇合適的軟件工具。 概述 STM32單片機
    的頭像 發表于 09-02 10:16 ?1028次閱讀

    stm32和51單片機的區別是什么

    架構差異: STM32是基于ARM Cortex-M系列內核的32位微控制器,具有更高效的處理能力和更豐富的外設。 51單片機是基于8051內核的8位微控制器,處理能力相對較低,外設也相對有限
    的頭像 發表于 09-02 09:33 ?645次閱讀

    一個暑假如何學習單片機

    一個暑假是學習和掌握單片機基礎知識的良好時機。以下是一個關于如何在暑假期間學習單片機的建議計劃
    的頭像 發表于 07-03 09:19 ?485次閱讀
    一個暑假如何<b class='flag-5'>學習</b><b class='flag-5'>單片機</b>

    stm32單片機學習路線

    STM32的寄存器編程可以幫助你更深入地了解單片機的工作原理和底層操作。通過編寫簡單的程序,控制LED、讀取按鍵等基本操作來加深理解。 5.學習HAL庫和CubeMX:HAL庫是STM32提供
    發表于 05-10 15:34

    單片機學到什么程度可以找工作?

    找到工作,您需要達到一定的學習程度和技能水平。我們今天就來說一說究竟怎樣才能算是可以去找工作了。一些關于單片機學習程度和就業能力的建議了解單片機的基本原理,包括內
    的頭像 發表于 03-28 08:04 ?1513次閱讀
    <b class='flag-5'>單片機</b>學到什么程度可以找工作?

    單片機開發好學嗎?學習中有哪些樂趣與挑戰?

    一提到單片機學習大家都會覺得難學,事實真的是這樣嗎?今天就來探討一些單片機學習的那點事兒。對于許多初學者來說,剛開始接觸單片機編程可能會感到
    的頭像 發表于 03-28 08:04 ?1816次閱讀
    <b class='flag-5'>單片機</b>開發好學嗎?<b class='flag-5'>學習</b>中有哪些樂趣與挑戰?

    新手學習單片機最常見的六大誤區!

    最近看到臺私信要資料的同學比較多,想必大家都是對單片機有著濃厚的學習興趣,但是很多新手開始入門單片機的時候都會遇到一些學習的誤區,今天就來整理一下大家可能會遇到的六大誤區。
    的頭像 發表于 03-28 08:03 ?773次閱讀
    新手<b class='flag-5'>學習</b><b class='flag-5'>單片機</b>最常見的六大誤區!

    如何系統、科學地自學單片機

    很多初學者都會面臨這個問題,我想學習單片機、我也想學好單片機、我也想系統地學習單片機,但是單片機
    的頭像 發表于 03-28 08:03 ?1010次閱讀
    如何系統、科學地自學<b class='flag-5'>單片機</b>?

    fpga和單片機誰更難學

    FPGA和單片機各有其學習難度,具體哪個更難學,很大程度上取決于個人的專業背景、學習目的和興趣。
    的頭像 發表于 03-27 14:28 ?943次閱讀

    學習RISC-V單片機的感想

    從開始學習單片機開始,就沒有在單片機總線方面的知識投入什么精力。覺得就是為了應用開發,沒必要了解底層架構方面的知識。 現在可以選擇的單片機種類有很多,從最早的51
    發表于 02-17 21:00

    STM32單片機的特點和功能是什么

    STM32單片機是一款基于ARM Cortex-M內核的32位閃存微控制器,由STMicroelectronics公司(意法半導體)生產。STM32單片機具有高性能、低功耗、豐富的外設和易于開發
    的頭像 發表于 01-03 15:33 ?1.2w次閱讀

    單片機串口通信的接收與發送

    單片機串口通信是一種常見的通信方式,它可以實現單片機與外部設備的數據交換。在實際應用中,單片機串口通信常用于與電腦、傳感器、LCD顯示屏等外設進行數據傳輸。 首先,我們來了解一下
    的頭像 發表于 12-20 14:03 ?3528次閱讀

    STM32單片機常用的引腳及功能

    STM32單片機是由意法半導體公司(STMicroelectronics)推出的一種高性能、低功耗的微控制器。它具有豐富的外設功能和強大的處理能力,廣泛應用于各種嵌入式系統的開發中。 在STM32
    的頭像 發表于 12-07 16:22 ?2.1w次閱讀

    51單片機中斷學習筆記

    51單片機中斷學習筆記
    發表于 12-05 12:13