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