版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、普通高等教育“十一五”國(guó)家級(jí)規(guī)劃教材單片微型計(jì)算機(jī)原理與接口技術(shù)(第二版) 編著科學(xué)出版社北京片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l第二章 80C51單片微機(jī)的基本結(jié)構(gòu)片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l 微型計(jì)算機(jī)的基本組成有三部分,即CPU +存儲(chǔ)器+ I/O 接口。 80C51內(nèi)部結(jié)構(gòu)如圖21所示。CPU(算術(shù)邏輯單元ALU、控制器)存儲(chǔ)器-程序存儲(chǔ)器ROM、數(shù)據(jù)存儲(chǔ)器 RAM定時(shí)器/計(jì)數(shù)器并行 I/O口 P0P3串行口中斷系統(tǒng)定時(shí)控制邏輯電路等 2.1 80C51單片微機(jī)的內(nèi)部結(jié)構(gòu) 微型計(jì)算機(jī)的基本組成有三部分,即C
2、PU +存儲(chǔ)器+ I/O 接口。 80C51內(nèi)部結(jié)構(gòu)如圖21所示。CPU(算術(shù)邏輯單元ALU、控制器)存儲(chǔ)器-程序存儲(chǔ)器ROM、數(shù)據(jù)存儲(chǔ)器 RAM定時(shí)器/計(jì)數(shù)器并行 I/O口 P0P3串行口中斷系統(tǒng)定時(shí)控制邏輯電路等 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l 這些部件通過(guò)內(nèi)部總線連接起來(lái),基本結(jié)構(gòu)仍然是通用CPU加上外圍芯片的結(jié)構(gòu)模式,但采用了特殊功能寄存器(SFR) 進(jìn)行集中控制的方法。1.中央處理器 單片微機(jī)的核心,主要完成運(yùn)算和控制功能,又增設(shè)了“面向控制”的處理功能,增強(qiáng)了實(shí)時(shí)性。2. 程序存儲(chǔ)器 80C31:內(nèi)部沒(méi)有程序存儲(chǔ)器 80C51:內(nèi)部帶ROM
3、 87C51:內(nèi)部帶EPROM片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l單片微機(jī)的程序存儲(chǔ)器有以下幾種結(jié)構(gòu)形式: 片內(nèi)只讀存儲(chǔ)器 程序必須在制作單片微機(jī)時(shí)寫(xiě)入,一次性固化。這種結(jié)構(gòu)形式只適用于程序已成熟、定型,且批量很大的場(chǎng)合。并且只能在廠家定制完成。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l 片內(nèi)可編程的ROM 片內(nèi)可編程的ROM可直接由用戶(hù)進(jìn)行編程。 紫外線可擦除型ROMEPROM型單片微機(jī) (如87C51)。EPROM需用紫外線擦除,必須脫機(jī)固化,不能在線改寫(xiě)。 電可擦除型ROMEEPROM,稱(chēng)為Flash單片微機(jī) (如89C5
4、1)。應(yīng)用系統(tǒng)的現(xiàn)場(chǎng)調(diào)試。EPROM和EEPROM都是可以多次擦除和編程的,或稱(chēng)MTP的ROM。OTP的 ROM,僅允許用戶(hù)一次編程。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l 片外只讀存儲(chǔ)器 由于受芯片集成度的限制,片內(nèi)只讀存儲(chǔ)器一般存儲(chǔ)容量較小。 利用單片微機(jī)的并行擴(kuò)展技術(shù)可以外擴(kuò)片外只讀存儲(chǔ)器。 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l3. 數(shù)據(jù)存儲(chǔ)器(RAM) 在單片微機(jī)中,用RAM來(lái)存儲(chǔ)程序在運(yùn)行期間的工作變量和數(shù)據(jù),所以稱(chēng)為數(shù)據(jù)存儲(chǔ)器。一般在單片微機(jī)內(nèi)部設(shè)置一定容量(64B384B或更大容量 )的RAM,以加快單片微機(jī)運(yùn)
5、行的速度,還可以使存儲(chǔ)器的功耗下降很多。在單片微機(jī)中,常把寄存器(如工作寄存器、特殊功能寄存器、堆棧等)在邏輯上劃分在片內(nèi)RAM空間中,所以可將單片微機(jī)內(nèi)部RAM看成是寄存器堆,有利于提高運(yùn)行速度。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l4. 并行I/O口單片微機(jī)往往提供了許多功能強(qiáng)、使用靈活的并行輸入/輸出引腳,用于檢測(cè)與控制。有些I/O引腳還具有多種功能,比如可以作為數(shù)據(jù)總線的數(shù)據(jù)線、地址總線的地址線、控制總線的控制線等。單片微機(jī)I/O引腳的驅(qū)動(dòng)能力也逐漸增大,甚至可以直接驅(qū)動(dòng)外擴(kuò)的LED顯示器。 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)
6、06112l5. 串行I/O口 實(shí)現(xiàn)與某些終端設(shè)備進(jìn)行串行通信,或者和一些特殊功能的器件相連的能力,甚至用多個(gè)單片微機(jī)相連構(gòu)成多機(jī)系統(tǒng)。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l 6. 定時(shí)器/計(jì)數(shù)器 用于精確的定時(shí),或者需對(duì)外部事件進(jìn)行計(jì)數(shù)80C51有兩個(gè)16位的定時(shí)器/計(jì)數(shù)器,80C52有三個(gè)16位的定時(shí)器/計(jì)數(shù)器。 7. 中斷系統(tǒng) 具有內(nèi)、外共五個(gè)中斷源,兩個(gè)中斷優(yōu)先級(jí)。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l8定時(shí)電路及元件 計(jì)算機(jī)的整個(gè)工作是在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,按照嚴(yán)格的時(shí)序有規(guī)律地一個(gè)節(jié)拍一個(gè)節(jié)拍地執(zhí)行各種操作。單片微機(jī)
7、內(nèi)部設(shè)有定時(shí)電路,只需外接振蕩元件即可工作。 外接振蕩元件一般選用晶體振蕩器,或用價(jià)廉的RC振蕩器,也可用外部時(shí)鐘源,作為振蕩元件。 有的單片微機(jī)將振蕩元件也集成在芯片內(nèi)部, 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l80C5180C52的封裝及邏輯圖如圖22所示。若不需要通過(guò)并行總線擴(kuò)展芯片,常采用20引腳甚至僅14引腳的單片微機(jī),如ATMEL公司的89C1051/2051/4051,或PHILIPS公司的P87LPC764。它們的封裝及引腳見(jiàn)圖23。2.2 80C51單片微機(jī)的引腳及其功能片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l
8、按引腳的功能可分為三部分 :1. 電源和晶振Vcc運(yùn)行和程序校驗(yàn)時(shí)接電源正端。 Vss接地。 XTAL1輸入到單片微機(jī)內(nèi)部振蕩器的反相放大器。當(dāng)采用外部振蕩器時(shí),對(duì)HMOS單片微機(jī), 此引腳應(yīng)接地;對(duì)CHMOS單片微機(jī),此引腳作驅(qū)動(dòng)端。XTAL2反相放大器的輸出,輸入到內(nèi)部時(shí)鐘發(fā)生器。當(dāng)采用外部振蕩器時(shí),XTAL2接收振蕩器信號(hào),對(duì)CHMOS,此引腳應(yīng)懸浮。 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l2. I/O P08位、漏極開(kāi)路的雙向I/O口。當(dāng)使用片外存儲(chǔ)器(ROM及RAM)時(shí),作低8位地址和8位數(shù)據(jù)總線分時(shí)復(fù)用。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單
9、片微機(jī)的基本結(jié)構(gòu)06112lP18位、準(zhǔn)雙向I/O 口。 對(duì)于80C52,P1.0T2,是定時(shí)器2的計(jì)數(shù)輸入端; P1.1T2EX,是定時(shí)器2的外部輸入端。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112lP28位、準(zhǔn)雙向I/O口。 當(dāng)使用片外存儲(chǔ)器(ROM及RAM)時(shí),輸出高8位地址。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112lP38位、準(zhǔn)雙向I/O口,具有內(nèi)部上拉電路。 P3提供各種替代功能。在提供這些功能時(shí),其輸出鎖存器應(yīng)由程序置 1。 串行口: P30RXD 串行輸入口。 P31TXD 串行輸出口。 中斷: P32 INT0 外部中斷0
10、輸入。 P33 INT1外部中斷1輸入。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l 定時(shí)器計(jì)數(shù)器: P34T0 的外部輸入。 P35T1的外部輸入。 數(shù)據(jù)存儲(chǔ)器選通: P36WR ,片外數(shù)據(jù)存儲(chǔ)器或I/O端口寫(xiě)選通。 P37 RD ,片外數(shù)據(jù)存儲(chǔ)器或I/O端口讀選通。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l3. 控制線 RST復(fù)位輸入信號(hào)。 在振蕩器工作時(shí),在RST上作用兩個(gè)機(jī)器周期以上的高電平,將單片微機(jī)復(fù)位。 EA /Vpp片外程序存儲(chǔ)器訪問(wèn)允許信號(hào)。EA=1,選擇片內(nèi)程序存儲(chǔ)器EA=0,則程序存儲(chǔ)器全部在片外。使用80C31時(shí)
11、,EA必須接地,使用8751編程時(shí), EA施加 21V的編程電壓。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112lALE/PROG地址鎖存允許信號(hào)。在訪問(wèn)片外存儲(chǔ)器或I/O時(shí),用于鎖存低8位地址,以實(shí)現(xiàn)低地址與8位數(shù)據(jù)的隔離。 ALE以 1/6的振蕩頻率固定速率輸出,可作為對(duì)外輸出的時(shí)鐘或用作外部定時(shí)脈沖。PSEN片外程序存儲(chǔ)器讀選通信號(hào)。在從片外程序存儲(chǔ)器取指期間,在每個(gè)機(jī)器周期中,當(dāng)PSEN有效時(shí),程序存儲(chǔ)器的內(nèi)容被送上 P0口(數(shù)據(jù)總線)。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l 2.3 80C51 CPU的結(jié)構(gòu)和特點(diǎn) 中央處理器C
12、PU是單片微機(jī)內(nèi)部的核心部件,主要包括控制器、運(yùn)算器和工作寄存器及時(shí)序電路。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l2.3.1中央控制器 識(shí)別指令,并根據(jù)指令性質(zhì)控制計(jì)算機(jī)各組成部件進(jìn)行工作的部件,與運(yùn)算器一起構(gòu)成中央處理器。 在80C51中,控制器包括程序計(jì)數(shù)器PC、程序地址寄存器、指令寄存器IR、指令譯碼器、條件轉(zhuǎn)移邏輯電路及定時(shí)控制邏輯電路。 其功能是控制指令的讀出、譯碼和執(zhí)行,對(duì)指令的執(zhí)行過(guò)程進(jìn)行定時(shí)控制,并根據(jù)執(zhí)行結(jié)果決定是否分支轉(zhuǎn)移。 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l程序計(jì)數(shù)器PC(Program Counte
13、r)一個(gè)獨(dú)立的計(jì)數(shù)器,不屬于內(nèi)部的特殊功能寄存器。 PC中存放的是下一條將要從程序存儲(chǔ)器中取出的指令的地址。PC基本的工作過(guò)程是:讀指令時(shí),PC將其中的數(shù)作為所取指令的地址輸出給程序存儲(chǔ)器,然后程序存儲(chǔ)器按此地址輸出指令字節(jié),同時(shí)PC本身自動(dòng)加1,指向下一條指令地址。 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112lPC變化的軌跡決定程序的流程。 在執(zhí)行條件轉(zhuǎn)移或無(wú)條件轉(zhuǎn)移指令時(shí),程序計(jì)數(shù)器將被置入轉(zhuǎn)移的目的地址,程序的流向發(fā)生變化。在執(zhí)行調(diào)用指令或響應(yīng)中斷時(shí),將子程序的入口地址或者中斷矢量地址送入PC,程序流向發(fā)生變化。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微
14、機(jī)的基本結(jié)構(gòu)06112l2. 數(shù)據(jù)指針 DPTR 16位特殊功能寄存器,主要功能是作為片外數(shù)據(jù)存儲(chǔ)器或I/O尋址用的地址寄存器。 既可以作為一個(gè)16位寄存器處理,也可以作為兩個(gè)8位寄存器處理,其高8位用DPH表示,低8位用DPL表示。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l訪問(wèn)片外數(shù)據(jù)存儲(chǔ)器或I/O的指令為: MOVX A,DPTR 讀 MOVX DPTR,A 寫(xiě)作為訪問(wèn)程序存儲(chǔ)器時(shí)的基址寄存器。尋址程序存儲(chǔ)器中的表格、常數(shù)等單元,而不是尋址指令。 MOVCA,ADPTR JMPADPTR片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112lP
15、C與DPTR: 都是與地址有關(guān)的16位的寄存器。PC與程序存儲(chǔ)器的地址有關(guān), DPTR與數(shù)據(jù)存儲(chǔ)器的地址有關(guān)。作為地址寄存器使用時(shí),PC與DPTR都是通過(guò)P0和P2口輸出的。PC的輸出與ALE及PSEN信號(hào)有關(guān);DPTR的輸出,則與ALE、WR、RD信號(hào)有關(guān)。 PC只能作為16位寄存器對(duì)待,是不可以訪問(wèn)的。DPTR可以作為16位寄存器,也可以作為兩個(gè)8位特殊功能寄存器,DPTR是可以訪問(wèn)的。 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l3. 指令寄存器IR、指令譯碼器及控制邏輯 IR是用來(lái)存放指令操作碼的專(zhuān)用寄存器。執(zhí)行程序時(shí),首先進(jìn)行程序存儲(chǔ)器的讀操作,也就是根據(jù)
16、程序計(jì)數(shù)器給出的地址從程序存儲(chǔ)器中取出指令,送指令寄存器IR,IR的輸出送指令譯碼器;指令譯碼器對(duì)該指令進(jìn)行譯碼,譯碼結(jié)果送定時(shí)控制邏輯電路,如圖24所示。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l 定時(shí)控制邏輯電路則根據(jù)指令的性質(zhì)發(fā)出一系列定時(shí)控制信號(hào),控制計(jì)算機(jī)的各組成部件進(jìn)行相應(yīng)的工作,執(zhí)行指令。條件轉(zhuǎn)移邏輯電路主要用來(lái)控制程序的分支轉(zhuǎn)移。轉(zhuǎn)移條件分為兩部分:內(nèi)部條件,程序狀態(tài)標(biāo)志位(PSW)和累加器的零狀態(tài); 外部條件,F(xiàn)0和所有位尋址空間的狀態(tài)。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l 2.3.2 運(yùn)算器運(yùn)算器主要用來(lái)實(shí)現(xiàn)
17、對(duì)操作數(shù)的算術(shù)邏輯運(yùn)算和位操作的。對(duì)傳送到CPU的數(shù)據(jù)進(jìn)行加、減、乘、除、比較、BCD碼校正等算術(shù)運(yùn)算?!芭c”、“或”、“異或”等邏輯操作;移位、置位、清零、取反、加1、減1等操作。80C51的ALU還具有極強(qiáng)的位處理功能,如位置1、位清零、位“與”、位“或”等操作,對(duì)“面向控制”特別有用。 運(yùn)算器主要包括算術(shù)邏輯運(yùn)算單元ALU、累加器A、暫存寄存器、B寄存器、程序狀態(tài)標(biāo)志寄存器PSW以及BCD碼運(yùn)算修正電路等。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112lALU有兩個(gè)輸入: 通過(guò)暫存器1的輸入:輸入數(shù)據(jù)來(lái)自寄存器、直接尋址單元(含I/O口)、內(nèi)部RAM、寄存器B或是
18、立即數(shù)。 通過(guò)暫存器 2或累加器 的輸入:通過(guò)暫存器 2的運(yùn)算的指令有 ANL direct, data ORL direct, data XRL direct,data其它的運(yùn)算,其輸入之一大多數(shù)也要通過(guò)累加器。 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112lALU有兩個(gè)輸出: 數(shù)據(jù)經(jīng)過(guò)運(yùn)算后,其結(jié)果又通過(guò)內(nèi)部總線送回到累加器中; 數(shù)據(jù)運(yùn)算后產(chǎn)生的標(biāo)志位輸出至程序狀態(tài)字 PSW。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l2. 累加器A簡(jiǎn)稱(chēng)ACC或A寄存器。主要功能:累加器A存放操作數(shù),是ALU單元的輸入之一,也是ALU運(yùn)算結(jié)果的暫存單元
19、。單片微機(jī)中大部分?jǐn)?shù)據(jù)操作都要通過(guò)累加器A進(jìn)行,容易產(chǎn)生“瓶頸”現(xiàn)象。 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l3B寄存器 乘法中,ALU的兩個(gè)輸入分別為A、B,運(yùn)算結(jié)果,A中放積的低8位,B中放積的高8位。 除法中,被除數(shù)取自A,除數(shù)取自B,商數(shù)存放于A,余數(shù)存放于B。 在其它情況下,B寄存器可以作為內(nèi)部RAM中的一個(gè)單元來(lái)使用。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l4. 程序狀態(tài)字PSW (Program Status Word) 主要部分是算術(shù)邏輯運(yùn)算單元(ALU)的輸出。其中有些位(如F0)狀態(tài)可用軟件方法設(shè)定。 奇偶校
20、驗(yàn)位P、溢出標(biāo)志位OV、輔助進(jìn)位標(biāo)志位AC及進(jìn)位標(biāo)志位CY都是ALU運(yùn)算結(jié)果的直接輸出。CYACF0RS1RS0OVP片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l (1) P 奇偶標(biāo)志位 每個(gè)指令周期都由硬件來(lái)置位或清除。 用以表示累加器A中值為1的個(gè)數(shù)的奇偶性:若累加器值為1的位數(shù)是奇數(shù),P置位(奇校驗(yàn));否則P清除(偶校驗(yàn)) 。如(A)=00001010,則P=0。在串行通信中,常以傳送奇偶校驗(yàn)位來(lái)檢驗(yàn)傳輸數(shù)據(jù)的可靠性。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l (2) OV 溢出標(biāo)志位 當(dāng)執(zhí)行運(yùn)算指令時(shí),由硬件置位或清除,OV置位
21、表示運(yùn)算結(jié)果超出了目的寄存器A所能表示的帶符號(hào)數(shù)的范圍(一128127)。 若以Ci表示位 i向位il有進(jìn)位,則OV=C6C7;當(dāng)位6向位7有進(jìn)位(借位)而位7不向CY進(jìn)位(借位)時(shí);或當(dāng)位7向C進(jìn)位(借位)而位6不向位7進(jìn)位(借位)時(shí),OV標(biāo)志置位,表示帶符號(hào)數(shù)運(yùn)算時(shí)運(yùn)算結(jié)果是錯(cuò)誤的;否則,清除OV標(biāo)志,運(yùn)算結(jié)果正確。 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l對(duì)于MUL乘法,當(dāng)A、B兩個(gè)乘數(shù)的積超過(guò)255時(shí)OV置位;否則,OV0。若OV0時(shí),只需從A寄存器中取積。對(duì)于DIV除法,若除數(shù)為0時(shí),OV=1;否則,OV=0。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51
22、單片微機(jī)的基本結(jié)構(gòu)06112l (3) RS1、RS0 工作寄存器組選擇位用于設(shè)定當(dāng)前工作寄存器的組號(hào)。工作寄存器共有4組,其對(duì)應(yīng)關(guān)系見(jiàn)表21(4)AC 輔助進(jìn)位標(biāo)志位 當(dāng)進(jìn)行加法或減法運(yùn)算時(shí),若低4位向高4位數(shù)發(fā)生進(jìn)位或借位時(shí),AC將被硬件置位;否則,被清除。 在十進(jìn)制調(diào)整指令DA中要用到AC標(biāo)志位狀態(tài)。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l (5)CY 進(jìn)位標(biāo)志位。在進(jìn)行算術(shù)運(yùn)算時(shí),可以被硬件置位或清除,以表示運(yùn)算結(jié)果中高位是否有進(jìn)位或借位。在布爾處理機(jī)中CY被認(rèn)為是位累加器。 (6)F0 用戶(hù)標(biāo)志位。開(kāi)機(jī)時(shí)該位為“0”。用戶(hù)可根據(jù)需要,通過(guò)位操作指令置“
23、l”或者清“0”。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l 2.3.3 時(shí)鐘電路及CPU的工作時(shí)序時(shí)鐘電路用于產(chǎn)生單片微機(jī)工作所需要的時(shí)鐘信號(hào),而時(shí)序所研究的是指令執(zhí)行中各信號(hào)之間的相互關(guān)系。單片微機(jī)本身就如一個(gè)復(fù)雜的同步時(shí)序電路,為了保證同步工作方式的實(shí)現(xiàn),電路應(yīng)在唯一的時(shí)鐘信號(hào)控制下嚴(yán)格地按時(shí)序進(jìn)行工作。 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l1. 時(shí)鐘電路在80C51內(nèi)帶有時(shí)鐘電路,只需要在片外通過(guò)XTALI和XTAL2引腳接入定時(shí)控制元件(晶體振蕩器和電容),即可構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。在80C51芯片內(nèi)部有一個(gè)高增益
24、反相放大器,而在芯片的外部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容。80C51的時(shí)鐘電路如圖26所示。 時(shí)鐘電路由下列幾部分組成:振蕩器及定時(shí)控制元件、時(shí)鐘發(fā)生器、地址鎖存允許信號(hào) ALE。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l(1) 振蕩器及定時(shí)控制元件 在80C51芯片內(nèi)部有一個(gè)高增益反相放大器,其輸入端為引腳XTAL1,其輸出端為引腳XTAL2。 需要在片外通過(guò)XTAL1和XTAL2引腳跨接晶體振蕩器和微調(diào)電容,形成反饋電路,振蕩器即可工作。振蕩器的結(jié)構(gòu)和振蕩電路原理如圖27所示。振蕩器的工作可以由PD位(特殊功能寄存器PCON中的一位)控制
25、。當(dāng)PD置1時(shí),振蕩器停止工作,系統(tǒng)進(jìn)入低功耗工作狀態(tài)。 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l振蕩器的工作頻率一般在1.212 MHz之間,有些單片微機(jī)的頻率范圍高端可達(dá)40 MHz,低端可達(dá)0Hz。在由多片單片微機(jī)組成的系統(tǒng)中,為了各單片微機(jī)之間時(shí)鐘信號(hào)的同步,應(yīng)當(dāng)引入唯一的公用外部脈沖信號(hào)作為各單片微機(jī)的振蕩脈沖。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l(2) 內(nèi)部時(shí)鐘發(fā)生器內(nèi)部時(shí)鐘發(fā)生器實(shí)質(zhì)上是一個(gè)2分頻的觸發(fā)器。其輸入由振蕩器引入的,輸出為兩個(gè)節(jié)拍的時(shí)鐘信號(hào)。輸出的前半周期,節(jié)拍1(P1)信號(hào)有效;后半周期,節(jié)拍2(P
26、2)信號(hào)有效。每個(gè)輸出周期為一個(gè)計(jì)算機(jī)CPU的狀態(tài)周期,即時(shí)鐘發(fā)生器的輸出為狀態(tài)時(shí)鐘。每個(gè)狀態(tài)周期內(nèi)包括一個(gè)P1節(jié)拍和一個(gè)P2節(jié)拍,形成CPU內(nèi)的基本定時(shí)時(shí)鐘。(3) ALE信號(hào)狀態(tài)時(shí)鐘經(jīng)過(guò)3分頻之后,產(chǎn)生ALE引腳上的信號(hào)輸出。 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l2時(shí)序定時(shí)單位 時(shí)序是用定時(shí)單位來(lái)說(shuō)明的。80C51的時(shí)序定時(shí)單位共有4個(gè):節(jié)拍、狀態(tài)、機(jī)器周期和指令周期。(1)節(jié)拍P 振蕩脈沖的周期稱(chēng)為節(jié)拍。(2) 狀態(tài)S 一個(gè)狀態(tài)S包含兩個(gè)節(jié)拍,其前半周期對(duì)應(yīng)的節(jié)拍叫P1,后半周期對(duì)應(yīng)的節(jié)拍叫P2 。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基
27、本結(jié)構(gòu)06112l(3) 機(jī)器周期80C51采用定時(shí)控制方式,有固定的機(jī)器周期。規(guī)定一個(gè)機(jī)器周期的寬度為6個(gè)狀態(tài),并依次表示為S1S6。一個(gè)機(jī)器周期共有12個(gè)振蕩脈沖周期,是振蕩脈沖的12分頻。 機(jī)器周期是單片微機(jī)的最小時(shí)間單位。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l(4) 指令周期執(zhí)行一條指令所需要的時(shí)間稱(chēng)為指令周期。它是最大的時(shí)序定時(shí)單位。80C51的指令周期根據(jù)指令的不同,可包含有1、2、3、4個(gè)機(jī)器周期。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l3. 80C51指令時(shí)序 80C51共有111條指令,全部指令按其長(zhǎng)度可分為單
28、字節(jié)指令、雙字節(jié)指令和三字節(jié)指令。 圖28所表示的是幾種典型單機(jī)器周期和雙機(jī)器周期指令的時(shí)序。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l(1) 單機(jī)器周期指令,如圖28(a)、(b)所示。 雙字節(jié)時(shí),執(zhí)行在S1P2開(kāi)始,操作碼被讀入指令寄存器;在S4P2時(shí),再讀入第二個(gè)字節(jié)。單字節(jié)時(shí),執(zhí)行在S1P2開(kāi)始,操作碼被讀入指令寄存器;在S4P2時(shí)仍有讀操作,但被讀入的字節(jié)(即下一操作碼)被忽略,且此時(shí)PC并不增量。 以上兩種情況均在S6P2時(shí)結(jié)束操作。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l (2) 雙機(jī)器周期指令,如圖28(c)、(d)
29、所示。雙字節(jié)時(shí),執(zhí)行在S1P2開(kāi)始,操作碼被讀入指令寄存器;在S4P2時(shí),再讀入的字節(jié)被忽略。由S5開(kāi)始送出外部數(shù)據(jù)存儲(chǔ)器的地址,隨后是讀或?qū)懙牟僮?。在讀、寫(xiě)期間,ALE不輸出有效信號(hào)。 在第二個(gè)機(jī)器周期,片外數(shù)據(jù)存儲(chǔ)器也尋址和選通,但不產(chǎn)生取指操作。 單字節(jié)時(shí),執(zhí)行在S1P2開(kāi)始,在整個(gè)兩個(gè)機(jī)器周期中,共發(fā)生4次讀操作,但是后3次操作都無(wú)效。 一般,算術(shù)/邏輯操作發(fā)生在節(jié)拍1期間,內(nèi)部寄存器對(duì)寄存器的傳送發(fā)生在節(jié)拍2期間。 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l圖中的ALE信號(hào)是為地址鎖存而定義的,該信號(hào)每有效一次對(duì)應(yīng)單片微機(jī)進(jìn)行一次讀指令操作。在一個(gè)機(jī)器周
30、期中,ALE信號(hào)兩次有效,第一次在S1P2和S2P1期間,第二次在S4P2和S5P1期間,有效寬度為一個(gè)狀態(tài)周期S。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l(1)單字節(jié)單周期指令(例如 INC A) 只需進(jìn)行一次讀指令操作。當(dāng)?shù)诙€(gè)ALE有效時(shí),由于PC沒(méi)有加1,所以讀出的還是原指令。(2)雙字節(jié)單周期指令(例如 ADD A,data) ALE的兩次讀操作都是有效的,第一次是讀指令操作碼,第二次是讀指令第二字節(jié)。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l(3)單字節(jié)雙周期指令(例如 INC DPTR) 兩個(gè)機(jī)器周期共進(jìn)行4次讀指令的
31、操作,但其中后3次的讀操作全是無(wú)效的。 (4) 單字節(jié)雙周期指令(例如MOVX類(lèi)指令)執(zhí)行MOVX類(lèi)指令時(shí),先在ROM讀取指令,然后對(duì)外部RAM進(jìn)行讀/寫(xiě)操作。第一機(jī)器周期時(shí),與其它指令一樣,第一次讀指令(操作碼)有效,第二次讀指令操作無(wú)效。第二周期時(shí),進(jìn)行外部RAM訪問(wèn),此時(shí)與ALE信號(hào)無(wú)關(guān),不產(chǎn)生讀指令操作。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l2.4 存儲(chǔ)器結(jié)構(gòu)和地址空間單片微機(jī)的存儲(chǔ)器有兩種基本結(jié)構(gòu):普林斯頓(Princeton)結(jié)構(gòu):程序和數(shù)據(jù)合用一個(gè)存儲(chǔ)器空間的結(jié)構(gòu); 哈佛(Haryard)結(jié)構(gòu):程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器截然分開(kāi),分別尋址的結(jié)構(gòu)。80
32、C51系列采用哈佛結(jié)構(gòu)。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l圖29為80C51存儲(chǔ)器映象圖。在物理上設(shè)有4個(gè)存儲(chǔ)器空間 程序存儲(chǔ)器:片內(nèi)程序存儲(chǔ)器;片外程序存儲(chǔ)器。 數(shù)據(jù)存儲(chǔ)器:片內(nèi)數(shù)據(jù)存儲(chǔ)器; 片外數(shù)據(jù)存儲(chǔ)器。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l 在邏輯上設(shè)有3個(gè)存儲(chǔ)器地址空間 片內(nèi)、片外統(tǒng)一的 64 KB程序存儲(chǔ)器地址空間; 片內(nèi)256(80C52 為384)B數(shù)據(jù)存儲(chǔ)器地址空間; 片外64 KB的數(shù)據(jù)存儲(chǔ)器地址空間。 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l片內(nèi)數(shù)據(jù)存儲(chǔ)器空間,在物理上
33、又包含兩部分: 80C51:0127B為片內(nèi)數(shù)據(jù)存儲(chǔ)器空間; 128255B為特殊功能寄存器空間。 80C52:0127 B為片內(nèi)數(shù)據(jù)存儲(chǔ)器空間; 128255B共128個(gè)字節(jié)是數(shù)據(jù)存儲(chǔ)器和特殊 功能寄存器地址重疊空間。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l80C51有三種基本的尋址空間: 64 KB的片內(nèi)、外程序存儲(chǔ)器尋址空間; 64 KB的片外數(shù)據(jù)存儲(chǔ)器尋址空間; 256(或384)B的片內(nèi)數(shù)據(jù)存儲(chǔ)器尋址空間,其中包括特殊功能寄存器尋址空間。 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l2.4.l 程序存儲(chǔ)器用于存放經(jīng)調(diào)試正確的
34、應(yīng)用程序和表格之類(lèi)的固定常數(shù)。采用16位的程序計(jì)數(shù)器 PC和16位的地址總線,可擴(kuò)展的地址空間為64 KB。 程序存儲(chǔ)器分為片內(nèi)和片外兩部分。EA引腳接高電平時(shí),程序從片內(nèi)程序存儲(chǔ)器0000H開(kāi)始執(zhí)行;當(dāng)PC值超出片內(nèi)程序存儲(chǔ)器容量時(shí),會(huì)自動(dòng)轉(zhuǎn)向片外程序存儲(chǔ)器空間執(zhí)行。 EA引腳接低電平時(shí),迫使系統(tǒng)全部執(zhí)行片外程序存儲(chǔ)器0000H開(kāi)始存放的程序。 對(duì)于片內(nèi)無(wú)ROM的80C31/80C32,應(yīng)將EA引腳固定接低電平,以迫使系統(tǒng)全部執(zhí)行片外程序存儲(chǔ)器程序。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l 程序存儲(chǔ)器的特定的程序入口地址 由于系統(tǒng)復(fù)位后的PC地址為0000H,
35、故系統(tǒng)從0000H單元開(kāi)始取指,執(zhí)行程序。從0003H002DH單元被保留用于6個(gè)中斷源的中斷服務(wù)程序的入口地址。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l 復(fù)位0000H 外部中斷0 0003H 計(jì)時(shí)器T0溢出 000BH 外部中斷1 0013H 計(jì)時(shí)器T1溢出 001BH 串行口中斷 0023H 計(jì)時(shí)器 T2/T2EX002BH(80C52) 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l 片內(nèi)程序存儲(chǔ)器類(lèi)型有:掩膜ROM、OTPROM和MTPROM(包括EPROM及E2PROM等)。 87C51中為4KB的可編程、可改寫(xiě)的只讀存儲(chǔ)器
36、EPROM;89C51中為4KB的可編程、可改寫(xiě)的只讀存儲(chǔ)器EEPROM;80C31片內(nèi)沒(méi)有程序存儲(chǔ)器,使用時(shí)必須由片外進(jìn)行擴(kuò)展。片內(nèi)程序存儲(chǔ)器的容量目前已達(dá)到 62KB。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l數(shù)據(jù)存儲(chǔ)器由RAM構(gòu)成,用來(lái)存放隨機(jī)數(shù)據(jù)。 片內(nèi)數(shù)據(jù)存儲(chǔ)器地址只有8位,最大尋址范圍為256個(gè)字節(jié)。片外數(shù)據(jù)存儲(chǔ)器有16位數(shù)據(jù)指針DPTR,用于訪問(wèn)。80C51具有64KB的數(shù)據(jù)存儲(chǔ)器擴(kuò)展能力。2.4.2 內(nèi)部數(shù)據(jù)存儲(chǔ)器片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l片內(nèi)數(shù)據(jù)存儲(chǔ)器在物理上又分成兩個(gè)獨(dú)立的功能不同的區(qū)。 片內(nèi)數(shù)據(jù)R
37、AM區(qū):對(duì)80C51,為0 127B; 對(duì)80C52,為0255B。 特殊功能寄存器SFR區(qū):地址空間的高 128 B。對(duì)于80C52,高128B的RAM區(qū)和SFR區(qū)的地址空間是重疊的。訪問(wèn)高 128B RAM區(qū)時(shí),選用間接尋址方式;訪問(wèn)SFR區(qū),則應(yīng)選用直接尋址方式。圖2-10為片內(nèi)數(shù)據(jù)存儲(chǔ)器的地址空間分布圖。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l 片內(nèi)數(shù)據(jù)RAM區(qū)工作寄存器區(qū)用寄存器直接尋址的區(qū)域, 從圖 210中可知,其中片內(nèi)數(shù)據(jù) RAM區(qū)的 031(00H1FH),共 32個(gè)單元,是 4個(gè)通用工作寄存器組(表2l),每個(gè)組包含 8個(gè) 8位寄存器,編號(hào)為
38、 R0R7。 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l在某一時(shí)刻,只能選用一個(gè)寄存器組使用。其選擇是通過(guò)軟件對(duì)程序狀態(tài)字(PSW)中的RS0、RS1兩位的設(shè)置來(lái)實(shí)現(xiàn)的。若RS0、RS1均為0,則選用工作寄存器0組為當(dāng)前工作寄存器。累加器ACC、B、DPTR及CY(布爾處理器的累加器)一般也作為寄存器對(duì)待。寄存器R0、R1 通常用做間接尋址時(shí)的地址指針。 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l 位尋址區(qū) 從片內(nèi)數(shù)據(jù)RAM區(qū)的3247(20H2FH)的16個(gè)字節(jié)單元,共包含128位,是可位尋址的RAM區(qū)。這16個(gè)字節(jié)單元,既可進(jìn)行字
39、節(jié)尋址,又可位尋址。字節(jié)地址與位地址之間的關(guān)系見(jiàn)表22。 可位尋址的特殊功能寄存器。在這一存儲(chǔ)器空間所有位都具有位地址。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l 字節(jié)尋址區(qū) 從片內(nèi)數(shù)據(jù)RAM區(qū)的48127(30H7FH),共80個(gè)字節(jié)單元,可以采用直接字節(jié)尋址的方法訪問(wèn)。 對(duì)于 80C52,還有高 128B的數(shù)據(jù) RAM區(qū)。這一區(qū)域只能采用間接字節(jié)尋址的方法訪問(wèn)。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l 堆棧區(qū)及堆棧指示器SP (stack pointer) : 堆棧是在片內(nèi)數(shù)據(jù)RAM區(qū)中,數(shù)據(jù)先進(jìn)后出或后進(jìn)先出的區(qū)域。 SP在8
40、0C51中存放當(dāng)前的堆棧棧頂所指存儲(chǔ)單元地址的一個(gè)8位寄存器。 堆棧有兩種形式,一是向上生成,二是向下生成。80C51的堆棧是向上生成的:即進(jìn)棧時(shí)SP的內(nèi)容是增加的;出棧時(shí)SP的內(nèi)容是減少的。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l系統(tǒng)復(fù)位后,SP內(nèi)容為07H,以07H為棧底,壓棧的內(nèi)容從08H單元開(kāi)始存放。堆棧是為子程序調(diào)用和中斷操作而設(shè)立的,具體功能:保護(hù)斷點(diǎn)和保護(hù)現(xiàn)場(chǎng)。在80C51中,堆棧在子程序調(diào)用和中斷時(shí)會(huì)把斷點(diǎn)地址自動(dòng)進(jìn)棧和出棧,還有對(duì)堆棧的進(jìn)棧和出棧的指令(PUSH、POP)操作,用于保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)。 子程序調(diào)用和中斷都允許嵌套,并可以多級(jí)嵌套
41、,而現(xiàn)場(chǎng)的保護(hù)也往往使用堆棧,要注意給堆棧以一定的深度。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l 特殊功能寄存器 SFR (Special Function Register)區(qū) SFR是80C51中各功能部件所對(duì)應(yīng)的寄存器,用以存放相應(yīng)功能部件的控制命令、狀態(tài)或數(shù)據(jù)的區(qū)域。 80C51設(shè)有128B片內(nèi)數(shù)據(jù)RAM結(jié)構(gòu)的特殊功能寄存器空間區(qū)。除程序計(jì)數(shù)器PC和4個(gè)通用工作寄存器組外,其余所有的寄存器都在這個(gè)地址空間之內(nèi)。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l80C51共定義了21個(gè)特殊功能寄存器,其名稱(chēng)和字節(jié)地址列于表23中。在8
42、0C52中,除上述80C51的21個(gè)之外,還增加了5個(gè)特殊功能寄存器,共計(jì)26個(gè)。在80C51的21個(gè)(80C52的26個(gè))特殊功能寄存器中,字節(jié)地址中低位地址為0H或8H的特殊功能寄存器,除有字節(jié)尋址能力外,還有位尋址能力。這些特殊功能寄存器與位地址的對(duì)應(yīng)關(guān)系見(jiàn)表24。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l2.4.3 片外數(shù)據(jù)存儲(chǔ)區(qū)在外部存放數(shù)據(jù)的區(qū)域,這一區(qū)域只能用寄存器間接尋址的方法訪問(wèn)。指令助記符為MOVX。 當(dāng)用R0、R1尋址時(shí),由于R0、R1為8位寄存器,最大尋址范圍為256B; 當(dāng)用DPTR尋址時(shí),由于DPTR為16位寄存器,最大尋址范圍為64K
43、B。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l2.5 并行輸入/輸出端口80C51共有4個(gè) 8位的并行雙向口,計(jì)有 32根輸入輸出(I/O)口線。各口的每一位均由鎖存器、輸出驅(qū)動(dòng)器和輸入緩沖器所組成。由于它們?cè)诮Y(jié)構(gòu)上的一些差異,故各口的性質(zhì)和功能也就有了差異。它們之間的異同列于表25。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l2.5.1 P0口多功能的8位口,字節(jié)訪問(wèn)地址為80H,位訪問(wèn)地址為80H87H。 位結(jié)構(gòu) P0口位結(jié)構(gòu)原理圖見(jiàn)圖211。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l P0口中一個(gè)多路
44、開(kāi)關(guān):多路開(kāi)關(guān)的輸入有兩個(gè),地址數(shù)據(jù)輸出;輸出鎖存器的輸出/Q。多路開(kāi)關(guān)的輸出用于控制輸出FET Q0的導(dǎo)通和截止。多路開(kāi)關(guān)的切換由內(nèi)部控制信號(hào)控制。 P0口的輸出上拉電路導(dǎo)通和截止受內(nèi)部控制信號(hào)和地址數(shù)據(jù)信號(hào)共同(相“與”)來(lái)控制。 當(dāng)內(nèi)部信號(hào)置1時(shí),多路開(kāi)關(guān)接通地址數(shù)據(jù)輸出端。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l當(dāng)?shù)刂窋?shù)據(jù)輸出線置1時(shí),控制上拉電路的“與”門(mén)輸出為1,上拉FET導(dǎo)通,同時(shí)地址數(shù)據(jù)輸出通過(guò)反相器輸出0,控制下拉FET截止,這樣A點(diǎn)電位上拉,地址數(shù)據(jù)輸出線為1。當(dāng)?shù)刂窋?shù)據(jù)輸出線置0時(shí),“與”門(mén)輸出為0,上拉FET截止,同時(shí)地址數(shù)據(jù)輸出通過(guò)反相
45、器輸出1,控制下拉FET導(dǎo)通,這樣A點(diǎn)電位下拉,地址數(shù)據(jù)輸出線為0。此時(shí)的輸出狀態(tài)隨地址數(shù)據(jù)線而變,P0口可以作為地址/數(shù)據(jù)復(fù)用總線使用。這時(shí)上下兩個(gè)FET處于反相,構(gòu)成了推拉式的輸出電路,其負(fù)載能力大大增加。此時(shí)的P0口相當(dāng)一個(gè)雙向口。 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l當(dāng)內(nèi)部信號(hào)置0時(shí),多路開(kāi)關(guān)接通輸出鎖存器的Q端由于內(nèi)部控制信號(hào)為0,與門(mén)關(guān)閉,上拉FET截止,形成P0口的輸出電路為漏極開(kāi)路輸出。 輸出鎖存器的Q端引至下拉FET柵極,因此P0口的輸出狀態(tài)由下拉電路決定。 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l在P0口作
46、輸出口用時(shí),若P0i輸出1,輸出鎖存器的Q端為0,下拉FET截止,這時(shí)P0i為漏極開(kāi)路輸出;若P0i輸出0,輸出鎖存器的Q端為1,下拉FET導(dǎo)通,P0i輸出低電平。 在P0口作輸入口用時(shí),為了使P0i能正確讀入數(shù)據(jù),必須先使P0.i置1。這樣,下拉FET也截止,P0i處于懸浮狀態(tài)。A點(diǎn)的電平由外設(shè)的電平而定,通過(guò)輸入緩沖器讀入CPU,P0口相當(dāng)于一個(gè)高阻抗的輸入口。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l P0口的功能 作IO口使用 相當(dāng)于一個(gè)真正的雙向口:輸出鎖存、輸入緩沖,但輸入時(shí)需先將口置1;每根口線可以獨(dú)立定義為輸入或輸出。它具有雙向口的一切特點(diǎn)。 與其
47、它口的區(qū)別是,輸出時(shí)為漏極開(kāi)路輸出,與NMOS的電路接口時(shí)必須要用電阻上拉,才能有高電平輸出;輸入時(shí)為懸浮狀態(tài),為一個(gè)高阻抗的輸入口。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l 作地址數(shù)據(jù)復(fù)用總線用 此時(shí)P0口為一個(gè)準(zhǔn)雙向口。但是有上拉電阻,作數(shù)據(jù)輸入時(shí),口也不是懸浮狀態(tài)。作地址數(shù)據(jù)復(fù)用總線用。作數(shù)據(jù)總線用時(shí),輸入輸出8位數(shù)據(jù)D0D7;作地址總線用時(shí),輸出低8位地址A0A7。當(dāng)P0口作地址數(shù)據(jù)復(fù)用總線用之后,就再也不能作IO口使用了。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l 8位口,字節(jié)訪問(wèn)地址為90H,位訪問(wèn)地址為90H97H。
48、位結(jié)構(gòu)和工作原理 P1口的位結(jié)構(gòu)如圖212所示。包含輸出鎖存器、輸入緩沖器BUF1(讀引腳)、BUF2(讀鎖存器)以及由 FET晶體管 Q0與上拉電阻組成的輸出輸入驅(qū)動(dòng)器。 P1口的工作過(guò)程分析如下: P1.i位作輸出口用時(shí):CPU輸出0時(shí),D0,Q0,Ql,晶體管Q0導(dǎo)通,A點(diǎn)被下拉為低電平,即輸出0;CPU輸出1時(shí),Dl,Q1,Q0,晶體管Q0截止,A點(diǎn)被上拉為高電平,即輸出l。2.5.2 P1口片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112lP1i位作輸入口用時(shí):先向P1i位輸出高電平,使A點(diǎn)提升為高電平,此操作稱(chēng)為設(shè)置P1i為輸入線。若外設(shè)輸入為1時(shí)A點(diǎn)為高電平
49、,由BUFI讀入總線后B點(diǎn)也為高電平;若外設(shè)輸入為0時(shí)A點(diǎn)為低電平,由BUF1讀入總線后B點(diǎn)也為低電平。 、 P1口的特點(diǎn)輸出鎖存器,輸出時(shí)沒(méi)有條件;輸入緩沖,輸入時(shí)有條件,即需要先將該口設(shè)為輸入狀態(tài),先輸出1;工作過(guò)程中無(wú)高阻懸浮狀態(tài),也就是該口不是輸入態(tài)就是輸出態(tài)。 具有這種特性的口不屬于“真正”的雙向口,而被稱(chēng)為“準(zhǔn)”雙向口。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l P1口的操作 字節(jié)操作和位操作 CPU對(duì)于 P1口可以作為一個(gè) 8位口來(lái)操作,也可以按位來(lái)操作。 有關(guān)字節(jié)操作的指令有: 輸出: MOVP1,A ;P1A MOVP1,data ;P1data
50、 MOV P1,direct ;P1direct 輸入: MOV A,P1 ;AP1 MOV direct,Pl ;directPl片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l有關(guān)位操作的指令有: 置位、清除:SETB P1.i ;P1.i1 CLR Pli ;P1i0 輸入、輸出:MOV P1i,C ;P1iCY MOV C,P1i ;CYP1.i 判跳: JBP1i,rel ;P1.i=1,跳轉(zhuǎn) JBC P1i,rel ;P1.i1,跳轉(zhuǎn)且;清P1.i0 邏輯運(yùn)算: ANL C,P1i ;CY(P1.iCY) ORL C,P1i ;CY(P1.iCY) P1i中
51、的i0,7。 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l P1口不僅可以以8位一組進(jìn)行輸入、輸出操作,還可以逐位分別定義各口線為輸入線或輸出線。例如:ORLP1,0 0 0 0 0 0 1 0 B使P1l位口線輸出l,而使其余各位不變。 ANL P1,1 1 1 1 1 1 0 1 B使P11位線輸出0,而使其余各位不變。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l 讀引腳操作和讀鎖存器操作 從P1口的位結(jié)構(gòu)圖中可以看出,有兩種讀口的操作:一種是讀引腳操作,一種是讀鎖存器操作。 在響應(yīng)CPU輸出的讀引腳信號(hào)時(shí),端口本身引腳的電平值通過(guò)緩
52、沖器BUF1進(jìn)入內(nèi)部總線。這種類(lèi)型的指令,執(zhí)行之前必須先將端口鎖存器置1,使A點(diǎn)處于高電平,否則會(huì)損壞引腳,而且也使信號(hào)無(wú)法讀出。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l 這種類(lèi)型的指令有: MOV A,P1 ;AP1 MOVdirect,P1 ;directP1 在執(zhí)行讀鎖存器的指令時(shí),CPU首先完成將鎖存器的值通過(guò)緩沖器BUF2讀入內(nèi)部,進(jìn)行修改,然后重新寫(xiě)到鎖存器中去,這就是“讀一修改一寫(xiě)”指令。這種類(lèi)型的指令包含所有的口的邏輯操作(ANL、ORL、XRL)和位操作(JBC、CPL、MOV、SETB、CLR等)指令。 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C
53、51單片微機(jī)的基本結(jié)構(gòu)06112l P1口的多功能線 在80C52中,P10和P11口線是多功能的,即除作一般雙向I/O口線之外,這兩根口線還具有下列功能: P10T2的外部輸入端T2; P11T2的外部控制端T2EX。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l 多功能的8位口,字節(jié)訪問(wèn)地址為A0H,位訪問(wèn)地址為A0HA7H。 P2口位結(jié)構(gòu)和工作原理P2口位結(jié)構(gòu)原理圖示于圖213。 多路開(kāi)關(guān)的輸入有兩個(gè):一個(gè)是口輸出鎖存器的輸出端Q;一個(gè)是地址寄存器(PC或DPTR)的高位輸出端。多路開(kāi)關(guān)的輸出經(jīng)反相器反相后去控制輸出FET的 Q0。多路開(kāi)關(guān)的切換由內(nèi)部控制信號(hào)控
54、制。輸出鎖存器的輸出端是Q而不是Q,多路開(kāi)關(guān)之后需接反相器。 2.5.3 P2口片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l P2口的工作狀態(tài)是I/O口狀態(tài)。 在內(nèi)部控制信號(hào)的作用下,多路開(kāi)關(guān)的輸入投向輸出鎖存器的輸出Q(C點(diǎn))側(cè),這樣多路開(kāi)關(guān)將接通輸出鎖存器。 若經(jīng)由內(nèi)部總線輸出0,輸出鎖存器的Q端為0,信號(hào)經(jīng)多路開(kāi)關(guān)和反相器后輸出1,Q0導(dǎo)通,A點(diǎn)為0,輸出低電平;若經(jīng)由內(nèi)部總線輸出1,輸出鎖存器的Q端為1,反相器后輸出0,Q0截止,A點(diǎn)為1 ,輸出高電平。 P2口的工作狀態(tài)是輸出高8位地址。在內(nèi)部控制信號(hào)的作用下,多路開(kāi)關(guān)的輸入投向地址輸出(B點(diǎn))側(cè),這樣多路
55、開(kāi)關(guān)將接通地址寄存器輸出。A點(diǎn)的電平將隨地址輸出的0、1而0、1地變化。 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l P2口的功能 作IO口使用時(shí),P2口為一準(zhǔn)雙向口。 作地址輸出時(shí),P2口可以輸出程序存儲(chǔ)器或片外數(shù)據(jù)存儲(chǔ)器的高8位地址,與P0輸出的低地址一起構(gòu)成16位地址線,從而可分別尋址64KB的程序存儲(chǔ)器或片外數(shù)據(jù)存儲(chǔ)器。地址線是8位一起自動(dòng)輸出的。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l P2口使用中注意的問(wèn)題 由于P2口的輸出鎖存功能,在取指周期內(nèi)或外部數(shù)據(jù)存儲(chǔ)器讀、寫(xiě)選通期間,輸出的高8位地址是鎖存的,故無(wú)需外加地址鎖存
56、器。 在系統(tǒng)中如果外接有程序存儲(chǔ)器,由于訪問(wèn)片外程序存儲(chǔ)器的連續(xù)不斷的取指操作,P2口需要不斷送出高位地址,這時(shí)P2口的全部口線均不宜再作I/O口使用。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l 在無(wú)外接程序存儲(chǔ)器而有片外數(shù)據(jù)存儲(chǔ)器的系統(tǒng)中,P2口使用可分為兩種情況: 若片外數(shù)據(jù)存儲(chǔ)器的容量256 B:可使用“MOVX A,Ri”及“MOVX Ri,A”類(lèi)指令訪問(wèn)片外數(shù)據(jù)存儲(chǔ)器,這時(shí)P2口不輸出地址,P2口仍可作為I/O口使用; 若片外數(shù)據(jù)存儲(chǔ)器的容量256 B:這時(shí)使用“MOVX A,DPTR”及“MOVXDPTR,A”類(lèi)指令訪問(wèn)片外數(shù)據(jù)存儲(chǔ)器,P2口需輸出高8
57、位地址。在片外數(shù)據(jù)存儲(chǔ)器讀、寫(xiě)選通期間,P2口引腳上鎖存高8位地址信息,但是在選通結(jié)束后,P2口內(nèi)原來(lái)鎖存的內(nèi)容又重新出現(xiàn)在引腳上。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l 使用“MOVX A,Ri”及“MOVX Ri,A”類(lèi)訪問(wèn)指令時(shí),高位地址通過(guò)程序設(shè)定,只利用P1、P3甚至P2口中的某幾根口線送高位地址,從而保留P2口的全部或部分口線作I/O口用。 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l2.5.4 P3口多功能的8位口,字節(jié)訪問(wèn)地址為B0H,位訪問(wèn)地址為B0HB7H。 位結(jié)構(gòu)與工作原理 P3口的位結(jié)構(gòu)原理如圖214所示。
58、與非門(mén)有兩個(gè)輸入端:一個(gè)為口輸出鎖存器的Q端,另一個(gè)為替代功能的控制輸出。與非門(mén)的輸出端控制輸出FET管Q0。有兩個(gè)輸入緩沖器,替代輸入功能取自第一個(gè)緩沖器的輸出端;I/O口的通用輸入信號(hào)取自第二個(gè)緩沖器的輸出端。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l輸出工作過(guò)程: 當(dāng)替代輸出功能B點(diǎn)置1時(shí),輸出鎖存器的輸出可以順利通到引腳P3i。其工作狀況與P1口相類(lèi)似。這時(shí)P3口的工作狀態(tài)為I/O口,顯然此時(shí)該口具有準(zhǔn)雙向口的性質(zhì)。 當(dāng)輸出鎖存器的輸出置1時(shí),替代輸出功能可以順利通到引腳P3i。 若替代輸出為0時(shí),因與非門(mén)的C點(diǎn)已置l,現(xiàn)B點(diǎn)為0,故與非門(mén)的輸出為l,使Q
59、0導(dǎo)通,從而使A點(diǎn)也為0。若替代輸出為1時(shí),與非門(mén)的輸出為0,Q0截止,從而使A點(diǎn)也為高電平。這時(shí)P3口的工作狀態(tài)處于替代輸出功能狀態(tài)。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l P3口的功能 可作I/O口使用,為準(zhǔn)雙向口。 既可以字節(jié)操作,也可以位操作;既可以8位口操作,也可以逐位定義口線為輸入線或輸出線;既可以讀引腳,也可以讀鎖存器,實(shí)現(xiàn)“讀一修改一輸出”操作。 可以作為替代功能的輸入、輸出。 片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l替代輸入功能: P30 RXD,串行輸入口。 P32INT0,外部中斷0的請(qǐng)求。 P33INT1
60、,外部中斷1的請(qǐng)求。 P34T0,T0外部計(jì)數(shù)脈沖輸入。 P35T1,T1外部計(jì)數(shù)脈沖輸入。 替代輸出功能: P3lTXD,串行輸出口。 P36WR外部數(shù)據(jù)存儲(chǔ)器或I/O端口寫(xiě)選通。 P37RD 外部數(shù)據(jù)存儲(chǔ)器或I/O端口讀選通。片微型計(jì)算機(jī)原理與接口技術(shù)第二版80C51單片微機(jī)的基本結(jié)構(gòu)06112l2.6 布爾(位)處理器一個(gè)完整的一位微計(jì)算機(jī),它具有自已的CPU、寄存器、I/O、存儲(chǔ)器和指令集。一位機(jī)在開(kāi)關(guān)決策、邏輯電路仿真和實(shí)時(shí)控制方面非常有效。 位處理器系統(tǒng)包括以下幾個(gè)功能部件: 位累加器:借用進(jìn)位標(biāo)志位CY。在布爾運(yùn)算中CY是數(shù)據(jù)源之一,又是運(yùn)算結(jié)果的存放處,位數(shù)據(jù)傳送的中心。根據(jù)C
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年貴州建筑安全員《A證》考試題庫(kù)及答案
- 2025年陜西建筑安全員《B證》考試題庫(kù)
- 2025年天津建筑安全員《B證》考試題庫(kù)
- 廣州中醫(yī)藥大學(xué)《管理溝通雙語(yǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025江蘇省安全員《B證》考試題庫(kù)
- 廣州醫(yī)科大學(xué)《機(jī)械制造技術(shù)課程設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025貴州建筑安全員-B證考試題庫(kù)附答案
- 2025重慶建筑安全員知識(shí)題庫(kù)及答案
- 2025陜西建筑安全員考試題庫(kù)及答案
- 2025浙江省建筑安全員《B證》考試題庫(kù)及答案
- 中國(guó)汽車(chē)行業(yè)分析與展望:適者生存-2024-10-市場(chǎng)解讀
- 防溺水課件教學(xué)課件
- 專(zhuān)題05 閱讀-2023-2024學(xué)年六年級(jí)英語(yǔ)寒假專(zhuān)項(xiàng)提升(人教PEP版)
- 醫(yī)藥研發(fā)流程及質(zhì)量管理手冊(cè)
- 做賬實(shí)操-期貨公司的賬務(wù)處理示例
- Java Web 開(kāi)發(fā)從入門(mén)到實(shí)戰(zhàn) 課件 第8章 過(guò)濾器與監(jiān)聽(tīng)器
- 人教版二年級(jí)上冊(cè)100以?xún)?nèi)加減法豎式計(jì)算題300道及答案
- 高考重慶語(yǔ)文試卷及答案
- 雙方共用消防通道協(xié)議書(shū)
- 綠化租擺服務(wù)投標(biāo)方案(技術(shù)標(biāo))
- 整本書(shū)閱讀《鄉(xiāng)土中國(guó)》議題思辨:無(wú)訟之“訟”教學(xué)設(shè)計(jì) 中職語(yǔ)文高教版基礎(chǔ)模塊下冊(cè)
評(píng)論
0/150
提交評(píng)論