[推薦]我看單片機工程師(alloy518原創(chuàng))
看了這么多,我也想說說,我也是做單片機的,CPLD用過,F(xiàn)PGA沒有弄過,不會VHDL, 我用的是Verilog。我本科是學的計算機,但是軟件方面確實不開竅,記得畢業(yè)設計的時候 被師兄責備為C都不會,從大二暑假參加電子競賽開始搞硬件,到現(xiàn)在大概有5年了吧,也做 了大概10來個項目了,基本上都是用的單片機或者是單片機+CPLD的主控結構,也寫過兩本 單片機的教程。一直想學習ARM,但是處于時間、金錢的原因,也只是停留在認識的基礎上而已,沒有實踐的經驗這么多年來,用的最多的還是單片機,我比較偏愛ATMEL公司的產品,雖然有功耗大的 缺點,但是誰叫我第一塊單片機就是用的AT89C51呢,記得當年停產的時候,我和教研室的 一個同學還感嘆了半天呢。市場上項目還是挺多的,單片機還是很好用的,因為在低端控制 系統(tǒng)中,單片機基本上就可以勝任,51單片機比較便宜,而且現(xiàn)在也有很多高級51系列單片機,集成了很多功能,例如IIC、USB、CAN、MP3、MMC等,程序空間和內存也越來越大,64K+1K也很常見的,跑一些小的操作系統(tǒng)也可以了,例如uc/OS就可以,也可以移植TCP/IP協(xié)議 ,支持網絡通信,所以51系列單片機完全可以應用于現(xiàn)在很多的場合,而且隨著ISP和IAP在 51單片機上的應用,開發(fā)起來也越來越容易,我現(xiàn)在做簡單的開發(fā)用編程器(并口線)+串口就足夠了。
其缺點主要是保密性能太差,另外MIPS性能不高,即使用了X2功能,也很差。但 是51系列單片機的Keil環(huán)境,確實非常好用,自己也可以做一個MON來配合調試(說到MON,我想說我做MON-51遇到的一個問題:我的MON-51運行起來之后就不能夠stop了,只能夠退出 debug,大家誰知道是怎么回事情,告訴我一聲,謝謝),非常方便。AVR單片機MIPS非???,集成度比51要高,有些產品連外部晶體都不用,而且還有tiny等小封裝系列,可以用于低 成本,小體積的場合。而且AVR的保密性能比51要好一些,其缺點就是外部擴展比較麻煩,除了和51兼容的幾款之外,基本上都要軟件模擬時序,這也難怪,人家做AVR的目的就是單 片化嘛:)AVR的ICCAVR和ICCTiny都還可以,用ISP下載也很方便,但是我沒有用過AVR的仿真 器,因為太貴了:(不知道怎么樣,我調試基本上都是通過串口的,因為做的項目也不太大。
MSP單片機算是16位吧,用在儀表上比較多,我做過一個熱表的項目,它的最大特點是低功 耗,開發(fā)使用簡單的Jtag來下載就可以了。PIC的單片機沒有用過,也就不說了。整體來看,我認為很多場合都可以使用單片機,并不是非要用ARM內核、PowerPC等等,因為它們有不同的特點,所以以后很長一段時間,單片機還將有很大的用武之地,估計我們這輩子是看不到單片機被淘汰了,所以我們不必擔心沒有工作做,我們完全可以讓我們的下一代去學習ARM什么的吧:)
說說我對單片機開發(fā)的看法吧,這只是我自己的看法,說的不對的地方,大家別拍我,因為我也只是一個研究生:)
1、搞單片機的絕對是有工作做的,沒有必要為自己只會單片機就耿耿于懷;因為單片機 要用好了,也是很不容易的沒有個2-3年時間,沒有5-6項目的開發(fā)經驗,很難說真正把單片 機學會了,我覺得我現(xiàn)在也就是會用而已,遠遠說不到用好了,記得以前在21ic上看到過一 個用于檢驗單片機開發(fā)者功底的系統(tǒng),有時間找出來貼;
2、搞單片機絕對不能夠只會單片機本身,因為如果只熟悉單片機的話,你是什么都做不了的,計算機這個行業(yè),除非你研究計算機本身,否則你就的把它應用到實踐場合中去,所以你必須對它的應用環(huán)境有所了解。單片機系統(tǒng)這么多外圍芯片,你必須知道在什么場合應該用什么來實現(xiàn)你的功能。所以學習單片機的人除了單片機,對什么通信原理、數(shù)字電路、模擬電路什么的也應該至少有所了解。
3、單片機是計算機處理器的一個分支,我建議大家有時間找本計算機組成原理好好看看,我碰到過好多用單片機的人,連計算機的基本知識都不知道,怎么做設計阿,推薦一本書 《inter微處理器全系列:結構、編程與接口》(第五版),這本書是我本科時候帶過我的兩 位導師和一位博士師兄翻譯的,里面錯誤雖然有一些,但是大體還是不錯的,當然,你要是能夠看原版那就更好了,算是我給他們做個小小的廣告吧:)
4、多看書,多上網,多看看別人的設計思路和系統(tǒng),開闊視野,為以后自己的系統(tǒng)設計打好基礎
最后說說我覺得初中級單片機工程師應該達到的水平吧,呵呵,我覺得自己應該算是在初級和中級之間吧:)
1、對單片機應用場合有充分的了解,能夠在應用項目中選擇合適的單片機和外圍芯片的 型號;能夠根據(jù)系統(tǒng)指標很快的設計出一個應用系統(tǒng)的體系結構;在深圳那邊,做一個項目也給你的時間也就是一個星期左右,因為這些東西誰都能做,主要看誰能夠做的又快又好;
2、熟練使用ASM和C等相應的單片機語言,有良好的編程風格和一定的編程技巧;
3、能夠進行簡單的PCB版圖設計,至少能夠設計出有一定抗干擾能力的單片機電路板;
4、對控制、信號系統(tǒng)有所了解,知道必要的算法;
5、熟悉計算機方向的簡要開發(fā),能夠使用計算機開發(fā)工作做一些簡單的主機端軟件;
6、對模擬、數(shù)字電路、總線等比較熟悉,能夠使用它們進行單片機的外圍接口;
一句話,時刻努力學習,不僅僅學習單片機本身!