征服單片機(jī)萬能步驟
大學(xué)生活是豐富多彩的,與各種電子元器件與各種開發(fā)板為伴也是一件很幸福的事情。在電子方面一直都是長江后浪推前浪,青出于藍(lán)勝于藍(lán)。在此獻(xiàn)上自己學(xué)習(xí)單片機(jī)的經(jīng)驗(yàn)以及技巧希望學(xué)弟學(xué)妹在電子的道路上走得更遠(yuǎn),取得的成績更輝煌。
本文引用地址:http://m.butianyuan.cn/article/164527.htm征服單片機(jī)萬能步驟
知己知彼百戰(zhàn)百勝,學(xué)習(xí)幾款單片機(jī)后發(fā)現(xiàn)各種單片機(jī)有幾個(gè)共同點(diǎn),看門狗,系統(tǒng)時(shí)鐘,GPIO,定時(shí)器,中斷。這樣就有了給我們攻克的方向了。面對一款單片機(jī),首先要了解他的看門狗的情況,如果默認(rèn)情況看門狗沒有關(guān)閉,咱就先找去找辦法關(guān)掉看門狗,記住初來乍到不要惹狗。玩MSP430單片機(jī)時(shí),用IAR建立工程后主函數(shù)中關(guān)看門狗的語句會自動生成。解決了狗的問題就要開始面對系統(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í)鐘。對于一款控制器,時(shí)鐘配置是一個(gè)很重要的步驟。了解了系統(tǒng)的時(shí)鐘才能清楚單片機(jī)的性能以及后面定時(shí)器的使用。當(dāng)我們弄清楚了時(shí)鐘并配置好系統(tǒng)的各個(gè)時(shí)鐘就可以開始基本的實(shí)驗(yàn)。接下來就是對GPIO的操作。51單片機(jī)的IO口操作十分簡單,但是也有一點(diǎn)是值得注意的:當(dāng)IO口作為輸入時(shí)先輸出高電平。稍微復(fù)雜一點(diǎn)的IO結(jié)構(gòu)操作就會復(fù)雜些,MSP430單片機(jī)以及STM32等都有多個(gè)專門針對GPIO配置的寄存器。但是都有基本寄存器: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ī)的童鞋大多會在網(wǎng)上搜索單片機(jī)快速入門寶典之類的東西,這類標(biāo)題也是商家或者出書的最喜愛的標(biāo)題。其實(shí)學(xué)習(xí)任何東西都不存在捷徑,真正有的是少走彎路?,F(xiàn)在講講如何避免走錯路,走彎路。
1.抱著書啃不如多看PDF手冊。學(xué)習(xí)單片機(jī)和學(xué)習(xí)書本知識不同,現(xiàn)在市面上好書很少,大多都是與開發(fā)板配套使用或者是理論太強(qiáng)不踏實(shí)。學(xué)習(xí)單片機(jī)我主張的是多看PDF文檔,這些PDF主要是單片機(jī)的官方數(shù)據(jù)手冊以及相關(guān)資料。找資料方面也得注意,不要一下子找?guī)资菸臋n資料,最后搞的自己也不清楚看哪個(gè)了,所以找資料也要有技巧。單片機(jī)種類繁多,更新迅速,學(xué)每一款單片機(jī)就去買本書不大可能。書本上的代碼限制了我們的思想,而數(shù)據(jù)手冊就不同,我們根據(jù)其根本原理以及寄存器來寫出自己的代碼,這樣既了解單片機(jī)的底層也鍛煉了自己寫代碼的能力。在以后學(xué)習(xí)其他單片機(jī)也能通過數(shù)據(jù)手冊快速掌握。
2.寫代碼的三個(gè)階段。對學(xué)習(xí)單片機(jī)的過程大致是:抄代碼然后是自己寫代碼最后還是抄代碼。剛接觸單片機(jī)那會去兒抄代碼可以理解。如果按照上面介紹的萬能步驟學(xué)習(xí),當(dāng)學(xué)到定時(shí)器的時(shí)候就不應(yīng)該再去抄代碼了。如果一直抄代碼就不會有半點(diǎn)進(jìn)步。因?yàn)槌鯇W(xué)者必須自己去琢磨所有的問題。去建立自己的編程風(fēng)格。當(dāng)建立了自己的單片機(jī)風(fēng)格那么就到了所說的第二個(gè)階段,在這個(gè)階段算是對程序設(shè)計(jì)有了一定的感覺,不再是新手了。在第二個(gè)階段后繼續(xù)往后學(xué)習(xí)會發(fā)現(xiàn)移植的東西越來越多了,自己寫出來的底層少了。所以在這個(gè)階段的時(shí)候不要感覺別扭,要根據(jù)不同的時(shí)期調(diào)整心態(tài),這就是第三個(gè)階段的抄代碼,也可以說是移植底層。
3.單片機(jī)不在多而在精。單片機(jī)的種類很多,不可能都學(xué)過來。不是學(xué)到的單片機(jī)種類越多就顯得技術(shù)越強(qiáng),單片機(jī)之間都有共通點(diǎn),不然也不會有上面的萬能步驟。面對如此多種類的單片機(jī)我們該采取什么態(tài)度呢。只需要做到精通一款單片機(jī),對單片機(jī)的內(nèi)部了解透徹那么當(dāng)我們再去學(xué)習(xí)另一款單片機(jī)的時(shí)候便會得心應(yīng)手不會有很多的困難。
4.讀懂時(shí)序是關(guān)鍵。學(xué)習(xí)單片機(jī)就肯定會接觸很多的傳感器,種種傳感器讓我們做出來的東西都非常有趣。大多單片機(jī)愛好者都喜歡去調(diào)試各種傳感器,懂得了這些就可以做出我們身邊比較簡單的電子產(chǎn)品,非常有成就感。在學(xué)習(xí)傳感器的過程中我們要抓住重點(diǎn)就是時(shí)序圖??炊畷r(shí)序圖,然后更具時(shí)序圖寫代碼,這樣的能力對于單片機(jī)愛好者來說是非常重要的。我對傳感器歸類大致是這幾種:
傻瓜型: 就是單純檢測高低電平的那種傳感器。比如:光電傳感器
SPI通信:操作復(fù)雜一點(diǎn)的傳感器就需要通信來獲取有用的數(shù)據(jù)。比如:角度傳感器
IIC通信:這點(diǎn)與上面的SPI通信的傳感器類似,只是通信方式不同。比如:MPU6050
串口通信:利用串口來通信發(fā)送指令。比如GSM模塊
單總線通信:這種通信方式的傳感器對時(shí)序要求很嚴(yán)格。比如:DS18B20
單片機(jī)的道路是很漫長的,也是充滿樂趣的。當(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ī)工作原理
評論