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