新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > 征服單片機(jī)萬能步驟

征服單片機(jī)萬能步驟

作者:liklon 時(shí)間:2013-09-02 來源:電子產(chǎn)品世界 收藏

  大學(xué)生活是豐富多彩的,與各種電子元器件與各種開發(fā)板為伴也是一件很幸福的事情。在電子方面一直都是長(zhǎng)江后浪推前浪,青出于藍(lán)勝于藍(lán)。在此獻(xiàn)上自己學(xué)習(xí)的經(jīng)驗(yàn)以及技巧希望學(xué)弟學(xué)妹在電子的道路上走得更遠(yuǎn),取得的成績(jī)更輝煌。

本文引用地址:http://www.butianyuan.cn/article/164527.htm

  征服萬能步驟

  知己知彼百戰(zhàn)百勝,學(xué)習(xí)幾款后發(fā)現(xiàn)各種單片機(jī)有幾個(gè)共同點(diǎn),看門狗,系統(tǒng)時(shí)鐘,,定時(shí)器,中斷。這樣就有了給我們攻克的方向了。面對(duì)一款單片機(jī),首先要了解他的看門狗的情況,如果默認(rèn)情況看門狗沒有關(guān)閉,咱就先找去找辦法關(guān)掉看門狗,記住初來乍到不要惹狗。玩MSP430單片機(jī)時(shí),用IAR建立工程后主函數(shù)中關(guān)看門狗的語句會(huì)自動(dòng)生成。解決了狗的問題就要開始面對(duì)系統(tǒng)時(shí)鐘了,人要活著就要心跳,單片機(jī)要工作就需要提供系統(tǒng)時(shí)鐘。剛?cè)腴T時(shí)候接觸的51單片機(jī)沒有配置時(shí)鐘這個(gè)概念,但是比較復(fù)雜的單片機(jī)就不同,比如STM32就有龐大的時(shí)鐘樹,MSP430單片機(jī)也分主系統(tǒng)時(shí)鐘,子系統(tǒng)時(shí)鐘以及輔助時(shí)鐘。對(duì)于一款控制器,時(shí)鐘配置是一個(gè)很重要的步驟。了解了系統(tǒng)的時(shí)鐘才能清楚單片機(jī)的性能以及后面定時(shí)器的使用。當(dāng)我們弄清楚了時(shí)鐘并配置好系統(tǒng)的各個(gè)時(shí)鐘就可以開始基本的實(shí)驗(yàn)。接下來就是對(duì)的操作。51單片機(jī)的IO口操作十分簡(jiǎn)單,但是也有一點(diǎn)是值得注意的:當(dāng)IO口作為輸入時(shí)先輸出高電平。稍微復(fù)雜一點(diǎn)的IO結(jié)構(gòu)操作就會(huì)復(fù)雜些,MSP430單片機(jī)以及STM32等都有多個(gè)專門針對(duì)配置的寄存器。但是都有基本寄存器:GPIO模式配置,GPIO輸入寄存器,GPIO輸出寄存器,GPIO復(fù)用功能寄存器。弄清楚了IO操作我們便能控制各個(gè)模塊。最后一個(gè)步驟就是攻克定時(shí)器以及中斷。單片機(jī)的精華和難點(diǎn)都在定時(shí)器以及中斷這一塊了,當(dāng)我們把前面幾個(gè)步驟都完成后就得專心來研究一下這一步驟,定時(shí)器重點(diǎn)的是定時(shí)器的時(shí)鐘源以及計(jì)數(shù)模式。中斷也是一個(gè)很復(fù)雜的方面,這里重點(diǎn)說步驟至于如何攻克就得靠自己努力了。學(xué)習(xí)單片機(jī)就得耐得住寂寞。

  不求捷徑但求不走彎路

  剛接觸單片機(jī)的童鞋大多會(huì)在網(wǎng)上搜索單片機(jī)快速入門寶典之類的東西,這類標(biāo)題也是商家或者出書的最喜愛的標(biāo)題。其實(shí)學(xué)習(xí)任何東西都不存在捷徑,真正有的是少走彎路?,F(xiàn)在講講如何避免走錯(cuò)路,走彎路。

  1.抱著書啃不如多看PDF手冊(cè)。學(xué)習(xí)單片機(jī)和學(xué)習(xí)書本知識(shí)不同,現(xiàn)在市面上好書很少,大多都是與開發(fā)板配套使用或者是理論太強(qiáng)不踏實(shí)。學(xué)習(xí)單片機(jī)我主張的是多看PDF文檔,這些PDF主要是單片機(jī)的官方數(shù)據(jù)手冊(cè)以及相關(guān)資料。找資料方面也得注意,不要一下子找?guī)资菸臋n資料,最后搞的自己也不清楚看哪個(gè)了,所以找資料也要有技巧。單片機(jī)種類繁多,更新迅速,學(xué)每一款單片機(jī)就去買本書不大可能。書本上的代碼限制了我們的思想,而數(shù)據(jù)手冊(cè)就不同,我們根據(jù)其根本原理以及寄存器來寫出自己的代碼,這樣既了解單片機(jī)的底層也鍛煉了自己寫代碼的能力。在以后學(xué)習(xí)其他單片機(jī)也能通過數(shù)據(jù)手冊(cè)快速掌握。

  2.寫代碼的三個(gè)階段。對(duì)學(xué)習(xí)單片機(jī)的過程大致是:抄代碼然后是自己寫代碼最后還是抄代碼。剛接觸單片機(jī)那會(huì)去兒抄代碼可以理解。如果按照上面介紹的萬能步驟學(xué)習(xí),當(dāng)學(xué)到定時(shí)器的時(shí)候就不應(yīng)該再去抄代碼了。如果一直抄代碼就不會(huì)有半點(diǎn)進(jìn)步。因?yàn)槌鯇W(xué)者必須自己去琢磨所有的問題。去建立自己的編程風(fēng)格。當(dāng)建立了自己的單片機(jī)風(fēng)格那么就到了所說的第二個(gè)階段,在這個(gè)階段算是對(duì)程序設(shè)計(jì)有了一定的感覺,不再是新手了。在第二個(gè)階段后繼續(xù)往后學(xué)習(xí)會(huì)發(fā)現(xiàn)移植的東西越來越多了,自己寫出來的底層少了。所以在這個(gè)階段的時(shí)候不要感覺別扭,要根據(jù)不同的時(shí)期調(diào)整心態(tài),這就是第三個(gè)階段的抄代碼,也可以說是移植底層。

  3.單片機(jī)不在多而在精。單片機(jī)的種類很多,不可能都學(xué)過來。不是學(xué)到的單片機(jī)種類越多就顯得技術(shù)越強(qiáng),單片機(jī)之間都有共通點(diǎn),不然也不會(huì)有上面的萬能步驟。面對(duì)如此多種類的單片機(jī)我們?cè)摬扇∈裁磻B(tài)度呢。只需要做到精通一款單片機(jī),對(duì)單片機(jī)的內(nèi)部了解透徹那么當(dāng)我們?cè)偃W(xué)習(xí)另一款單片機(jī)的時(shí)候便會(huì)得心應(yīng)手不會(huì)有很多的困難。

  4.讀懂時(shí)序是關(guān)鍵。學(xué)習(xí)單片機(jī)就肯定會(huì)接觸很多的傳感器,種種傳感器讓我們做出來的東西都非常有趣。大多單片機(jī)愛好者都喜歡去調(diào)試各種傳感器,懂得了這些就可以做出我們身邊比較簡(jiǎn)單的電子產(chǎn)品,非常有成就感。在學(xué)習(xí)傳感器的過程中我們要抓住重點(diǎn)就是時(shí)序圖??炊畷r(shí)序圖,然后更具時(shí)序圖寫代碼,這樣的能力對(duì)于單片機(jī)愛好者來說是非常重要的。我對(duì)傳感器歸類大致是這幾種:

  傻瓜型: 就是單純檢測(cè)高低電平的那種傳感器。比如:光電傳感器

  :操作復(fù)雜一點(diǎn)的傳感器就需要通信來獲取有用的數(shù)據(jù)。比如:角度傳感器

  IIC通信:這點(diǎn)與上面的的傳感器類似,只是通信方式不同。比如:MPU6050

  :利用串口來通信發(fā)送指令。比如GSM模塊

  單總線通信:這種通信方式的傳感器對(duì)時(shí)序要求很嚴(yán)格。比如:DS18B20

  單片機(jī)的道路是很漫長(zhǎng)的,也是充滿樂趣的。當(dāng)有一天發(fā)現(xiàn)自己以前玩過的玩具都被自己DIY出來了,肯定很有成就感。大學(xué)的生活很自由,喜愛電子的童鞋得沉下心好好的在電子領(lǐng)域鬧騰一翻。大學(xué)與電子相伴度過,學(xué)到了很多也很充實(shí)。留下這點(diǎn)經(jīng)驗(yàn)送給所有電子愛好者。

51單片機(jī)相關(guān)文章:51單片機(jī)教程


單片機(jī)相關(guān)文章:單片機(jī)教程


單片機(jī)相關(guān)文章:單片機(jī)視頻教程


單片機(jī)相關(guān)文章:單片機(jī)工作原理




評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉