《單片機(jī)原理與接口技術(shù)》-第1章_第1頁(yè)
《單片機(jī)原理與接口技術(shù)》-第1章_第2頁(yè)
《單片機(jī)原理與接口技術(shù)》-第1章_第3頁(yè)
《單片機(jī)原理與接口技術(shù)》-第1章_第4頁(yè)
《單片機(jī)原理與接口技術(shù)》-第1章_第5頁(yè)
已閱讀5頁(yè),還剩48頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1.1單片機(jī)的發(fā)展史上述簡(jiǎn)單描述了單片機(jī),那么單片機(jī)是如何發(fā)展起來(lái)的呢,這是因?yàn)閱纹瑱C(jī)是在一塊硅片上集成了各種部件的微型計(jì)算機(jī)。隨著大規(guī)模集成電路技術(shù)的發(fā)展,可以將中央處理器(CPU)、數(shù)據(jù)存儲(chǔ)器(RAM)、程序存儲(chǔ)器(ROM)、定時(shí)器/計(jì)數(shù)器以及輸入/輸出(I/O)接口電路等主要計(jì)算機(jī)部件,集成在一塊電路芯片上。雖然單片機(jī)只是一個(gè)芯片,但從組成和功能上,都已具有了微機(jī)系統(tǒng)的含義。由于單片機(jī)能獨(dú)立執(zhí)行內(nèi)部程序,所以又稱(chēng)它為微型控制器(Microcontroller)。單片機(jī)自從問(wèn)世以來(lái),性能在不斷地提高和完善,它不僅能夠滿(mǎn)足很多應(yīng)用場(chǎng)合的需要,而且具有集成度高、功能強(qiáng)、速度快、體積小、使用方便、性能可靠、價(jià)格低廉等特點(diǎn)。下一頁(yè)返回1.1單片機(jī)的發(fā)展史因此,在工業(yè)控制、智能儀器儀表、數(shù)據(jù)采集和處理、通信、智能接口、商業(yè)營(yíng)銷(xiāo)等領(lǐng)域得到廣泛的應(yīng)用,并且正在逐步取代現(xiàn)有的多片微機(jī)應(yīng)用系統(tǒng)。單片機(jī)的潛力越來(lái)越被人們所重視,也更擴(kuò)大了單片機(jī)的應(yīng)用范圍,也進(jìn)一步促進(jìn)了單片機(jī)技術(shù)的發(fā)展。單片機(jī)的發(fā)展史大致可分為以下3個(gè)階段。第一階段(1976—1978):初級(jí)單片機(jī)微處理階段。該時(shí)期的單片機(jī)具有8位CPU,并行I/O端口、8位時(shí)序同步計(jì)數(shù)器,尋址范圍為4KB,但是沒(méi)有串行口。第二階段(1978—1982):高性能單片機(jī)微機(jī)處理階段,該時(shí)期的單片機(jī)具有I/O串行端口,有多級(jí)中斷處理系統(tǒng),15位時(shí)序同步技術(shù)器,RAM、ROM容量加大,尋址范圍可達(dá)64KB。上一頁(yè)下一頁(yè)返回1.1單片機(jī)的發(fā)展史第三階段(1982至今):8位單片機(jī)微處理改良型及16位單片機(jī)微處理階段。1.1.1單片機(jī)的應(yīng)用由于單片機(jī)具有顯著的優(yōu)點(diǎn),它已成為科技領(lǐng)域的有力工具,人類(lèi)生活的得力助手。它的應(yīng)用遍及各個(gè)領(lǐng)域,主要表現(xiàn)在以下幾個(gè)方面。1.單片機(jī)在智能儀表中的應(yīng)用單片機(jī)廣泛地用于各種儀器儀表,使儀器儀表智能化,并可以提高測(cè)量的自動(dòng)化程度和精度,簡(jiǎn)化儀器儀表的硬件結(jié)構(gòu),提高其性能價(jià)格比。上一頁(yè)下一頁(yè)返回1.1單片機(jī)的發(fā)展史2.單片機(jī)在機(jī)電一體化中的應(yīng)用機(jī)電一體化是機(jī)械工業(yè)發(fā)展的方向。機(jī)電一體化產(chǎn)品是指集成機(jī)械技術(shù)、微電子技術(shù)、計(jì)算機(jī)技術(shù)于一體,具有智能化特征的機(jī)電產(chǎn)品,例如微型單片機(jī)控制的數(shù)字機(jī)床、鉆床等。單片機(jī)作為產(chǎn)品中的控制器,能充分發(fā)揮它的體積小、可靠性高、功能強(qiáng)等優(yōu)點(diǎn),可大大提高機(jī)器的自動(dòng)化、智能化程度。3.單片機(jī)在實(shí)時(shí)控制中的應(yīng)用單片機(jī)廣泛地用于各種實(shí)時(shí)控制系統(tǒng)中。例如,在工業(yè)測(cè)控、航空航天、尖端武器、機(jī)器人等各種實(shí)時(shí)控制系統(tǒng)中,都可以用單片機(jī)作為控制器。單片機(jī)的實(shí)時(shí)數(shù)據(jù)處理能力和控制功能,可使系統(tǒng)保持在最佳工作狀態(tài),提高系統(tǒng)的工作效率和產(chǎn)品質(zhì)量。上一頁(yè)下一頁(yè)返回1.1單片機(jī)的發(fā)展史4.單片機(jī)在分布式多機(jī)系統(tǒng)中的應(yīng)用在比較復(fù)雜的系統(tǒng)中,常采用分布式多機(jī)系統(tǒng)。多機(jī)系統(tǒng)一般由若干臺(tái)功能各異的單片機(jī)組成,各自完成特定的任務(wù),它們通過(guò)串行通信相互聯(lián)系、協(xié)調(diào)工作。單片機(jī)在這種系統(tǒng)中往往作為一個(gè)終端機(jī),安裝在系統(tǒng)的某些節(jié)點(diǎn)上,對(duì)現(xiàn)場(chǎng)信息進(jìn)行實(shí)時(shí)的測(cè)量和控制。單片機(jī)的高可靠性和強(qiáng)抗干擾能力,使它可以置于惡劣環(huán)境的前端工作。5.單片機(jī)在人類(lèi)生活中的應(yīng)用自從單片機(jī)誕生以后,它就步入了人類(lèi)生活,如洗衣機(jī)、電冰箱、電子玩具、收錄機(jī)等家用電器配上單片機(jī)后,提高了智能化程度,增加了功能,備受人們喜愛(ài)。單片機(jī)將使人類(lèi)生活更加方便、舒適、豐富多彩。上一頁(yè)下一頁(yè)返回1.1單片機(jī)的發(fā)展史1.1.2單片機(jī)的主要發(fā)展趨勢(shì)目前,單片機(jī)正朝著高性能和多品種方向發(fā)展,其發(fā)展趨勢(shì)將是進(jìn)一步向著CMOS化、低功耗、小體積、大容量、高性能、低價(jià)格和外圍電路內(nèi)裝化等幾個(gè)方面發(fā)展。1.CMOS化近年,由于CHMOS技術(shù)的進(jìn)步,大大地促進(jìn)了單片機(jī)的CMOS化。CMOS芯片除了低功耗特性之外,還具有功耗的可控性,使單片機(jī)可以工作在功耗精細(xì)管理狀態(tài)。上一頁(yè)下一頁(yè)返回1.1單片機(jī)的發(fā)展史這也是今后以80C51取代8051為標(biāo)準(zhǔn)MCU芯片的原因。因?yàn)閱纹瑱C(jī)芯片多數(shù)是采用CMOS(金屬柵氧化物)半導(dǎo)體工藝生產(chǎn)。CMOS電路的特點(diǎn)是低功耗、高密度、低速度、低價(jià)格。采用雙極型半導(dǎo)體工藝的TTL電路速度快,但功耗和芯片面積較大。隨著技術(shù)和工藝水平的提高,又出現(xiàn)了HMOS(高密度、高速度MOS)、CHMOS工藝以及CHMOS和HMOS工藝的結(jié)合。目前生產(chǎn)的CHMOS電路已達(dá)到LSTTL的速度,傳輸延遲時(shí)間小于2ns,它的綜合優(yōu)勢(shì)已大于TTL電路。因而,在單片機(jī)領(lǐng)域,CMOS電路正在逐漸取代TTL電路。上一頁(yè)下一頁(yè)返回1.1單片機(jī)的發(fā)展史2.低功耗化單片機(jī)的功耗已從mA級(jí),降至1μA以下;使用電壓在3~5V范圍內(nèi),完全適應(yīng)電池工作。低功耗化的效應(yīng)不僅是功耗低,而且?guī)?lái)了產(chǎn)品的高可靠性、高抗干擾能力以及產(chǎn)品的便攜化。3.低電壓化幾乎所有的單片機(jī)都有WAIT、STOP等省電運(yùn)行方式。允許使用的電壓范圍越來(lái)越寬,一般在3~5V范圍內(nèi)工作。低電壓供電的單片機(jī)電源下限已可達(dá)1~2V。目前0.8V供電的單片機(jī)已經(jīng)問(wèn)世。上一頁(yè)下一頁(yè)返回1.1單片機(jī)的發(fā)展史4.低噪聲與高可靠性為提高單片機(jī)的抗電磁干擾能力,使產(chǎn)品能適應(yīng)惡劣的工作環(huán)境,滿(mǎn)足電磁兼容性方面更高標(biāo)準(zhǔn)的要求,各單片機(jī)廠(chǎng)家在單片機(jī)內(nèi)部電路中都采用了新的技術(shù)措施。若用數(shù)字電路完成,所設(shè)計(jì)的電路相當(dāng)復(fù)雜,大概需要十幾片數(shù)字集成塊,其功能也主要依賴(lài)于數(shù)字電路的各功能模塊的組合來(lái)實(shí)現(xiàn),焊接的過(guò)程比較復(fù)雜,成本也非常高。若用單片機(jī)來(lái)設(shè)計(jì)制作完成,由于其功能的實(shí)現(xiàn)主要通過(guò)軟件編程來(lái)完成,那么就降低了硬件電路的復(fù)雜性,而且其成本也有所降低。上一頁(yè)下一頁(yè)返回1.1單片機(jī)的發(fā)展史1.1.3MCS-51單片機(jī)和8051、8031、89C51等的關(guān)系我們平常老是講8051,又有什么8031,現(xiàn)在又有89C51,它們之間究竟是什么關(guān)系呢?MCS-51是指由美國(guó)Intel公司生產(chǎn)的一系列些品種,如8031、8051、8751、8032、8052、8752等,其中8051是最早最典型的產(chǎn)品,該系列其他單片機(jī)都是在8051的基礎(chǔ)上進(jìn)行功能的增、減、改變而來(lái)的,所以人們習(xí)慣于用8051來(lái)稱(chēng)呼MCS-51系列單片機(jī),而8031是前些年在我國(guó)最流行的單片機(jī),所以很多場(chǎng)合會(huì)看到8031的名稱(chēng)。上一頁(yè)下一頁(yè)返回1.1單片機(jī)的發(fā)展史Intel公司將MCS-51的核心技術(shù)授權(quán)給了很多其他公司,所以有很多公司在做以8051為核心的單片機(jī),當(dāng)然,功能或多或少有些改變,以滿(mǎn)足不同的需求,其中89C51就是這幾年在我國(guó)非常流行的單片機(jī),它是由美國(guó)ATMEL公司開(kāi)發(fā)生產(chǎn)的。上一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)1.2.18051單片機(jī)知識(shí)一、8051單片機(jī)的特點(diǎn)8051單片機(jī)是把CPU、ROM、RAM、I/O口、定時(shí)器/計(jì)數(shù)器、中斷等功能全集成在一塊芯片上。8051的CPU為8位;其片內(nèi)有振蕩器及時(shí)鐘電路,有32根I/O線(xiàn)(即P0口、P1口、P2口、P3口),對(duì)于外部存儲(chǔ)器尋址范圍,ROM、RAM各64KB,有2個(gè)16位的定時(shí)器/計(jì)數(shù)器,5個(gè)中斷源,2個(gè)中斷優(yōu)先級(jí);全雙工串行口;布爾處理器。二、MCS-51系列單片機(jī)的性能MCS-51系列單片機(jī)性能如表1.1所示。下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

三、中央處理器中央處理器(CPU)由運(yùn)算器和控制邏輯構(gòu)成,其中包括若干SFR(特殊功能寄存器)。以ALU(算術(shù)邏輯單元)為中心的運(yùn)算器:ALU能對(duì)數(shù)據(jù)進(jìn)行加、減、乘、除等算術(shù)運(yùn)算;“與”“或”“異或”等邏輯運(yùn)算以及位操作運(yùn)算。四、控制器、時(shí)鐘電路和基本時(shí)序周期控制邏輯主要包括定時(shí)和控制邏輯、指令寄存器、譯碼器以及地址指針DPTR和程序計(jì)數(shù)器PC等。上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

1.8051的時(shí)鐘時(shí)鐘是時(shí)序的基礎(chǔ),8051片內(nèi)由一個(gè)反相放大器構(gòu)成振蕩器,可以由它產(chǎn)生時(shí)鐘。時(shí)鐘可以由兩種方式產(chǎn)生:內(nèi)部方式和外部方式,如圖1.1所示。2.8051的基本時(shí)序周期振蕩周期:指振蕩源的周期,若為內(nèi)部產(chǎn)生方式時(shí),為石英晶體的振蕩周期。時(shí)鐘周期:(稱(chēng)S周期)為振蕩周期的2倍,時(shí)鐘周期=振蕩周期P1+振蕩周期P2。機(jī)器周期:一個(gè)機(jī)器周期含6個(gè)時(shí)鐘周期。指令周期:完成一條指令占用的全部時(shí)間。8051的指令周期含1~4個(gè)機(jī)器周期,其中多數(shù)為單周期指令,還有2周期指令和4周期指令。上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

3.指令部件程序計(jì)數(shù)器PC:8051的PC是16位的計(jì)數(shù)器,其內(nèi)容為下一條待執(zhí)行指令的地址,可尋址范圍為64KB。指令寄存器IR:IR用來(lái)存放當(dāng)前正在執(zhí)行的指令。指令譯碼器ID:ID對(duì)IR中的指令操作碼進(jìn)行分析解釋?zhuān)a(chǎn)生相應(yīng)的控制信號(hào)。數(shù)據(jù)指針DPTR:DPTR是16位地址寄存器,既可以用于尋址外部數(shù)據(jù)存儲(chǔ)器,也可以尋址外部程序存儲(chǔ)器中的表格數(shù)據(jù)。DPTR也可以尋址64KB地址空間。上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

五、復(fù)位電路單片機(jī)復(fù)位電路如圖1.2所示。在振蕩器運(yùn)行時(shí),有兩個(gè)機(jī)器周期(24個(gè)振蕩周期)以上的高電平出現(xiàn)在復(fù)位引腳RESET時(shí),將使單片機(jī)復(fù)位,只要這個(gè)腳保持高電平,51芯片便循環(huán)復(fù)位。復(fù)位后P0~P3口均置“1”,引腳表現(xiàn)為高電平,程序計(jì)數(shù)器和特殊功能寄存器SFR全部清零。當(dāng)復(fù)位腳由高電平變?yōu)榈碗娖綍r(shí),芯片在ROM的00H處開(kāi)始運(yùn)行程序。復(fù)位操作不會(huì)對(duì)內(nèi)部RAM有所影響。上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

1.2.2單片機(jī)的存儲(chǔ)器8051單片機(jī)的存儲(chǔ)器的特點(diǎn):采用哈佛結(jié)構(gòu),程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器分開(kāi),兩者各有一個(gè)相互獨(dú)立的64KB(0x0000~0xFFFF)的尋址空間(準(zhǔn)確地說(shuō),內(nèi)部數(shù)據(jù)存儲(chǔ)器與外部數(shù)據(jù)存儲(chǔ)器不是一回事)。其存儲(chǔ)器結(jié)構(gòu)如圖1.3所示。一、程序存儲(chǔ)器一個(gè)微處理器能夠聰明地執(zhí)行某種任務(wù),除了它們強(qiáng)大的硬件外,還需要它們運(yùn)行的軟件,其實(shí)微處理器并不聰明,它們只是完全按照設(shè)計(jì)人員預(yù)先編寫(xiě)的程序而執(zhí)行之。設(shè)計(jì)人員編寫(xiě)的程序就存放在微處理器的程序存儲(chǔ)器中,俗稱(chēng)只讀程序存儲(chǔ)器(ROM)。上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

程序相當(dāng)于給微處理器處理問(wèn)題的一系列命令。其實(shí)程序和數(shù)據(jù)一樣,都是由機(jī)器碼組成的代碼串,只是將程序代碼存放于程序存儲(chǔ)器中。8051單片機(jī)具有64KB程序存儲(chǔ)器尋址空間,它用于存放用戶(hù)程序、數(shù)據(jù)和表格等信息。對(duì)于內(nèi)部無(wú)ROM的8031單片機(jī),它的程序存儲(chǔ)器必須外接,空間地址為64KB,此時(shí)單片機(jī)EA/VPP引腳必須接地,強(qiáng)制CPU從外部程序存儲(chǔ)器讀取程序。對(duì)于內(nèi)部有ROM的8051等單片機(jī),正常運(yùn)行時(shí),則需EA/VPP引腳接高電平,使CPU先從內(nèi)部的程序存儲(chǔ)中讀取程序,當(dāng)PC值超過(guò)內(nèi)部ROM的容量時(shí),才會(huì)轉(zhuǎn)向外部的程序存儲(chǔ)器讀取程序。8051片內(nèi)有4KB的程序存儲(chǔ)單元,其地址為0000H~0FFFH,單片機(jī)啟動(dòng)復(fù)位后,程上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

序計(jì)數(shù)器的內(nèi)容為0000H,所以系統(tǒng)將從0000H單元開(kāi)始執(zhí)行程序。但在程序存儲(chǔ)器中有些特殊的單元,在使用中應(yīng)加以注意。其中一組特殊單元是0000H~0002H,系統(tǒng)復(fù)位后,PC為0000H,單片機(jī)從0000H單元開(kāi)始執(zhí)行程序,如果程序不是從0000H單元開(kāi)始,則應(yīng)在這三個(gè)單元中存放一條無(wú)條件轉(zhuǎn)移指令,讓CPU直接去執(zhí)行用戶(hù)指定的程序。另一組特殊單元是0003H~002AH,這40個(gè)單元各有用途,它們被均勻地分為5段,其定義如下:上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

0003H~000AH:外部中斷0中斷地址區(qū)。000BH~0012H:定時(shí)器/計(jì)數(shù)器0中斷地址區(qū)。0013H~001AH:外部中斷1中斷地址區(qū)。001BH~0022H:定時(shí)器/計(jì)數(shù)器1中斷地址區(qū)。0023H~002AH:串行中斷地址區(qū)??梢?jiàn)以上的40個(gè)單元是專(zhuān)門(mén)用于存放中斷處理程序的地址單元,中斷響應(yīng)后,按中斷的類(lèi)型,自動(dòng)轉(zhuǎn)到各自的中斷區(qū)去執(zhí)行程序。因此以上地址單元不能用于存放程序的其他內(nèi)容,只能存放中斷服務(wù)程序。上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

但是通常情況下,每段只有8個(gè)地址單元,是不能存下完整的中斷服務(wù)程序的,因而一般也在中斷響應(yīng)的地址區(qū)安放一條無(wú)條件轉(zhuǎn)移指令,指向程序存儲(chǔ)器的其他真正存放中斷服務(wù)程序的空間去執(zhí)行,這樣中斷響應(yīng)后,CPU讀到這條轉(zhuǎn)移指令,便轉(zhuǎn)向其他地方去繼續(xù)執(zhí)行中斷服務(wù)程序。二、數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器也稱(chēng)為隨機(jī)存取數(shù)據(jù)存儲(chǔ)器。8051單片機(jī)的數(shù)據(jù)存儲(chǔ)器在物理上和邏輯上都分為兩個(gè)地址空間,一個(gè)是內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū),另一個(gè)是外部數(shù)據(jù)存儲(chǔ)區(qū)。上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

8051單片機(jī)內(nèi)部RAM有128B或256B的用戶(hù)數(shù)據(jù)存儲(chǔ)區(qū)(不同的型號(hào)也有區(qū)別),它們是用于存放執(zhí)行的中間結(jié)果和過(guò)程數(shù)據(jù)的。8051單片機(jī)的數(shù)據(jù)存儲(chǔ)器均可讀寫(xiě),部分單元還可以位尋址。1.8051內(nèi)部數(shù)據(jù)存儲(chǔ)器8051內(nèi)部RAM共有256個(gè)單元,這256個(gè)單元共分為兩部分。其一是地址從00H~7FH單元(共128B)為用戶(hù)數(shù)據(jù)RAM(內(nèi)部RAM)。從80H~FFH地址單元(也是128B)為特殊功能寄存器(SFR)單元。2.特殊功能寄存器上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

特殊功能寄存器(SFR)也稱(chēng)為專(zhuān)用寄存器,特殊功能寄存器反映了8051單片機(jī)的運(yùn)行狀態(tài)。很多功能也通過(guò)特殊功能寄存器來(lái)定義和控制程序的執(zhí)行。8051單片機(jī)有21個(gè)特殊功能寄存器,它們被離散地分布在內(nèi)部RAM的80H~FFH地址中,這些寄存器的功能已做了專(zhuān)門(mén)的規(guī)定,用戶(hù)不能修改其結(jié)構(gòu)。表1.6是特殊功能寄存器分布一覽表。下面對(duì)其主要的寄存器做一些簡(jiǎn)單的介紹。上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

1)程序計(jì)數(shù)器(PC)程序計(jì)數(shù)器在物理上是獨(dú)立的,它不屬于特殊內(nèi)部數(shù)據(jù)存儲(chǔ)器塊中。PC是一個(gè)16位的計(jì)數(shù)器,用于存放一條要執(zhí)行的指令地址,尋址范圍為64KB,PC有自動(dòng)加1功能,即完成了一條指令的執(zhí)行后,其內(nèi)容自動(dòng)加1。PC本身并沒(méi)有地址,因而不可尋址,用戶(hù)無(wú)法對(duì)它進(jìn)行讀寫(xiě),但是可以通過(guò)轉(zhuǎn)移、調(diào)用、返回等指令改變其內(nèi)容,以控制程序按要求去執(zhí)行。2)累加器(ACC)累加器A是一個(gè)最常用的專(zhuān)用寄存器,大部分單操作指令的一個(gè)操作數(shù)取自累加器,很多雙操作數(shù)指令中的一個(gè)操作數(shù)也取自累加器。加、減、乘、除運(yùn)算的指令,運(yùn)算結(jié)果都存放于累加器A和寄存器B中。上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

大部分的數(shù)據(jù)操作都會(huì)通過(guò)累加器A進(jìn)行,它形象于一個(gè)交通要道,在程序比較復(fù)雜的運(yùn)算中,累加器成了制約軟件效率的“瓶頸”,它的功能較多,地位也十分重要。以至于后來(lái)發(fā)展的單片機(jī),有的集成了多累加器結(jié)構(gòu),或者使用寄存器陣列來(lái)代替累加器,即賦予更多寄存器以累加器的功能,目的是解決累加器的“交通堵塞”問(wèn)題。提高單片機(jī)的軟件效率。3)寄存器B在乘除法指令中,乘法指令中的兩個(gè)操作數(shù)分別取自累加器A和寄存器B,其結(jié)果存放于累加器A和寄存器B中。除法指令中,被除數(shù)取自累加器A,除數(shù)取自寄存器B,結(jié)果商存放于累加器A,余數(shù)存放于寄存器B中。上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

4)程序狀態(tài)字(PSW)程序狀態(tài)字是一個(gè)8位寄存器,用于存放程序運(yùn)行的狀態(tài)信息,這個(gè)寄存器的一些位可由軟件設(shè)置,有些位則由硬件運(yùn)行時(shí)自動(dòng)設(shè)置。5)數(shù)據(jù)指針(DPTR)數(shù)據(jù)指針為16位寄存器,編程時(shí),既可以按16位寄存器來(lái)使用,也可以按兩個(gè)8位寄存器來(lái)使用,即高位字節(jié)寄存器DPH和低位字節(jié)寄存器DPL。上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

DPTR主要用來(lái)保存16位地址,當(dāng)對(duì)64KB外部數(shù)據(jù)存儲(chǔ)器尋址時(shí),可作為間址寄存器使用,此時(shí),使用如下兩條指令:MOVXA,@DPTRMOVX@DPTR,A在訪(fǎng)問(wèn)程序存儲(chǔ)器時(shí),DPTR可用來(lái)作基址寄存器,采用基址+變址尋址方式訪(fǎng)問(wèn)程序存儲(chǔ)器,這條指令常用于讀取程序存儲(chǔ)器內(nèi)的表格數(shù)據(jù)。MOVCA,@A+DPTR上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

6)堆棧指針(SP)堆棧是一種數(shù)據(jù)結(jié)構(gòu),它是一個(gè)8位寄存器,它指示堆棧頂部在內(nèi)部RAM中的位置。系統(tǒng)復(fù)位后,SP的初始值為07H,使得堆棧實(shí)際上是從08H開(kāi)始的。但從RAM的結(jié)構(gòu)分布中可知,08H~1FH隸屬1~3工作寄存器區(qū),若編程時(shí)需要用到這些數(shù)據(jù)單元,必須對(duì)堆棧指針SP進(jìn)行初始化,原則上設(shè)在任何一個(gè)區(qū)域均可,但一般設(shè)在1FH~30H范圍較為適宜。數(shù)據(jù)被寫(xiě)入堆棧稱(chēng)為入棧(PUSH,有些文獻(xiàn)也稱(chēng)作插入運(yùn)算或壓入),從堆棧中取出數(shù)據(jù)稱(chēng)為出棧(POP,也稱(chēng)為刪除運(yùn)算或彈出),堆棧的最主要特征是“后進(jìn)先出”規(guī)則,也即最先入棧的數(shù)據(jù)放在堆棧的最底部,而最后入棧的數(shù)據(jù)放在棧的頂部,上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

因此,最后入棧的數(shù)據(jù)出棧時(shí)則是最先的。這和往一個(gè)箱里存放書(shū)本一樣,如果需將最先放入箱底部的書(shū)取出,必須先取走最上層的書(shū)籍,非常相似這個(gè)道理。7)I/O口專(zhuān)用寄存器(P0、P1、P2、P3)I/O口寄存器P0、P1、P2和P3分別是8051單片機(jī)的四組I/O口鎖存器。8051單片機(jī)并沒(méi)有專(zhuān)門(mén)的I/O口操作指令,而是把I/O口也當(dāng)作一般的寄存器來(lái)使用,數(shù)據(jù)傳送都統(tǒng)一使用MOV指令來(lái)進(jìn)行,這樣的好處在于,四組I/O口還可以當(dāng)作寄存器直接尋址方式參與其他操作。上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

8)定時(shí)器/計(jì)數(shù)器(TL0、TH0、TL1和TH1)8051單片機(jī)中有兩個(gè)16位的定時(shí)器/計(jì)數(shù)器T0和T1,它們由四個(gè)8位寄存器組成,兩個(gè)16位定時(shí)器/計(jì)數(shù)器卻是完全獨(dú)立的。可以單獨(dú)對(duì)這四個(gè)寄存器進(jìn)行尋址,但不能把T0和T1當(dāng)作16位寄存器來(lái)使用。9)定時(shí)器/計(jì)數(shù)器方式選擇寄存器(TMOD)TMOD寄存器是一個(gè)專(zhuān)用寄存器,用于控制兩個(gè)定時(shí)器/計(jì)數(shù)器的工作方式,TMOD可以用字節(jié)傳送指令設(shè)置其內(nèi)容,但不能位尋址。更詳細(xì)的內(nèi)容將在后述章節(jié)中敘述。上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

10)串行數(shù)據(jù)緩沖器(SBUF)串行數(shù)據(jù)緩沖器SBUF用來(lái)存放需發(fā)送和接收的數(shù)據(jù),它由兩個(gè)獨(dú)立的寄存器組成,一個(gè)是發(fā)送緩沖器,另一個(gè)是接收緩沖器,要發(fā)送和接收的操作其實(shí)都是對(duì)串行數(shù)據(jù)緩沖器進(jìn)行的。除了以上簡(jiǎn)述的幾個(gè)專(zhuān)用寄存器外,還有IP、IE、TCON、SCON和PCON等幾個(gè)寄存器,這幾個(gè)控制寄存器主要用于中斷和定時(shí)使用,將在后述章節(jié)中詳細(xì)說(shuō)明。對(duì)專(zhuān)用寄存器的字節(jié)尋址問(wèn)題做如下幾點(diǎn)說(shuō)明:(1)21個(gè)可字節(jié)尋址的專(zhuān)用寄存器是不連續(xù)地分散在內(nèi)部RAM高128單元之中,盡管還余有許多空閑地址,但用戶(hù)并不能使用。上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

(2)程序計(jì)數(shù)器PC不占據(jù)RAM單元,它在物理上是獨(dú)立的,因此是不可尋址的寄存器。(3)對(duì)專(zhuān)用寄存器只能使用直接尋址方式,書(shū)寫(xiě)時(shí)既可使用寄存器符號(hào),也可使用寄存器。與PC機(jī)不同,51單片機(jī)不使用線(xiàn)性編址,特殊寄存器RAM使用重復(fù)的地址。但訪(fǎng)問(wèn)時(shí)采用不同的指令,所以并不會(huì)占用RAM空間。上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

3.外部數(shù)據(jù)讀寫(xiě)存儲(chǔ)器8051單片機(jī)的存儲(chǔ)器與外設(shè)采用的是統(tǒng)一編址,而外部數(shù)據(jù)存儲(chǔ)區(qū)的尋址空間為64KB(0x0000~0xFFFF),因?yàn)槭墙y(tǒng)一編址,故8051單片機(jī)對(duì)外部數(shù)據(jù)存儲(chǔ)器的讀寫(xiě)操作,既可以是對(duì)I/O口操作,也可以對(duì)存儲(chǔ)單元操作,從指令中是無(wú)法區(qū)分的,只有通過(guò)實(shí)際硬件才能進(jìn)行區(qū)分。外部數(shù)據(jù)存儲(chǔ)器最大可擴(kuò)充為64KB,這比內(nèi)部數(shù)據(jù)存儲(chǔ)器要大很多,但外部數(shù)據(jù)存儲(chǔ)器的讀寫(xiě)速度比內(nèi)部數(shù)據(jù)存儲(chǔ)器要慢很多。1.2.3單片機(jī)片內(nèi)資源上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

一、并行口8051的芯片引腳中沒(méi)有專(zhuān)門(mén)的地址總線(xiàn)和數(shù)據(jù)總線(xiàn),在向外擴(kuò)展存儲(chǔ)器和接口時(shí),由P2口輸出地址總線(xiàn)的高8位A15~A8,由P0口輸出地址總線(xiàn)的低8位A7~A0,同時(shí)對(duì)P0口采用總線(xiàn)復(fù)用技術(shù),P0口兼作8位雙向數(shù)據(jù)總線(xiàn)D7~D0,即由P0口分時(shí)輸出低8位地址或輸入/輸出8位數(shù)據(jù),在不作總線(xiàn)擴(kuò)展時(shí),P0口、P2口和P3口可以作為普通I/O口使用。P1口只能用作I/O口。1.51單片機(jī)P0口介紹P0.0~P0.7是P0口的8位雙向口線(xiàn)。第一功能是作為基本輸入/輸出口使用;第二功能是在系統(tǒng)擴(kuò)展時(shí),分時(shí)作為數(shù)據(jù)總線(xiàn)和低8位地址總線(xiàn)。上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

這里重點(diǎn)介紹一下P0口的結(jié)構(gòu)及其工作過(guò)程:P0口的1位(例如:P0.0)結(jié)構(gòu)如圖1.4所示。它由一個(gè)輸出鎖存器、兩個(gè)三態(tài)鎖存器(1、2)、輸出控制電路[一個(gè)非門(mén)(3)、一個(gè)與門(mén)(4)、一個(gè)多路控制開(kāi)關(guān)(MUX))、輸出驅(qū)動(dòng)電路(兩只場(chǎng)效應(yīng)管)]組成。功能一:做基本I/O口使用。CPU發(fā)出的控制信號(hào)為低電平時(shí),使多路控制開(kāi)關(guān)MUX接通B端,即與輸出鎖存器的Q端連接,同時(shí)使與門(mén)輸出為低電平,場(chǎng)效應(yīng)管VT1截止。上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

當(dāng)P0輸出數(shù)據(jù)時(shí),寫(xiě)信號(hào)加在鎖存器的R引腳上,內(nèi)部總線(xiàn)上的數(shù)據(jù)通過(guò)S腳由鎖存器的端反相輸出到VT2的柵極。若內(nèi)部總線(xiàn)上數(shù)據(jù)為1,則VT2柵極為0,此時(shí)VT2截止,VT2處于漏極開(kāi)路的開(kāi)漏狀態(tài),因此為了保證P0.0輸出高電平,必須外接上拉電阻,否則P0端口不能正常工作。若內(nèi)部總線(xiàn)上數(shù)據(jù)為0,則VT2柵極為1,此時(shí)VT2導(dǎo)通,P0.0輸出低電平。當(dāng)P0輸入數(shù)據(jù)時(shí),分為讀引腳和讀鎖存器兩種方式,分別用到兩個(gè)輸入緩沖器。讀引腳操作,即單片機(jī)執(zhí)行端口輸入指令(如MOVA,P0)時(shí)的操作。這時(shí)由“讀引腳”信號(hào)將三態(tài)緩沖器2打開(kāi),引腳上的數(shù)據(jù)經(jīng)三態(tài)緩沖器2輸入到內(nèi)部總線(xiàn)。上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

讀鎖存器操作,即單片機(jī)執(zhí)行“讀—修改—寫(xiě)”類(lèi)指令(如ANLA,P0)時(shí)的操作。在執(zhí)行這類(lèi)指令時(shí),由“讀鎖存器”信號(hào)使三態(tài)鎖存器1打開(kāi),讀入P0口在鎖存器中的數(shù)據(jù),然后與累加器A中的數(shù)據(jù)進(jìn)行邏輯運(yùn)算,再將結(jié)果寫(xiě)回到P0口。這類(lèi)操作不直接從P0口引腳上讀入數(shù)據(jù),而是從鎖存器Q端讀數(shù)據(jù),其目的是防止出錯(cuò),確保得到正確結(jié)果。功能二:系統(tǒng)擴(kuò)展時(shí)分時(shí)作為數(shù)據(jù)總線(xiàn)和低8位地址總線(xiàn)。此時(shí)控制信號(hào)為高電平,多路控制開(kāi)關(guān)MUX接通A端,且與門(mén)的輸出由地址/數(shù)據(jù)端的狀態(tài)決定。上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

2.51單片機(jī)P1口介紹P1.0~P1.7為P1口的8位雙向口線(xiàn),用于完成8位數(shù)據(jù)的并行輸入/輸出。P1口內(nèi)部結(jié)構(gòu)及其功能描述如圖1.5所示。這是P1口內(nèi)部1位的電路結(jié)構(gòu),與P0口內(nèi)部結(jié)構(gòu)電路比較可發(fā)現(xiàn):P1口只是一個(gè)標(biāo)準(zhǔn)的準(zhǔn)雙向端口,無(wú)第二功能。P1口內(nèi)部取消了上拉的FET,而以一個(gè)上拉電阻代替;但此內(nèi)部上拉電阻阻值較大,故上拉驅(qū)動(dòng)能力較弱,除了有低功耗要求的應(yīng)用系統(tǒng)外,最好外接10k左右的上拉電阻。P1口內(nèi)部下拉FET仍存在,因此P1口在作為輸入時(shí),仍需先向端口數(shù)據(jù)鎖存器輸出1,使輸出驅(qū)動(dòng)FET截止,保證數(shù)據(jù)讀入的正確性。上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

3.51單片機(jī)P2口介紹P2.0~P2.7為P2口的8位雙向口線(xiàn),第一功能是作為基本輸入/輸出口使用;第二功能是在系統(tǒng)擴(kuò)展時(shí)作為高8位地址總線(xiàn)使用。P2口內(nèi)部結(jié)構(gòu)及其功能描述如圖1.6所示。這是P2口內(nèi)部1位的電路結(jié)構(gòu)。注意與P0口結(jié)構(gòu)的不同之處。第一功能:當(dāng)P2口作為通用I/O口使用時(shí),單片機(jī)控制二選一復(fù)用器倒向P2.x鎖存器的Q端,此時(shí)P2口的功能和使用方法都類(lèi)似于P1口;系統(tǒng)復(fù)位時(shí),端口鎖存器自動(dòng)置“1”,輸出的下拉驅(qū)動(dòng)器截止,P2口可直接作為輸入口使用。上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

第二功能:P2口在系統(tǒng)擴(kuò)展外圍總線(xiàn)時(shí)輸出高8位地址,此時(shí)P2口不可作為通用I/O端口使用;P2口輸出高8位地址時(shí),硬件電路自動(dòng)設(shè)置“控制”線(xiàn)使二選一復(fù)用器倒向“地址”端,使輸出的高8位地址輸出到P2.x引腳。4.51單片機(jī)P3口介紹P3.0~P3.7為P3口的8位雙向口線(xiàn),第一功能是作為基本輸入/輸出口使用;上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

這是P3口內(nèi)部1位的電路結(jié)構(gòu)。注意與P0口結(jié)構(gòu)的不同之處。當(dāng)P3口使用第一功能(通用I/O口)輸出數(shù)據(jù)時(shí),“第二輸出功能”信號(hào)應(yīng)保持高電平,使與非門(mén)開(kāi)鎖,此時(shí)端口數(shù)據(jù)鎖存器的輸出端Q可以控制P3.x引腳上的輸出電平。當(dāng)P3口使用第二輸出功能時(shí),P3口對(duì)應(yīng)位的數(shù)據(jù)鎖存器應(yīng)置“1”,使與非門(mén)開(kāi)鎖,此時(shí)“第二輸出功能”輸出的信號(hào)可控制P3.x引腳上的輸出電平;上一頁(yè)下一頁(yè)返回1.28051單片機(jī)基礎(chǔ)知識(shí)

當(dāng)P3口作為輸入端口時(shí),無(wú)論輸入的是第一功能還是第二

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論