如何學好AVR單片機介紹
隨著各IC廠商推出各種高性能的單片機,51單片機已經遠遠不能滿足大家對高性能單片機的需求。目前很多公司和學校已經開始轉向AVR單片機了,相信在未來幾年,AVR將會非常興旺,所以學習AVR單片機將會很有前途。
相比經典的51系列來說,AVR單片機突出的優(yōu)點主要有以下幾點:
一、速度快。AVR是精簡指令集單片機,其速度可以達到1MIPS/秒,理論上是傳統(tǒng)的51的12倍,實際上在10倍左右。
二、片上資源豐富。MEGA系列片上具備JTAG仿真和下載功能。片內含有看門狗電路、片內程序Flash、片內數(shù)據(jù)RAM、同步串行接口SPI、異步串口UART、內嵌AD轉換器、EEPROM、模擬比較器、PWM定時計數(shù)器、TWI(IIC)總線接口、硬件乘法器、獨立振蕩器的實時計數(shù)器RTC、片內標定的RC振蕩器等片內外設,可以滿足各種開發(fā)需求。
三、驅動能力強。I/O口可以直接驅動數(shù)碼管、LED、繼電器等器件,節(jié)省很多外圍電路,即節(jié)省開發(fā)難度,又降低成本。
四、功耗低。低功耗雖然比不上430單片機,但是在單片機中也是佼佼者。
五、可選擇型號種類多。各種不同的型號可以滿足不同的需求,讓你的項目有很多的選擇余地。
六、性價比高。在高性能的前提下,并沒有增加芯片的價格,價格可以和51相比,而功能確是51不可以比的。
綜合以上的優(yōu)點和今后的趨勢,學習AVR單片機是很必要的。
下面就我個人的體會怎么樣才能更快的學好AVR單片機?。『芏嘞雽W習AVR的人都問我怎樣才能學好?下面我就把我自己是如何學習AVR單片機,如何開始上手,如何開始熟練這個過程給大家講講。
下面簡要介紹一下步驟:
一、找本書大概了解一下AVR單片機結構、功能。大概了解就行,不用看的很細。(五天)
二、找學習板練習編寫程序,學單片機主要是練習編寫程序,遇到不會的再請教別人或查書。(四十天)
三、如果你學習的是MEGA系列的AVR單片機,你還要學會怎么樣設置熔絲位,讓它更高效、更方便的為你工作。(一天)
四、自己在網(wǎng)上找些小電路類的資料練習設計外圍電路。焊好后自己調試,熟悉過程。(十天)
五、自己獨立設計具有個人風格的電路、產品,……你已經是高手了。
計算一下時間,兩個月左右你就可以熟練操作AVR單片機了,至于多長時間成為高手,看你的努力程度了。
任何一款單片機的學習都應該是和實踐緊密結合的過程,不能長時間的停留在書本上。但是學習單片機也是學習知識,所以首先還必須得看書,因為從書中你需要大概了解一下,單片機是什么東西?都可以干什么?如何控制它才能達到我們的目的等等?第一次,第二次你可能看不明白,但這不要緊,因為還缺少實際的感觀認識??梢园阉斪鲂≌f來看,只要了解個大概就行。推薦一本書,書名是《AVR系列單片機C語言編程與應用實例》,是清華大學出版社出版的。大概了解一下書上的內容,然后實踐,這是非常關鍵的,因為學單片機你不實踐是不可能學會的。
關于實踐有兩種方法你可以選擇,一種方法:你自己花錢買一塊單片機的學習板,功能少的花錢少,入門過后就沒什么用處了。功能多的雖然貴點,但是你可以學習到更多的東西。好的學習板可以當作開發(fā)板,很多人以為學習板和開發(fā)板這是一個東西,其實不然,學習板只能來簡單的學習,開發(fā)板呢?上面的東西很專業(yè),程序中的子函數(shù)很獨立,在你開發(fā)的時候,很多東西拿來就可以用直接調用,很方便。所以我個人建議買個好點的可以用做開發(fā)板的學習板。流水燈、數(shù)碼管、獨立鍵盤、矩陣鍵盤、AD或DA(原理一樣)、液晶、蜂鳴器等很基礎的實驗,如果你能熟練應用,那可以說對于單片機方面的硬件你已經入門了,剩下的就是自己練習設計電路,不斷的積累經驗。只要過了第一關的入門,后面的路就好走多了。
方法二:你身邊如果有單片機方面的高手,向他求助,讓他幫你搭個簡單的最小系統(tǒng)板。對于高手來說,做個單片機的最小系統(tǒng)板只需要幾分鐘的時間,而對于初學者可就難多了,因為只有對硬件了解了,才能熟練運用,而你還沒入門。而如果你身邊沒有這樣的高手,又找不到可以幫助你的人,那我勸你最好是自己買上一塊,畢竟自己有一塊要方便的多,以后做單片機類的實驗時都能用得上,省時省事,為了學習,投入一下還是很值得的,因為以后它為你創(chuàng)造的價值是無法比擬的,少買一件衣服,少下兩頓館子,少上網(wǎng)吧,省點錢學習些有用的東西,這才是年輕人該做的事。
有了單片機學習板之后你要多練習,最好是自己有臺電腦,多研究程序,少玩游戲、少看電影。首先學會使用開發(fā)軟件,如何編輯、編譯源程序?如何仿真程序?目前使用C語言開發(fā)AVR的人占90%,而初學者大都使用ICCAVR(AVR的C語言環(huán)境)作為編輯、編譯源程序的軟件,用AVR Studio來進行仿真(如果需要這兩個軟件可以聯(lián)系本文的作者QQ:475661158)。然后從最簡單的流水燈實驗做起,等你能讓那八個流水燈按照你的意愿隨意流動時你已經入門了,你會發(fā)現(xiàn)單片機是多么有趣的東西啊,太有意思了(當你編寫的程序按你的意愿實現(xiàn)時你會感到很愜意,慢慢的你會愛上電子這行的)。然后讓數(shù)碼管亮起來,這兩項會了后,你已經陷入其中了。就是要這樣練習,在寫程序的時候你肯定會遇到很多問題,而這時你再去翻書找,或是請教別人,當?shù)玫酱鸢负螅銜∠蠛苌畹?,記得很牢固。這樣下去,很快你就熟悉AVR單片機了。
程序練習的差不多的時候,你就開始動手做硬件了,查找相關資料,自己動手做電路,幾個月下來,你就成為高手了。再簡單說一下C語言和匯編語言。單片機編程用C語言或匯編語言都可以,但是我建議用C語言比較好,如果原來有C語言的基礎那學起來會更好,如果沒有,也可以邊學單片機邊學C語言,C語言也挺簡單,只是一門工具而已,我勸你最好學會,將來肯定用得著,要不你以后也得學,你一點匯編都不會根本無所謂,但你一點C語言都不會那你將來會吃苦頭。匯編寫程序代碼效率高,在時序要求嚴格的場合下用的多,但相對開發(fā)難度較大,而且很麻煩,尤其是遇到算法稍微復雜點的問題時,用匯編寫起代碼來很容易把自己搞的一塌糊涂。AVR單片機的主頻可以高達20MHz,頂200多MHz的51單片機,這樣高頻率的時鐘,我們采用C語言來編寫代碼就沒問題了。單片機的程序存儲器(ROM、FLASH)容量也在不斷的提高,足夠裝得下你用C語言寫的任何代碼,C語言的資料豐富、移植性非常好,只需要稍微修改就可以移植,所以我勸大家用C語言。
總得來說,只要你有信心,做事能堅持到底,有不成功不罷休的精神,不管你學習沒學習過單片機,學好AVR單片機就是件非常容易的事。
評論