接觸單片機(jī)已經(jīng)一年有余了,記得入門還是從www.zg4o1577.cn首頁的28課,看完之后對(duì)51單片機(jī)有了一個(gè)整體認(rèn)識(shí),自從學(xué)習(xí)了C語言之后,覺得單片機(jī)其實(shí)很簡單,現(xiàn)在的我能夠隨心所欲地編程,即使程序再復(fù)雜,也難不倒我,只是時(shí)間問題而已。可是,我最近跟朋友合作搞一些小制作時(shí),發(fā)現(xiàn)51單片機(jī)內(nèi)的硬件資源太少,說白了就是51單片機(jī)太簡單了,做稍微復(fù)雜一點(diǎn)的東西,就有點(diǎn)勉強(qiáng)了。
例如我們想做一個(gè)基于單片機(jī)的簡易自制示波器,其中涉及到數(shù)據(jù)采集、USB等,用51單片機(jī)的話,真的是力不從心。對(duì)此我查找了相關(guān)的資料,也了解到比較常用的高性能8位單片機(jī)有PIC和AVR兩種,這兩種單片機(jī)的性能各有千秋,PIC的低功耗在業(yè)界是比較出名的,還有它的每個(gè)I/O口的高低電平的驅(qū)動(dòng)能力都在20mA左右,因此PIC更適合于工業(yè)控制,另外PIC的速度約為51的3倍左右。而AVR單片機(jī)跟PIC一樣,都是采用RISC指令集,因此AVR的指令執(zhí)行速度也比51快,與PIC不同的是,AVR還要比PIC快3倍左右,比51要快10倍以上,我覺得更重要的是,AVR甚至能夠做嵌入式系統(tǒng),當(dāng)然是很簡單的那種。曾經(jīng)有一段時(shí)間,我很矛盾,是用PIC好呢,還是用AVR好,后來聽取了同學(xué)的意見,轉(zhuǎn)型到AVR單片機(jī),所以今天特別到購書中心買了一本書叫《AVR單片機(jī)C語言程序設(shè)計(jì)實(shí)例精粹》,希望能快點(diǎn)搞懂AVR,也希望我和同學(xué)的自制示波器早點(diǎn)弄出來。
說到單片機(jī)的轉(zhuǎn)型,并不代表我會(huì)徹底摒棄51,原因很簡單,就是它的內(nèi)部資源少,控制起來比較簡單,而且成本也比較低,這在很多場合下是最佳的選擇,再說,51的資料在單片機(jī)世界里是最多的,不管你遇到什么難題,上面搜一下總是可以找到解決的辦法。我學(xué)AVR,只是想彌補(bǔ)51在8位機(jī)的不足而已,也許在應(yīng)用上會(huì)以AVR為主,51為副。其實(shí)我最想學(xué)的是FPGA和ARM,這些應(yīng)該是后話了,等學(xué)會(huì)了AVR之后再說吧。