<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 單片機,單片機是什么意思

單片機,單片機是什么意思

作者: 時(shí)間:2011-12-07 來(lái)源:網(wǎng)絡(luò ) 收藏

1、

本文引用地址:http://dyxdggzs.com/article/172367.htm

是一種集成在電路芯片,是采用超大規模集成電路技術(shù)把具有數據處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時(shí)器/計時(shí)器等功能(可能還包括顯示驅動(dòng)電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊硅片上構成的一個(gè)小而完善的計算機系統。

一臺能夠工作的計算機要有這樣幾個(gè)部份構成:CPU(進(jìn)行運算、控制)、RAM(數據存儲)、ROM(程序存儲)、輸入/輸出設備(例如:串行口、并行輸出口等)。在個(gè)人計算機上這些部份被分成若干塊芯片,安裝一個(gè)稱(chēng)之為主板的印刷線(xiàn)路板上。而在中,這些部份,全部被做到一塊集成電路芯片中了,所以就稱(chēng)為單片(單芯片)機,而且有一些單片機中除了上述部份外,還集成了其它部份如A/D,D/A等。

單片機是一種控制芯片,一個(gè)微型的計算機,而加上晶振,存儲器,地址鎖存器,邏輯門(mén),七段譯碼器(顯示器),按鈕(類(lèi)似鍵盤(pán)),擴展芯片,接口等那是單片機系統。

天!PC中的CPU一塊就要賣(mài)幾千塊錢(qián),這么多東西做在一起,還不得買(mǎi)個(gè)天價(jià)!再說(shuō)這塊芯片也得非常大了。

不,價(jià)格并不高,從幾元人民幣到幾十元人民幣,體積也不大,一般用40腳封裝,當然功能多一些單片機也有引腳比較多的,如68引腳,功能少的只有10多個(gè)或20多個(gè)引腳,有的甚至只8只引腳。

會(huì )這樣呢?

功能有強弱,打個(gè)比方,市場(chǎng)上面有的組合音響一套才賣(mài)幾百塊錢(qián),可是有的一臺功放機就要賣(mài)好幾千。另外這種芯片的生產(chǎn)量很大,技術(shù)也很成熟,51系列的單片機已經(jīng)做了十幾年,所以?xún)r(jià)格就低了。

既然如此,單片機的功能肯定不強,干嗎要學(xué)它呢?

話(huà)不能這樣說(shuō),實(shí)際工作中并不是任何需要計算機的場(chǎng)合都要求計算機有很高的性能,一個(gè)控制電冰箱溫度的計算機難道要用PIII?應用的關(guān)鍵是看是否夠用,是否有很好的性能價(jià)格比。所以8051出來(lái)十多年,依然沒(méi)有被淘汰,還在不斷的發(fā)展中。

2、MCS51單片機和8051、8031、89C51等的關(guān)系

我們平常老是講8051,又有8031,現在又有89C51,89s51它們之間究竟是什么關(guān)系?

MCS51是指由美國INTEL公司(對了,就是大名鼎鼎的INTEL)生產(chǎn)的一系列單片機的總稱(chēng),這一系列單片機包括了好些品種,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的產(chǎn)品,該系列其它單片機都是在8051的基礎上進(jìn)行功能的增、減、改變而來(lái)的,所以人們習慣于用8051來(lái)稱(chēng)呼MCS51系列單片機,而8031是前些年在我國最流行的單片機,所以很多場(chǎng)合會(huì )看到8031的名稱(chēng)。INTEL公司將MCS51的核心技術(shù)授權給了很多其它公司,所以有很多公司在做以8051為核心的單片機,當然,功能或多或少有些改變,以滿(mǎn)足不同的需求,其中89C51就是這幾年在我國非常流行的單片機,它是由美國ATMEL公司開(kāi)發(fā)生產(chǎn)的。以后我們將用89C51單片機來(lái)完成一系列的實(shí)驗。

單片機也被稱(chēng)為微控制器(Microcontroller),是因為它最早被用在工業(yè)控制領(lǐng)域。單片機由芯片內僅有CPU的專(zhuān)用處理器發(fā)展而來(lái)。最早的設計理念是通過(guò)將大量外圍設備和CPU集成在一個(gè)芯片中,使計算機系統更小,更容易集成進(jìn)復雜的而對體積要求嚴格的控制設備當中。INTEL的Z80是最早按照這種思想設計出的處理器,從此以后,單片機和專(zhuān)用處理器的發(fā)展便分道揚鑣。

早期的單片機都是8位或4位的。其中最成功的是INTEL的8031,因為簡(jiǎn)單可靠而性能不錯獲得了很大的好評。此后在8031上發(fā)展出了MCS51系列單片機系統?;谶@一系統的單片機系統直到現在還在廣泛使用。隨著(zhù)工業(yè)控制領(lǐng)域要求的提高,開(kāi)始出現了16位單片機,但因為性?xún)r(jià)比不理想并未得到很廣泛的應用。90年代后隨著(zhù)消費電子產(chǎn)品大發(fā)展,單片機技術(shù)得到了巨大的提高。隨著(zhù)INTEL i960系列特別是后來(lái)的ARM系列的廣泛應用,32位單片機迅速取代16位單片機的高端地位,并且進(jìn)入主流市場(chǎng)。而傳統的8位單片機的性能也得到了飛速提高,處理能力比起80年代提高了數百倍。目前,高端的32位單片機主頻已經(jīng)超過(guò)300MHz,性能直追90年代中期的專(zhuān)用處理器,而普通的型號出廠(chǎng)價(jià)格跌落至1美元,最高端的型號也只有10美元。當代單片機系統已經(jīng)不再只在裸機環(huán)境下開(kāi)發(fā)和使用,大量專(zhuān)用的嵌入式操作系統被廣泛應用在全系列的單片機上。而在作為掌上電腦和手機核心處理的高端單片機甚至可以直接使用專(zhuān)用的Windows和Linux操作系統。

單片機比專(zhuān)用處理器更適合應用于嵌入式系統,因此它得到了最多的應用。事實(shí)上單片機是世界上數量最多的計算機?,F代人類(lèi)生活中所用的幾乎每件電子和機械產(chǎn)品中都會(huì )集成有單片機。手機、電話(huà)、計算器、家用電器、電子玩具、掌上電腦以及鼠標等電腦配件中都配有1-2部單片機。而個(gè)人電腦中也會(huì )有為數不少的單片機在工作。汽車(chē)上一般配備40多部單片機,復雜的工業(yè)控制系統上甚至可能有數百臺單片機在同時(shí)工作!單片機的數量不僅遠超過(guò)PC機和其他計算的綜合,甚至比人類(lèi)的數量還要多。

單片機介紹

單片機又稱(chēng)單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計算機系統集成到一個(gè)芯片上。相當于一個(gè)微型的計算機,和計算機相比,單片機只缺少了I/O設備。概括的講:一塊芯片就成了一臺計算機。它的體積小、質(zhì)量輕、價(jià)格便宜、為學(xué)習、應用和開(kāi)發(fā)提供了便利條件。同時(shí),學(xué)習使用單片機是了解計算機原理與結構的最佳選擇。

單片機內部也用和電腦功能類(lèi)似的模塊,比如CPU,內存,并行總線(xiàn),還有和硬盤(pán)作用相同的存儲器件,不同的是它的這些部件性能都相對我們的家用電腦弱很多,不過(guò)價(jià)錢(qián)也是低的,一般不超過(guò)10元即可......用它來(lái)做一些控制電器一類(lèi)不是很復雜的工作足矣了。我們現在用的全自動(dòng)滾筒洗衣機、排煙罩、VCD等等的家電里面都可以看到它的身影!......它主要是作為控制部分的核心部件。

它是一種在線(xiàn)式實(shí)時(shí)控制計算機,在線(xiàn)式就是現場(chǎng)控制,需要的是有較強的抗干擾能力,較低的成本,這也是和離線(xiàn)式計算機的(比如家用PC)的主要區別。

單片機是靠程序的,并且可以修改。通過(guò)不同的程序實(shí)現不同的功能,尤其是特殊的獨特的一些功能,這是別的器件需要費很大力氣才能做到的,有些則是花大力氣也很難做到的。一個(gè)不是很復雜的功能要是用美國50年代開(kāi)發(fā)的74系列,或者60年代的CD4000系列這些純硬件來(lái)搞定的話(huà),電路一定是一塊大PCB板!但是如果要是用美國70年代成功投放市場(chǎng)的系列單片機,結果就會(huì )有天壤之別!只因為單片機的通過(guò)你編寫(xiě)的程序可以實(shí)現高智能,高效率,以及高可靠性!

由于單片機對成本是敏感的,所以目前占統治地位的軟件還是最低級匯編語(yǔ)言,它是除了二進(jìn)制機器碼以上最低級的語(yǔ)言了,既然這么低級為什么還要用呢?很多高級的語(yǔ)言已經(jīng)達到了可視化編程的水平為什么不用呢?原因很簡(jiǎn)單,就是單片機沒(méi)有家用計算機那樣的CPU,也沒(méi)有像硬盤(pán)那樣的海量存儲設備。一個(gè)可視化高級語(yǔ)言編寫(xiě)的小程序里面即使只有一個(gè)按鈕,也會(huì )達到幾十K的尺寸!對于家用PC的硬盤(pán)來(lái)講沒(méi)什么,可是對于單片機來(lái)講是不能接受的。 單片機在硬件資源方面的利用率必須很高才行,所以匯編雖然原始卻還是在大量使用。一樣的道理,如果把巨型計算機上的操作系統和應用軟件拿到家用PC上來(lái)運行,家用PC的也是承受不了的。

可以說(shuō),二十世紀跨越了三個(gè)“電”的時(shí)代,即電氣時(shí)代、電子時(shí)代和現已進(jìn)入的電腦時(shí)代。不過(guò),這種電腦,通常是指個(gè)人計算機,簡(jiǎn)稱(chēng)PC機。它由主機、鍵盤(pán)、顯示器等組成。還有一類(lèi)計算機,大多數人卻不怎么熟悉。這種計算機就是把智能賦予各種機械的單片機(亦稱(chēng)微控制器)。顧名思義,這種計算機的最小系統只用了一片集成電路,即可進(jìn)行簡(jiǎn)單運算和控制。因為它體積小,通常都藏在被控機械的“肚子”里。它在整個(gè)裝置中,起著(zhù)有如人類(lèi)頭腦的作用,它出了毛病,整個(gè)裝置就癱瘓了?,F在,這種單片機的使用領(lǐng)域已十分廣泛,如智能儀表、實(shí)時(shí)工控、通訊設備、導航系統、家用電器等。各種產(chǎn)品一旦用上了單片機,就能起到使產(chǎn)品升級換代的功效,常在產(chǎn)品名稱(chēng)前冠以形容詞——“智能型”,如智能型洗衣機等?,F在有些工廠(chǎng)的技術(shù)人員或其它業(yè)余電子開(kāi)發(fā)者搞出來(lái)的某些產(chǎn)品,不是電路太復雜,就是功能太簡(jiǎn)單且極易被仿制。究其原因,可能就卡在產(chǎn)品未使用單片機或其它可編程邏輯器件上。

單片機歷史

單片機誕生于20世紀70年代末,經(jīng)歷了SCM、MCU、SoC三大階段。

1.SCM即單片微型計算機(Single Chip Microcomputer)階段,主要是尋求最佳的單片形態(tài)嵌入式系統的最佳體系結構。“創(chuàng )新模式”獲得成功,奠定了SCM與通用計算機完全不同的發(fā)展道路。在開(kāi)創(chuàng )嵌入式系統獨立發(fā)展道路上,Intel公司功不可沒(méi)。

2.MCU即微控制器(Micro Controller Unit)階段,主要的技術(shù)發(fā)展方向是:不斷擴展滿(mǎn)足嵌入式應用時(shí),對象系統要求的各種外圍電路與接口電路,突顯其對象的智能化控制能力。它所涉及的領(lǐng)域都與對象系統相關(guān),因此,發(fā)展MCU的重任不可避免地落在電氣、電子技術(shù)廠(chǎng)家。從這一角度來(lái)看,Intel逐漸淡出MCU的發(fā)展也有其客觀(guān)因素。在發(fā)展MCU方面,最著(zhù)名的廠(chǎng)家當數Philips公司。

Philips公司以其在嵌入式應用方面的巨大優(yōu)勢,將MCS-51從單片微型計算機迅速發(fā)展到微控制器。因此,當我們回顧嵌入式系統發(fā)展道路時(shí),不要忘記Intel和Philips的歷史功績(jì)。

3.單片機是嵌入式系統的獨立發(fā)展之路,向MCU階段發(fā)展的重要因素,就是尋求應用系統在芯片上的最大化解決;因此,專(zhuān)用單片機的發(fā)展自然形成了SoC化趨勢。隨著(zhù)微電子技術(shù)、IC設計、EDA工具的發(fā)展,基于SoC的單片機應用系統設計會(huì )有較大的發(fā)展。因此,對單片機的理解可以從單片微型計算機、單片微控制器延伸到單片應用系統。

單片機的應用領(lǐng)域

目前單片機滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒(méi)有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網(wǎng)絡(luò )通訊與數據傳輸,工業(yè)自動(dòng)化過(guò)程的實(shí)時(shí)控制和數據處理,廣泛使用的各種智能IC卡,民用豪華轎車(chē)的安全保障系統,錄像機、攝像機、全自動(dòng)洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開(kāi)單片機。更不用說(shuō)自動(dòng)控制領(lǐng)域的機器人、智能儀表、醫療器械了。因此,單片機的學(xué)習、開(kāi)發(fā)與應用將造就一批計算機應用與智能化控制的科學(xué)家、工程師。

單片機廣泛應用于儀器儀表、家用電器、醫用設備、航空航天、專(zhuān)用設備的智能化管理及過(guò)程控制等領(lǐng)域,大致可分如下幾個(gè)范疇:

1.在智能儀器儀表上的應用

單片機具有體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優(yōu)點(diǎn),廣泛應用于儀器儀表中,結合不同類(lèi)型的傳感器,可實(shí)現諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長(cháng)度、硬度、元素、壓力等物理量的測量。采用單片機控制使得儀器儀表數字化、智能化、微型化,且功能比起采用電子或數字電路更加強大。例如精密的測量設備(功率計,示波器,各種分析儀)。

2.在工業(yè)控制中的應用

用單片機可以構成形式多樣的控制系統、數據采集系統。例如工廠(chǎng)流水線(xiàn)的智能化管理,電梯智能化控制、各種報警系統,與計算機聯(lián)網(wǎng)構成二級控制系統等。

3.在家用電器中的應用

可以這樣說(shuō),現在的家用電器基本上都采用了單片機控制,從電飯褒、洗衣機、電冰箱、空調機、彩電、其他音響視頻器材、再到電子秤量設備,五花八門(mén),無(wú)所不在。

4.在計算機網(wǎng)絡(luò )和通信領(lǐng)域中的應用

現代的單片機普遍具備通信接口,可以很方便地與計算機進(jìn)行數據通信,為在計算機網(wǎng)絡(luò )和通信設備間的應用提供了極好的物質(zhì)條件,現在的通信設備基本上都實(shí)現了單片機智能控制,從手機,電話(huà)機、小型程控交換機、樓宇自動(dòng)通信呼叫系統、列車(chē)無(wú)線(xiàn)通信、再到日常工作中隨處可見(jiàn)的移動(dòng)電話(huà),集群移動(dòng)通信,無(wú)線(xiàn)電對講機等。

5.單片機在醫用設備領(lǐng)域中的應用

單片機在醫用設備中的用途亦相當廣泛,例如醫用呼吸機,各種分析儀,監護儀,超聲診斷設備及病床呼叫系統等等。

6.在各種大型電器中的模塊化應用

某些專(zhuān)用單片機設計用于實(shí)現特定功能,從而在各種電路中進(jìn)行模塊化應用,而不要求使用人員了解其內部結構。如音樂(lè )集成單片機,看似簡(jiǎn)單的功能,微縮在純電子芯片中(有別于磁帶機的原理),就需要復雜的類(lèi)似于計算機的原理。如:音樂(lè )信號以數字的形式存于存儲器中(類(lèi)似于ROM),由微控制器讀出,轉化為模擬音樂(lè )電信號(類(lèi)似于聲卡)。

在大型電路中,這種模塊化應用極大地縮小了體積,簡(jiǎn)化了電路,降低了損壞、錯誤率,也方便于更換。

7.單片機在汽車(chē)設備領(lǐng)域中的應用

單片機在汽車(chē)電子中的應用非常廣泛,例如汽車(chē)中的發(fā)動(dòng)機控制器,基于CAN總線(xiàn)的汽車(chē)發(fā)動(dòng)機智能電子控制器,GPS導航系統,abs防抱死系統,制動(dòng)系統等等。

此外,單片機在工商,金融,科研、教育,國防航空航天等領(lǐng)域都有著(zhù)十分廣泛的用途。

學(xué)習應用六大重要部分

單片機學(xué)習應用的六大重要部分

一、總線(xiàn):我們知道,一個(gè)電路總是由元器件通過(guò)電線(xiàn)連接而成的,在模擬電路中,連線(xiàn)并不成為一個(gè)問(wèn)題,因為各器件間一般是串行關(guān)系,各器件之間的連線(xiàn)并不很多,但計算機電路卻不一樣,它是以微處理器為核心,各器件都要與微處理器相連,各器件之間的工作必須相互協(xié)調,所以需要的連線(xiàn)就很多了,如果仍如同模擬電路一樣,在各微處理器和各器件間單獨連線(xiàn),則線(xiàn)的數量將多得驚人,所以在微處理機中引入了總線(xiàn)的概念,各個(gè)器件共同享用連線(xiàn),所有器件的8根數據線(xiàn)全部接到8根公用的線(xiàn)上,即相當于各個(gè)器件并聯(lián)起來(lái),但僅這樣還不行,如果有兩個(gè)器件同時(shí)送出數據,一個(gè)為0,一個(gè)為1,那么,接收方接收到的究竟是什么呢?這種情況是不允許的,所以要通過(guò)控制線(xiàn)進(jìn)行控制,使器件分時(shí)工作,任何時(shí)候只能有一個(gè)器件發(fā)送數據(可以有多個(gè)器件同時(shí)接收)。器件的數據線(xiàn)也就被稱(chēng)為數據總線(xiàn),器件所有的控制線(xiàn)被稱(chēng)為控制總線(xiàn)。在單片機內部或者外部存儲器及其它器件中有存儲單元,這些存儲單元要被分配地址,才能使用,分配地址當然也是以電信號的形式給出的,由于存儲單元比較多,所以,用于地址分配的線(xiàn)也較多,這些線(xiàn)被稱(chēng)為地址總線(xiàn)。

二、數據、地址、指令:之所以將這三者放在一起,是因為這三者的本質(zhì)都是一樣的——數字,或者說(shuō)都是一串‘0’和‘1’組成的序列。換言之,地址、指令也都是數據。指令:由單片機芯片的設計者規定的一種數字,它與我們常用的指令助記符有著(zhù)嚴格的一一對應關(guān)系,不可以由單片機的開(kāi)發(fā)者更改。地址:是尋找單片機內部、外部的存儲單元、輸入輸出口的依據,內部單元的地址值已由芯片設計者規定好,不可更改,外部的單元可以由單片機開(kāi)發(fā)者自行決定,但有一些地址單元是一定要有的(詳見(jiàn)程序的執行過(guò)程)。數據:這是由微處理機處理的對象,在各種不同的應用電路中各不相同,一般而言,被處理的數據可能有這么幾種情況:
  1•地址(如MOV DPTR,1000H),即地址1000H送入DPTR。
  2•方式字或控制字(如MOV TMOD,#3),3即是控制字。
  3•常數(如MOV TH0,#10H)10H即定時(shí)常數。
  4•實(shí)際輸出值(如P1口接彩燈,要燈全亮,則執行指令:MOV P1,#0FFH,要燈全暗,則執行指令:MOV P1,#00H)這里0FFH和00H都是實(shí)際輸出值。又如用于LED的字形碼,也是實(shí)際輸出的值。

理解了地址、指令的本質(zhì),就不難理解程序運行過(guò)程中為什么會(huì )跑飛,會(huì )把數據當成指令來(lái)執行了。

三、P0口、P2口和P3的第二功能用法:初學(xué)時(shí)往往對P0口、P2口和P3口的第二功能用法迷惑不解,認為第二功能和原功能之間要有一個(gè)切換的過(guò)程,或者說(shuō)要有一條指令,事實(shí)上,各端口的第二功能完全是自動(dòng)的,不需要用指令來(lái)轉換。如P3.6、P3.7分別是WR、RD信號,當微片理機外接RAM或有外部I/O口時(shí),它們被用作第二功能,不能作為通用I/O口使用,只要一微處理機一執行到MOVX指令,就會(huì )有相應的信號從P3.6或P3.7送出,不需要事先用指令說(shuō)明。事實(shí)上‘不能作為通用I/O口使用’也并不是‘不能’而是(使用者)‘不會(huì )’將其作為通用I/O口使用。你完全可以在指令中按排一條SETB P3.7的指令,并且當單片機執行到這條指令時(shí),也會(huì )使P3.7變?yōu)楦唠娖?,但使用者不?huì )這么去做,因為這通常會(huì )導致系統的崩潰。

四、程序的執行過(guò)程: 單片機在通電復位后8051內的程序計數器(PC)中的值為‘0000’,所以程序總是從‘0000’單元開(kāi)始執行,也就是說(shuō):在系統的ROM中一定要存在‘0000’這個(gè)單元,并且在‘0000’單元中存放的一定是一條指令。

五、堆棧: 堆棧是一個(gè)區域,是用來(lái)存放數據的,這個(gè)區域本身沒(méi)有任何特殊之處,就是內部RAM的一部份,特殊的是它存放和取用數據的方式,即所謂的‘先進(jìn)后出,后進(jìn)先出’,并且堆棧有特殊的數據傳輸指令,即‘PUSH’和‘POP’,有一個(gè)特殊的專(zhuān)為其服務(wù)的單元,即堆棧指針SP,每當執一次PUSH指令時(shí),SP就(在原來(lái)值的基礎上)自動(dòng)加1,每當執行一次POP指令,SP就(在原來(lái)值的基礎上)自動(dòng)減1。由于SP中的值可以用指令加以改變,所以只要在程序開(kāi)始階段更改了SP的值,就可以把堆棧設置在規定的內存單元中,如在程序開(kāi)始時(shí),用一條MOV SP,#5FH指令,就時(shí)把堆棧設置在從內存單元60H開(kāi)始的單元中。一般程序的開(kāi)頭總有這么一條設置堆棧指針的指令,因為開(kāi)機時(shí),SP的初始值為07H,這樣就使堆棧從08H單元開(kāi)始往后,而08H到1FH這個(gè)區域正是8031的第二、三、四工作寄存器區,經(jīng)常要被使用,這會(huì )造成數據的混亂。不同作者編寫(xiě)程序時(shí),初始化堆棧指令也不完全相同,這是作者的習慣問(wèn)題。當設置好堆棧區后,并不意味著(zhù)該區域成為一種專(zhuān)用內存,它還是可以象普通內存區域一樣使用,只是一般情況下編程者不會(huì )把它當成普通內存用了。

六、單片機的開(kāi)發(fā)過(guò)程: 這里所說(shuō)的開(kāi)發(fā)過(guò)程并不是一般書(shū)中所說(shuō)的從任務(wù)分析開(kāi)始,我們假設已設計并制作好硬件,下面就是編寫(xiě)軟件的工作。在編寫(xiě)軟件之前,首先要確定一些常數、地址,事實(shí)上這些常數、地址在設計階段已被直接或間接地確定下來(lái)了。如當某器件的連線(xiàn)設計好后,其地址也就被確定了,當器件的功能被確定下來(lái)后,其控制字也就被確定了。然后用文本編輯器(如EDIT、CCED等)編寫(xiě)軟件,編寫(xiě)好后,用編譯器對源程序文件編譯,查錯,直到?jīng)]有語(yǔ)法錯誤,除了極簡(jiǎn)單的程序外,一般應用仿真機對軟件進(jìn)行調試,直到程序運行正確為止。運行正確后,就可以寫(xiě)片(將程序固化在EPROM中)。在源程序被編譯后,生成了擴展名為HEX的目標文件,一般編程器能夠識別這種格式的文件,只要將此文件調入即可寫(xiě)片。在此,為使大家對整個(gè)過(guò)程有個(gè)認識,舉一例說(shuō)明:
  單片機試驗板ORG 0000H
  LJMP START
  ORG 040H
  START:
  MOV SP,#5FH ;設堆棧
  LOOP:
  NOP
  LJMP LOOP ;循環(huán)
  END ;結束

單片機學(xué)習

目前,很多人對匯編語(yǔ)言并不認可??梢哉f(shuō),掌握用C語(yǔ)言單片機編程很重要,可以大大提高開(kāi)發(fā)的效率。不過(guò)初學(xué)者可以不了解單片機的匯編語(yǔ)言,但一定要了解單片機具體性能和特點(diǎn),不然在單片機領(lǐng)域是比較致命的。如果不考慮單片機硬件資源,在KEIL中用C胡亂編程,結果只能是出了問(wèn)題無(wú)法解決!可以肯定的說(shuō),最好的C語(yǔ)言單片機工程師都是從匯編走出來(lái)的編程者因為單片機的C語(yǔ)言雖然是高級語(yǔ)言,但是它不同于臺式機個(gè)人電腦上的VC++什么的單片機的硬件資源不是非常強大,不同于我們用VC、VB等高級語(yǔ)言在臺式PC上寫(xiě)程序畢竟臺式電腦的硬件非常強大,所以才可以不考慮硬件資源的問(wèn)題。還有就是在單片機編程中C語(yǔ)言雖然編程方便,便于人們閱讀,但是在執行效率上是要比匯編語(yǔ)言低10%到20%,所以用什么語(yǔ)言編寫(xiě)程序是要看具體用在什么場(chǎng)合下??偟膩?lái)說(shuō)做單片機編程要靈活使用匯編語(yǔ)言與C語(yǔ)言,讓單片機的強大功能以最高是效率展示給用戶(hù)。

以8051單片機為例講解單片機的引腳及相關(guān)功能;

《單片機引腳圖》

40個(gè)引腳按引腳功能大致可分為4個(gè)種類(lèi):電源、時(shí)鐘、控制和I/O引腳。

⒈ 電源:
 ?、?VCC - 芯片電源,接+5V;
 ?、?VSS - 接地端;
  注:用萬(wàn)用表測試單片機引腳電壓一般為0v或者5v,這是標準的TTL電平。但有時(shí)候在單片機程序正在工作時(shí)候測試結果并不是這個(gè)值而是介于0v-5v之間,其實(shí)這是萬(wàn)用表的響應速度沒(méi)這么快而已,在某一個(gè)瞬間單片機引腳電壓仍保持在0v或者5v。

⒉ 時(shí)鐘:XTAL1、XTAL2 - 晶體振蕩電路反相輸入端和輸出端。

⒊ 控制線(xiàn):控制線(xiàn)共有4根,
 ?、?ALE/PROG:地址鎖存允許/片內EPROM編程脈沖
 ?、?ALE功能:用來(lái)鎖存P0口送出的低8位地址
 ?、?PROG功能:片內有EPROM的芯片,在EPROM編程期間,此引腳輸入編程脈沖。
 ?、?PSEN:外ROM讀選通信號。
 ?、?RST/VPD:復位/備用電源。
 ?、?RST(Reset)功能:復位信號輸入端。
 ?、?VPD功能:在Vcc掉電情況下,接備用電源。
 ?、?EA/Vpp:內外ROM選擇/片內EPROM編程電源。
 ?、?EA功能:內外ROM選擇端。
 ?、?Vpp功能:片內有EPROM的芯片,在EPROM編程期間,施加編程電源Vpp。

⒋ I/O線(xiàn)
  80C51共有4個(gè)8位并行I/O端口:P0、P1、P2、P3口,共32個(gè)引腳。
  P3口還具有第二功能,用于特殊信號輸入輸出和控制信號(屬控制總線(xiàn))
  5. P3口第二功能
  P30 RXD 串行輸入口
  P31 TXD 串行輸出口
  P32 INT0 外部中斷0(低電平有效)
  P33 INT1 外部中斷1(低電平有效)
  P34 T0 定時(shí)計數器0
  P35 T1 定時(shí)計數器1
  P36 WR 外部數據存儲器寫(xiě)選通(低電平有效)
  P37 RD 外部數據存儲器讀選通(低電平有效)

單片機相關(guān)文章:單片機教程


單片機相關(guān)文章:單片機視頻教程


單片機相關(guān)文章:單片機工作原理


交換機相關(guān)文章:交換機工作原理


存儲器相關(guān)文章:存儲器原理


脈寬調制相關(guān)文章:脈寬調制原理

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 單片機 意思 什么

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>