單片機的終極幻想
首先,很多同學可能會認為現(xiàn)在再談單片機已經落伍了,其實不然,高端的處理器如恩智浦lpcXX、流明諾瑞lmsXX,其應用范圍是固定的,目前4位、8位、16位、32位同時存在于市場中,并且各有用武之地。低端的消費性電子產品市場比如電子表、洗衣機等等,就其性價比而言,MCU的優(yōu)勢是很明顯的,雖然很多芯片制造商在努力的改進制造工藝,苦思冥想的解決32位機相對于8位機昂貴的費用,但MCU也在不斷完善,現(xiàn)在的Philips的MCS-51相比80年代初性能已經改進了不止數百倍,目前8位CPU仍占嵌入式市場70%的份額,并且在未來的幾年其優(yōu)勢還是在一定程度上會毫無疑問的。
學習單片機需要什么基本知識呢?其實沒有太高的門檻,一個電類專業(yè)或者計算機專業(yè)的二年級學生完全有能力介紹這些知識。說白了就是一點點的模電、一點點的數電、還有就是要懂點C語言。很多同學可能會說C學的不好,沒關系你在使用語言的過程中就會明白,只要會說話會思考,懂得將現(xiàn)實世界的現(xiàn)象和作用機理抽象成科學的邏輯(流程圖),然后按照一種語言的語法實現(xiàn)流程圖,你就是在編程了。呵呵。語言是種難纏的工具,良好的使用和表達意識,能讓我們對這個世界有更清晰的認識。
學習內容是什么呢?可能很多同學會記得初學單片機時的流水燈,呵呵是的,那是經典的入門程序,類似于學習C語言時的HelloWorld經典呵呵,更類似于Intel和Philips的8031MCS-51的經典。初學單片機編程用什么語言好?個人覺得還是學點匯編好。由于單片機對成本是敏感的,所以目前占統(tǒng)治地位的軟件還是最低級匯編語言,它是除了二進制機器碼以上最低級的語言了,既然這么低級為什么還要用呢?很多高級的語言已經達到了可視化編程的水平為什么不用呢?原因很簡單,就是單片機沒有家用計算機那樣的CPU,也沒有像硬盤那樣的海量存儲設備。一個可視化高級語言編寫的小程序里面即使只有一個按鈕,也會達到幾十K的尺寸!對于家用PC的硬盤來講沒什么,可是對于單片機來講是不能接受的。 單片機在硬件資源方面的利用率必須很高才行,所以匯編雖然原始卻還是在大量使用。一樣的道理,如果把巨型計算機上的操作系統(tǒng)和應用軟件拿到家用PC上來運行,家用PC的也是承受不了的。另外初學單片機,使用匯編常與底層硬件打交道是很有益處的。
概括起來個人認為,學習時應著重關注:1、總線 2、尋址方式也就是數據、指令、地址之間的貓膩 3、內部資源比如并口、RAM、ROM、定時器等4、注意每種類型指令的執(zhí)行過程以及基本的堆棧操作。5、多動手多編程呵呵,還有更多的是出了學校以后才能得到的教訓...
珍惜青春,就不顧一切的揮霍它吧,呵呵...
評論