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