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