第2章51系列單片機的的結(jié)構(gòu)與原理_第1頁
第2章51系列單片機的的結(jié)構(gòu)與原理_第2頁
第2章51系列單片機的的結(jié)構(gòu)與原理_第3頁
第2章51系列單片機的的結(jié)構(gòu)與原理_第4頁
第2章51系列單片機的的結(jié)構(gòu)與原理_第5頁
已閱讀5頁,還剩130頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理基本內(nèi)容2.1單片機的基本組成2.2 80C51單片機的引腳功能和結(jié)構(gòu)框圖2.3 80C51 CPU的結(jié)構(gòu)和特點2.4存儲器結(jié)構(gòu)和地址空間2.5布爾(位)處理器2.6 80C51單片機的工作方式 第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理2.1單片機的基本組成單片機是把計算機的運算器、控制器、少量存儲器、最基本的輸入輸出電路、串行口電路、中斷和定時電路等都集成在一塊芯片上的微型計算機。 凡屬于與80C51系列相同處的均用“80C51”代表,不專指某具體型號。單片機包括CPU、存儲器、可編程I/O口、定時計數(shù)器、串行口

2、等。各部分通過內(nèi)部總線相連,如下圖所示。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理8051內(nèi)部結(jié)構(gòu)框圖第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 1、中央處理器CPU CPU是單片機的核心部件,由運算器、控制器組成,此外在CPU的運算器中還有一個專門進行位數(shù)據(jù)操作的位處理器。單片機中的中央處理器和通用微處理器基本相同,只是增設(shè)了“面向控制”的處理功能。例如:位處理、查表、多種跳轉(zhuǎn)、乘除法運算、狀態(tài)檢測、中斷處理等,增強了實時性。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 2、存儲

3、器 有兩種基本結(jié)構(gòu):一種是程序和數(shù)據(jù)合用一個存儲器空間,稱為普林斯頓(Princeton)結(jié)構(gòu);另一種是將程序存儲器和數(shù)據(jù)存儲器分開,分別尋址的結(jié)構(gòu),稱為哈佛(Harvard)結(jié)構(gòu)。 目前的單片機以采用程序存儲器和數(shù)據(jù)存儲器截然分開的結(jié)構(gòu)為多。 第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 (1) 程序存儲器 (ROM) 由于單片機的應(yīng)用系統(tǒng),一般開發(fā)調(diào)試成功后的應(yīng)用程序不再需要改變,常永久性地存儲在程序存儲器中,故單片機的程序存儲器都采用只讀存儲器。 目前單片機的程序存儲器有二種結(jié)構(gòu)形式:片內(nèi)和片外只讀存儲器 第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 片內(nèi)

4、只讀存儲器 片內(nèi)掩膜ROM:程序在做單片機時寫入,一次性固化,用戶不能修改。 這種結(jié)構(gòu)形式只適用于程序已成熟、定型,且批量很大的場合。這種單片機的價格便宜。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理片內(nèi)可編程的ROM:由用戶進行編程,因而用戶在實際應(yīng)用中甚感方便。但這類單片機價格較貴,應(yīng)有選擇地采用。 目前已采用的有:EPROM,需用紫外線擦除,必須脫機固化,不能在線改寫。 電可擦除型ROME2PROM,使用方便,適合應(yīng)用系統(tǒng)的現(xiàn)場調(diào)試。價格已經(jīng)迅速下降,被廣泛采用。 EPROM和E2PROM都是可以多次擦除和編程的,或稱MTP的ROM。第第2章章 51系列單片機的結(jié)構(gòu)與原理

5、系列單片機的結(jié)構(gòu)與原理 片外只讀存儲器 由于受集成度的限制,片內(nèi)只讀存儲器容量較小(2 KB至8 KB)。使用片外只讀存儲器的單片機則克服了上述之不足。 (2) 數(shù)據(jù)存儲器(RAM) 用隨機存取存儲器(RAM)來存儲程序在運行期間的工作變量和數(shù)據(jù),所以稱為數(shù)據(jù)存儲器。 一般在片內(nèi)部設(shè)置一定容量(64 B至256 B)的RAM。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 小容量的數(shù)據(jù)存儲器以高速RAM的形式集成在單片機內(nèi),以加快單片機運行的速度。 這種結(jié)構(gòu)的RAM還可以使存儲器的功耗下降很多在單片機中,常把寄存器(如工作寄存器、特殊功能寄存器、堆棧等)在邏輯上劃分在片內(nèi)RAM空

6、間中,所以可將單片機內(nèi)部RAM看成是寄存器堆,此結(jié)構(gòu)也有利于運行速度的提高。 對某些應(yīng)用系統(tǒng),還可外部擴展數(shù)據(jù)存儲器。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 3、并行I/O口 單片機提供了數(shù)量多、功能強、使用靈活的并行I/O口。51系列單片機共有4個8位的并行IO口(P0、P1、P2、P3),以實現(xiàn)數(shù)據(jù)的并行輸入與輸出。有些單片機的并行I/O口,不僅可靈活地選作輸入或輸出,而且還具有多種功能。 例如,它既是I/O口,又是系統(tǒng)總線或是控制信號線等,從而為擴展外部存儲器和I/O接口提供了方便,大大拓寬了單片機的應(yīng)用范圍。 第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)

7、與原理 4、串行I/O口 高檔8位單片機均增設(shè)了全雙工串行I/O口,從而提供了與某些終端設(shè)備進行串行通信,或者和一些特殊功能的器件相連的能力,甚至用多個單片機相連構(gòu)成多機系統(tǒng),使單片機的功能更強且應(yīng)用更廣。 第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 5、定時器/計數(shù)器 在單片機的實際應(yīng)用中,為了減少軟件開銷和提高單片機的實時控制能力,因而均在單片機內(nèi)部設(shè)置定時器/計數(shù)器電路,通過中斷,實現(xiàn)定時/計數(shù)的自動處理。 51系列單片機共有2個16位長度的定時器/計數(shù)器,用于實現(xiàn)內(nèi)部精確定時或外部事件計數(shù)功能。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 6、定時電路

8、及元件 計算機的整個工作是在時鐘信號的驅(qū)動下,按照嚴格的時序有規(guī)律地一個節(jié)拍一個節(jié)拍地執(zhí)行各種操作。 各種計算機均有自己的固定時序和定時電路。 單片機內(nèi)部也設(shè)有定時電路,作為單片機工作的時間基準,只需外接振蕩元件即可工作。典型的晶體振蕩頻率為12MHz有的單片機將振蕩元件也集成在芯片內(nèi)部,這樣不僅大大縮小了單片機的體積,同時也方便了使用。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理7、中斷控制系統(tǒng)8051型單片機共設(shè)有五個中斷源,其中外部中斷2個、定時/計數(shù)中斷2個、串行中斷1個,可實現(xiàn)二級中斷嵌套。 以上各個主要功能部件基本上構(gòu)成了8051型單片機,作為計算機應(yīng)該具有的基本部

9、件它都包括,實質(zhì)上單片機系統(tǒng)就是一個簡單的微機系統(tǒng)。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理2.2 80C51單片機的引腳功能和結(jié)構(gòu)框圖 一、80C51的引腳功能 80C51有40引腳雙列直插(DIP)和44引腳(QFP)封裝形式。 管腳分為以下四類:n電源類管腳電源類管腳2個(個(20,40)n時鐘類管腳時鐘類管腳2個(個(18,19)n并行并行I/O類管腳類管腳32個個n控制類管腳控制類管腳4個個 (9,29,30,31)第二章單片機的基本結(jié)構(gòu)與工作原理第二章單片機的基本結(jié)構(gòu)與工作原理圖2280C51/80C52的封裝及邏輯圖第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單

10、片機的結(jié)構(gòu)與原理 1、電源和時鐘振蕩類引腳VCC (40腳):芯片工作電源的輸入端,+5V。VSS(20腳):電源的接地端。XTALl(19腳)和XTAL2(18腳)的內(nèi)部是一個振蕩電路。內(nèi)部設(shè)置了一個反相放大器,XTALl為放大器的反相輸入端,XTAL2為放大器的同相輸入端。當(dāng)使用芯片內(nèi)部時鐘時,在這兩個引腳上外接石英晶體和微調(diào)電容;當(dāng)使用外部時鐘時,用于接外部時鐘脈沖信號。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 2 2、I/OI/O口口:4個口,32根。有有32條I/O線,構(gòu),構(gòu)成成4個8位雙向端口P0口口(3239腳腳):是一個是一個8位漏極開路型的雙向I/O口;在

11、訪問外部存儲器時,分時;在訪問外部存儲器時,分時提供低提供低8位地址,并用作位地址,并用作8位雙向數(shù)據(jù)總位雙向數(shù)據(jù)總線。線。P0口能以吸收電流的方式驅(qū)動口能以吸收電流的方式驅(qū)動8個個LSTTL負載。負載。P1口口(18腳腳):是一個是一個帶內(nèi)部提升電阻的8位準雙向I/O口。它能驅(qū)動口。它能驅(qū)動4個個LSTTL負載。負載。第第2章章 51系列單片機的結(jié)構(gòu)與原系列單片機的結(jié)構(gòu)與原理理 P2P2口口(21(212828腳腳) ):是一個是一個帶內(nèi)部提升電阻的8位準雙向I/O口;在訪問外部存口;在訪問外部存儲器時,輸出高儲器時,輸出高8位地址。在對位地址。在對8751型型單片機內(nèi)單片機內(nèi)EPROM進行

12、編程和檢驗時,進行編程和檢驗時,P2口用于接收高口用于接收高8位地址和控制信號。位地址和控制信號。P2口可以驅(qū)動口可以驅(qū)動4個個LSTTL負載。負載。 P3口口(1017腳腳):是一個是一個帶內(nèi)部提升電阻的8位準雙向I/O口??凇3口可以驅(qū)動口可以驅(qū)動4個個LSTTL負載。在系統(tǒng)中,這負載。在系統(tǒng)中,這8個引腳都個引腳都有各自的第二功能,詳見下表。有各自的第二功能,詳見下表。 第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理P3口引腳第 二 功 能P3口引腳第 二 功 能P3.0RXD(串行口輸入端) P3.4T0(定時器0外部輸入)P3.1TXD(串行口輸出端) P3.5T1(

13、定時器0外部輸出)P3.2INT0(外部中斷0輸入)P3.6WR(外部數(shù)據(jù)存儲器寫脈沖輸出)P3.3INT1(外部中斷1輸入)P3.7RD(外部數(shù)據(jù)存儲器讀脈沖輸出)第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理3 3、控制線控制線:共:共4 4根。根。 輸入:RST(9腳)復(fù)位輸入信號,高電平有效。 在振蕩器工作時,在RST上作用兩個機器周期以上的高電平,將器件復(fù)位。EA/VPP(31腳)片外程序存儲器訪問允許信號,低電平有效。在編程時,其上施加21 V或12 V的編程電壓。第第2章章 51系列單片機的結(jié)構(gòu)與原系列單片機的結(jié)構(gòu)與原理理 輸入、輸出:ALE/PROG(30腳)地址

14、鎖存允許信號,輸出。 用做片外存儲器訪問時,低字節(jié)地址鎖存。ALE以1/6的振蕩頻率穩(wěn)定速率輸出,可用做對外輸出的時鐘或用于定時。在EPROM編程期間,作輸入。輸入編程脈沖(PROG)。ALE可以驅(qū)動8個LSTTL負載。第第2章章 51系列單片機的結(jié)構(gòu)與原系列單片機的結(jié)構(gòu)與原理理 輸出控制線:PSEN(29腳)片外程序存儲器選通信號,低電平有效。在從片外程序存儲器取指期間,在每個機器周期中,當(dāng)PSEN有效時,程序存儲器的內(nèi)容被送上P0口(數(shù)據(jù)總線)。PSEN可以驅(qū)動8個LSTTL負載。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 二、二、8080C51C51的內(nèi)部結(jié)構(gòu)框圖和組成

15、的內(nèi)部結(jié)構(gòu)框圖和組成 主要包括算術(shù)邏輯部件ALU、累加器ACC(有時也簡稱為A) 、只讀存儲器ROM、隨機存取存儲器RAM、指令寄存器IR、程序地址寄存器、程序計數(shù)器PC、數(shù)據(jù)指針DPTR、定時器計數(shù)器、并行IO口 P0P3、串行口、程序狀態(tài)標志寄存器PSW以及定時控制邏輯電路等。這些部件通過內(nèi)部總線連接起來,構(gòu)成一個完整的微型計算機。 第二章單片機的基本結(jié)構(gòu)與工作原理第二章單片機的基本結(jié)構(gòu)與工作原理 圖2-3 80C51的內(nèi)部結(jié)構(gòu)框圖第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理2.3 2.3 8080C51 CPUC51 CPU的結(jié)構(gòu)和特點的結(jié)構(gòu)和特點 中央處理器CPU主要包

16、括控制器、運算器和工作寄存器及時序電路。在單片機中,工作寄存器(即通用寄存器)屬于數(shù)據(jù)存儲器RAM的一部分,因此,工作寄存器放在后面與片內(nèi)數(shù)據(jù)存儲器一起介紹,這里僅介紹控制器、運算器及時序電路的基本組成、功能與特點。 第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 一、中央控制器 控制器的功能是控制器的功能是控制單片機各部件協(xié)調(diào)動作。它由程序計數(shù)器。它由程序計數(shù)器PC、PC加加1寄存器、指令寄存器、指令譯碼器、定時與控制電路組寄存器、指令寄存器、指令譯碼器、定時與控制電路組成。成。其工作過程就是執(zhí)行程序的過程,而程序的執(zhí)行是在控制器的其工作過程就是執(zhí)行程序的過程,而程序的執(zhí)行是在

17、控制器的控制下進行的。步驟如下:控制下進行的。步驟如下:從片內(nèi)外程序存儲器ROM中取出指令,送指令寄存器。通過指令寄存器再送指令譯碼器,將指令代碼譯成一種或幾種電平信號。與系統(tǒng)時鐘一起,送時序邏輯電路進行綜合后產(chǎn)生各種按一定時間節(jié)拍變化的電平或脈沖控制信號,用以控制系統(tǒng)各部件進行相應(yīng)的操作,完成指令的執(zhí)行。執(zhí)行程序就是重復(fù)這一過程。第第2章章 51系列單片機的結(jié)構(gòu)與原系列單片機的結(jié)構(gòu)與原理理 1、地址寄存器PC和DPTR(1)程序計數(shù)器PC(Program Counter)是最基本的寄存器,是一個獨立的計數(shù)器,存放著下一條將要從程序存儲器中取出的指令的地址?;镜墓ぷ鬟^程:讀指令時,程序計數(shù)器

18、將其中的數(shù)作為所取指令的地址輸出給程序存儲器,然后程序存儲器按此地址輸出指令字節(jié),同時程序計數(shù)器本身自動加1,指向下一條指令地址。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 程序計數(shù)器PC變化的軌跡決定程序的流程。程序計數(shù)器的寬度決定了程序存儲器可以直接尋址的范圍。在80C51中,程序計數(shù)器PC是一個16位的計數(shù)器,故而可對64 KB(216)程序存儲器進行尋址。程序計數(shù)器PC的基本工作方式有如下三種: 程序計數(shù)器PC自動加1,這是最基本的工作方式,也是這個專用寄存器被稱為計數(shù)器的原因。 執(zhí)行有條件或無條件轉(zhuǎn)移指令時,程序計數(shù)器將被置入新的數(shù)值,程序的流向發(fā)生變化。第第2章章

19、 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 變化的方式有下列幾種: 帶符號的相對跳轉(zhuǎn)SJMP, 短跳轉(zhuǎn)AJMP, 長跳轉(zhuǎn)LJMP及 JMP A+DPTR等 下章學(xué)習(xí)指令時可進一步了解。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 在執(zhí)行在執(zhí)行調(diào)用指令或響應(yīng)中斷調(diào)用指令或響應(yīng)中斷時:時: PCPC的現(xiàn)行值,即下一條將要執(zhí)行的指令的地址,的現(xiàn)行值,即下一條將要執(zhí)行的指令的地址,送入堆棧,加以保護。送入堆棧,加以保護。 將子程序的入口地址或者中斷矢量地址送入將子程序的入口地址或者中斷矢量地址送入PCPC,程序流向發(fā)生變化,執(zhí)行子程序或中斷服務(wù)程程序流向發(fā)生變化,執(zhí)行子程序或中

20、斷服務(wù)程序。子程序或中斷服務(wù)程序執(zhí)行完畢,遇到返序。子程序或中斷服務(wù)程序執(zhí)行完畢,遇到返回指令回指令RETRET或或RETIRETI時,將棧頂?shù)膬?nèi)容送到時,將棧頂?shù)膬?nèi)容送到PCPC寄寄存器中,程序流程又返回到原來的地方,繼續(xù)存器中,程序流程又返回到原來的地方,繼續(xù)執(zhí)行。執(zhí)行。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理復(fù)位控制與中斷控制有相應(yīng)的硬件結(jié)構(gòu),其程序入口地址是固定的如下表,用戶不能更改。操作操作入口地址入口地址復(fù)位復(fù)位0000H外部中斷外部中斷INT00003H定時中斷定時中斷T0000BH外部中斷外部中斷INT10013H定時中斷定時中斷T1001BH串行口中斷串行

21、口中斷0023H第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 程序計數(shù)器PC的輸出,即程序存儲器的地址,與P0、P2口之間的關(guān)系如圖:第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理(2) 數(shù)據(jù)指針DPTRDPTR:16位的特殊功能寄存器,主要功能是作為片外數(shù)據(jù)存儲器尋址用的地址寄存器(間接尋址),故稱為數(shù)據(jù)指針。訪問片外數(shù)據(jù)存儲器的指令為:MOVX A,DPTR 讀 MOVX DPTR,A 寫 此時,DPTR的輸出,即片外數(shù)據(jù)存儲器的地址,與P0、P2口之間的關(guān)系如圖:第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理DPTR的輸出與P0、P2口之間的關(guān)

22、系 第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理DPTR寄存器也可以作為訪問程序存儲器時的基址寄存器。 MOVC A,A+DPTR JMP A+DPTRDPTR寄存器既可以作為一個16位寄存器處理如, MOV DPTR,#16位地址 INC DPTR也可以作為兩個8位寄存器處理,其高8位用DPH表示,低8位用DPL表示。如:CJNE A,DPL,$ CJNE A,DPH,$第第2章章 51系列單片機的結(jié)構(gòu)與原系列單片機的結(jié)構(gòu)與原理理在80C51中,程序計數(shù)器PC與數(shù)據(jù)指針DPTR兩個地址寄存器的異同處: 兩者都是與地址有關(guān)的、16位的寄存器。 PC與程序存儲器的地址有關(guān),而DP

23、TR與數(shù)據(jù)存儲器的地址有關(guān)。作為地址寄存器使用時,PC與DPTR都是通過P0和P2口輸出的。但PC的輸出與ALE及PSEN有關(guān); DPTR的輸出,則與ALE、WR、RD相聯(lián)系。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 PC只能作為16位寄存器對待;有自動加1的功能,故又稱為計數(shù)器;PC是不可以訪問的;有自己獨特的變化方式;它的變化軌跡決定了程序執(zhí)行的流程。 DPTR可以作為16位寄存器對待,也可以作為兩個8位寄存器對待;DPTR是可以訪問的。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理2、指令寄存器IR、指令譯碼器及控制邏輯 指令寄存器指令寄存器IR是是用來

24、在存放指令操作碼的專用寄存器。執(zhí)行程序時:執(zhí)行程序時:n進行程序存儲器的讀指令操作,也就是根據(jù)PC給出的地址從程序存儲器中取出指令,并送指令寄存器IR,IR的輸出送指令譯碼器;n由指令譯碼器對該指令進行譯碼,譯碼結(jié)果送定時控制邏輯電路,定時控制邏輯電路根據(jù)指令的性質(zhì)發(fā)出一系列的定時控制信號,也叫時序信號,控制單片機的各組成部件進行相應(yīng)的工作,執(zhí)行指令。條件轉(zhuǎn)移邏輯電路主要用于條件轉(zhuǎn)移邏輯電路主要用于控制程序的分支轉(zhuǎn)移。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理指令寄存器和指令譯碼器 第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 整個程序的執(zhí)行過程就是在控制器的

25、控制下,將指令從程序存儲器中逐條取出,進行譯碼,然后由定時控制邏輯電路發(fā)相應(yīng)的定時控制信號,控制指令的執(zhí)行。 對于運算指令,還要將運算的結(jié)果特征送入程序狀態(tài)標志寄存器PSW。 第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理二、運算器 運算器的功能主要進行運算器的功能主要進行算術(shù)和邏輯運算,它由,它由算術(shù)邏輯單元 ALU、累加器ACC、B寄存器、PSW狀態(tài)字寄存器和和兩個暫存器組成。組成。l算術(shù)邏輯單元ALU。運算器的核心部件。n加、減、乘、除、增量、十進制調(diào)整和比較等算術(shù)運算;n與、或、異或等邏輯運算;n左移位、右移位和半字節(jié)交換等操作;操作數(shù)暫存于暫存于累加器和和相應(yīng)寄存器,操

26、作結(jié)果存于存于累加器,操作結(jié)果的狀態(tài)保存于保存于狀態(tài)寄存器(PSW)中。中。第第2章章 51系列單片機的結(jié)構(gòu)與原系列單片機的結(jié)構(gòu)與原理理1、算術(shù)邏輯運算單元ALU 第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 結(jié)構(gòu)上,該單元實質(zhì)是一個全加器。全加器的輸入有兩個:(1)通過暫存器1的輸入:輸入數(shù)據(jù)來自寄存器、輸入數(shù)據(jù)來自寄存器、立即數(shù)、直接尋址單元(含立即數(shù)、直接尋址單元(含I/O口)、內(nèi)部口)、內(nèi)部RAM及寄存器及寄存器B。(2) 通過暫存器2或累加器ACC的輸入:通過暫存器2的運算如有: ANL direct,#data、 ORL direct,#data、 XRL dire

27、ct,#data 。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 其它的運算,其輸入之一大多數(shù)也要通過累加器ACC。 全加器有兩個輸出:一個是累加器,數(shù)據(jù)經(jīng)過運算后,其結(jié)果又通過內(nèi)部總線送回到累加器中; 另一個是程序狀態(tài)字PSW,即為程序狀態(tài)標志寄存器。第第2章章 51系列單片機的結(jié)構(gòu)與原系列單片機的結(jié)構(gòu)與原理理算術(shù)/邏輯運算可完成的操作: 帶進位和不帶進位的加法、減法及8位數(shù)的乘、除法運算; 邏輯運算 AND、 OR和XOR; 增量或減量; 位操作有位置位、位復(fù)位和位取反等; 左移位、右移位; 半字節(jié)交換; BCD碼運算修正。第第2章章 51系列單片機的結(jié)構(gòu)與原系列單片機的結(jié)

28、構(gòu)與原理理2、累加器累加器A 累加器是CPU中使用最頻繁的一個寄存器,簡稱ACC或A寄存器。作用: 累加器A是ALU單元的輸入之一,是處理數(shù)據(jù)源之一,它又是ALU運算結(jié)果的存放單元。 CPU中的數(shù)據(jù)傳送大多都通過累加器,相當(dāng)于一個數(shù)據(jù)的中轉(zhuǎn)站。在CPU中與它打交道的部分有:ROM中的常數(shù) “MOVC A,A+DPTR”、 “MOVC A, A+PC”;第第2章章 51系列單片機的結(jié)構(gòu)與原系列單片機的結(jié)構(gòu)與原理理 寄存器R0,,R7 ; 數(shù)據(jù)存儲器(片內(nèi)RAM,片外RAM);直接尋址單元。 在80C51中,還有一部分可以不經(jīng)過累加器不經(jīng)過累加器的傳送指令,如: 寄存器與直接尋址單元之間; 直接尋

29、址單元與間接尋址單元之間; 寄存器、間接尋址單元、直接尋址單元與立即數(shù)之間的傳送指令。這樣,既加快了傳送速度,又減少了累加器的堵塞現(xiàn)象。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理3、B寄存器 B寄存器在乘法和除法指令中作為ALU的輸入之一。乘法中,ALU的兩個輸入分別為A、B,運算結(jié)果存放在AB寄存器對中。A中放積的低8位,B中放積的高8位。除法中,被除數(shù)取自A,除數(shù)取自B,商數(shù)存放于A,余數(shù)存放于B。在其它情況下,B寄存器可以作為內(nèi)部RAM中的一個單元來使用。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理4、程序狀態(tài)字PSW PSW(Program Statu

30、s Word)用于用于存放指令執(zhí)行時的狀態(tài)信息的8位寄存器。其中有些位的狀態(tài)是根據(jù)指令執(zhí)行結(jié)果,由硬其中有些位的狀態(tài)是根據(jù)指令執(zhí)行結(jié)果,由硬件自動設(shè)置的。件自動設(shè)置的。PSW的狀態(tài)可用專門的指令進的狀態(tài)可用專門的指令進行測試,也可以用指令讀出。行測試,也可以用指令讀出。一些條件轉(zhuǎn)移指令將根據(jù)一些條件轉(zhuǎn)移指令將根據(jù)PSW中有關(guān)位的狀態(tài)來中有關(guān)位的狀態(tài)來進行條件轉(zhuǎn)移,其各位定義如下進行條件轉(zhuǎn)移,其各位定義如下: 第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 位位 序序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位標位標志志CYACF0RS1RS0

31、OV/PGCY(PSW.7):進位標志。是是PSW中最常用的標志位,中最常用的標志位,其功能是存放算術(shù)運算的進位標志和在位操作中作位累其功能是存放算術(shù)運算的進位標志和在位操作中作位累加器使用,在位與、位或等操作中都要使用加器使用,在位與、位或等操作中都要使用CY。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 位位 序序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位標位標志志CYACF0RS1RS0OV/PGAC(PSW.6):輔助進位標志。當(dāng)進行加法或減法運算當(dāng)進行加法或減法運算中,當(dāng)?shù)椭?,?dāng)?shù)?位向高位向高4位進位或借位時,位進位或借位時,

32、AC被硬件置被硬件置“l(fā)”,否則被清零。在進行否則被清零。在進行BCD碼十進制運算時,需要進行十碼十進制運算時,需要進行十進制調(diào)整,要用進制調(diào)整,要用AC進行判斷。進行判斷。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 位位 序序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位標位標志志CYACF0RS1RS0OV/PGF0(PSW.5):用戶標志。是用戶定義的一個狀態(tài)標志,是用戶定義的一個狀態(tài)標志,可以用軟件對可以用軟件對F0進行置位或復(fù)位。也可以通過測試進行置位或復(fù)位。也可以通過測試F0來來控制程序的轉(zhuǎn)向??刂瞥绦虻霓D(zhuǎn)向。第第2章章 51系

33、列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 位位 序序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位標位標志志CYACF0RS1RS0OV/PGRS1、RS0(PSW.4、PSW.3):寄存器選擇控制位??杉拇嫫鬟x擇控制位??捎密浖O(shè)置這兩位的狀態(tài),來選擇對應(yīng)寄存組,其對應(yīng)用軟件設(shè)置這兩位的狀態(tài),來選擇對應(yīng)寄存組,其對應(yīng)關(guān)系如表。關(guān)系如表。被選中的寄存器稱為被選中的寄存器稱為當(dāng)前寄存器當(dāng)前寄存器。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 位位 序序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位標位標志志

34、CYACF0RS1RS0OV/PGOV(PSW.2):溢出標志。執(zhí)行算術(shù)指令時,由硬件置位或清零,以指示執(zhí)行算術(shù)指令時,由硬件置位或清零,以指示溢出狀態(tài)。溢出狀態(tài)。在帶符號的加減運算中,在帶符號的加減運算中,OV=1表示加減運算的結(jié)果超出了累加器表示加減運算的結(jié)果超出了累加器A所能表所能表示的范圍示的范圍(-128+127),即產(chǎn)生溢出,因此運算結(jié)果錯誤;反之,即產(chǎn)生溢出,因此運算結(jié)果錯誤;反之OV=0,表,表示無溢出,運算結(jié)果正確。示無溢出,運算結(jié)果正確。在乘法運算中在乘法運算中OV=l表示乘積超過表示乘積超過255,溢出,否則,溢出,否則OV0。在除法運算中,在除法運算中,OV1表示被除數(shù)

35、為表示被除數(shù)為0,除法不能進行;反之,除法不能進行;反之OV=0,除法,除法可以正常進行??梢哉_M行。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 位位 序序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位標位標志志CYACF0RS1RS0OV/PG其中其中PSW.1位未使用。位未使用。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 位位 序序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位標位標志志CYACF0RS1RS0OV/PGP(PSW.0):奇偶標志位。用來表示累加器中用來表示累加器中

36、l的個數(shù)的奇的個數(shù)的奇偶性,在每個指令周期內(nèi)由硬件根據(jù)偶性,在每個指令周期內(nèi)由硬件根據(jù)A的內(nèi)容,對的內(nèi)容,對P進行進行置位或復(fù)位。置位或復(fù)位。若若P=0,表示,表示l的個數(shù)為偶數(shù);的個數(shù)為偶數(shù);若若P=1,表示,表示1的個數(shù)為奇數(shù)。的個數(shù)為奇數(shù)。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理三、三、時鐘電路及時鐘電路及CPU的工作時序的工作時序 時鐘電路用于產(chǎn)生單片機工作所需要的時鐘信號,而時序所研究的是指令執(zhí)行中各信號之間的相互關(guān)系。單片機本身就如一個復(fù)雜的同步時序電路,單片機本身就如一個復(fù)雜的同步時序電路,為了保證同步工作方式的實現(xiàn),電路應(yīng)為了保證同步工作方式的實現(xiàn),電路應(yīng)在

37、惟一的時鐘信號控制下嚴格地按時序在惟一的時鐘信號控制下嚴格地按時序進行工作。進行工作。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 1、時鐘電路 80C51單片機內(nèi)帶有時鐘電路,只需要在片外通過XTAL1和XTAL2引腳接入定時控制元件(晶體振蕩器和電容),即可構(gòu)成一個穩(wěn)定的自激振蕩器。在80C51芯片內(nèi)部有一個高增益反相放大器,而在芯片的外部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容。80C51單片機的時鐘電路如圖:第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 80C51單片機的時鐘電路第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 振

38、蕩器的結(jié)構(gòu)和振蕩電路原理第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 用晶振和電容構(gòu)成諧振電路。C1和C2雖然沒有嚴格要求,但電容的大小影響振蕩器振蕩的穩(wěn)定性和起振的快速性,通常選擇在1030 pF左右。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理2、時序定時單位時序定時單位80C51的時序定時單位共有4個,從小到大依次是: 節(jié)拍、狀態(tài)、機器周期和指令周期節(jié)拍、狀態(tài)、機器周期和指令周期。(1)節(jié)拍與狀態(tài)節(jié)拍與狀態(tài):一個狀態(tài)包含兩個節(jié)拍一個狀態(tài)包含兩個節(jié)拍,其前半周期對應(yīng)的節(jié)拍叫P1, 后半周期對應(yīng)的節(jié)拍叫P2第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)

39、與原理(2) 機器周期機器周期:規(guī)定一個機器周期的寬度為一個機器周期的寬度為6個狀個狀態(tài)態(tài),并依次表示為S1S6。由于一個狀態(tài)又包括兩個節(jié)拍,因此一個機器周期總共有一個機器周期總共有12個節(jié)拍個節(jié)拍,分別記作S1P1,S1P2,S6P2。由于一個機器周期共有12個振蕩脈沖周期,因此機器周期就是振蕩脈沖的12分頻。當(dāng)振蕩脈沖頻率為l2 MHz時,一個機器周期為1 s;當(dāng)振蕩脈沖頻率為6 MHz時,一個機器周期為2 s。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 (3) 指令周期指令周期:執(zhí)行一條指令所需要的時間稱為執(zhí)行一條指令所需要的時間稱為指令周期指令周期。它是最大的時序定時

40、單位。80C51的指令周期根據(jù)指令的不同,可包含有一、二、四個機器周期。 3、80C51指令時序指令時序 80C51共有111條指令,全部指令按其長度可分為單字節(jié)指令、雙字節(jié)指令和三字節(jié)指令。執(zhí)行這些指令所需要的機器周期數(shù)目是不同的,主要有以下幾種:第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 單字節(jié)單字節(jié) 單機器周期指令 雙機器周期指令 雙字節(jié)雙字節(jié) 單機器周期指令 雙機器周期指令 三字節(jié)三字節(jié)指令都是雙機器周期的 單字節(jié)乘除指令則均為四機器周期的單字節(jié)乘除指令則均為四機器周期的 下圖表示的是幾種典型單機器周期和雙機器周期指令的時序: 80C51的取指/執(zhí)行時序第第2章章 5

41、1系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 幾個典型指令的時序說明幾個典型指令的時序說明: (1)單字節(jié)單周期指令單字節(jié)單周期指令(例如例如INC A)由于是單字節(jié)指令,因此只需進行一次讀指令操作。當(dāng)?shù)诙€ALE有效時,由于PC沒有加1,所以讀出的還是原指令,屬于一次無效的操作。(2)雙字節(jié)單周期指令雙字節(jié)單周期指令(例如例如ADD A,#data)這種情況下對應(yīng)于ALE的兩次讀操作都是有效的,第一次是讀指令操作碼,第二次是讀指令第二字節(jié)(本例中是立即數(shù))。(3)單字節(jié)雙周期指令單字節(jié)雙周期指令(例如例如INC DPTR)兩個機器周期共進行四次讀指令的操作,但其中后三次的讀操作全是無效的。

42、第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理(4) 單字節(jié)雙周期指令單字節(jié)雙周期指令(MOVX類指令類指令)如前述每個機器周期內(nèi)有兩次讀指令操作,但MOVX類指令情況有所不同。因為執(zhí)行這類指令時,先在ROM讀取指令,然后對外部RAM進行讀/寫操作。第一機器周期時,第一機器周期時,與其它指令一樣,第一次讀指令(操作碼)有效,第二次讀指令操作無效。第二機器周期時,第二機器周期時,進行外部RAM訪問,此時與ALE信號無關(guān),因此不產(chǎn)生讀指令操作。 注意,時序圖中只表現(xiàn)了取指令操作的有關(guān)時注意,時序圖中只表現(xiàn)了取指令操作的有關(guān)時序,而沒有表現(xiàn)指令執(zhí)行的內(nèi)容。序,而沒有表現(xiàn)指令執(zhí)行的內(nèi)容。

43、第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理2.4存儲器結(jié)構(gòu)和地址空間存儲器結(jié)構(gòu)和地址空間 在80C51單片機中,不僅在片內(nèi)駐留了一定容量的程序存儲器程序存儲器和數(shù)據(jù)存儲器數(shù)據(jù)存儲器及眾多的特殊功能特殊功能寄存器寄存器,而且還具有極強的外部存儲器擴展能力,尋址范圍分別可達64 KB,尋址和操作簡單方便。80C5l內(nèi)部共有內(nèi)部共有256個數(shù)據(jù)存儲器字節(jié)單元,地址個數(shù)據(jù)存儲器字節(jié)單元,地址為為00HFFH,按其功能劃分為兩部分,低,按其功能劃分為兩部分,低128單元單元(地址地址00H7FH)和高和高128單元單元(地址地址80HFFH) 第第2章章 51系列單片機的結(jié)構(gòu)與原理系列

44、單片機的結(jié)構(gòu)與原理 80C51單片機存儲器映象圖第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理片內(nèi)數(shù)據(jù)存儲器低128單元按照功能不同,可分為工作寄存器區(qū)、位尋址區(qū)、用戶RAM區(qū)三個區(qū)域第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理一、一、程序存儲器程序存儲器(program memory)用于存放經(jīng)調(diào)試正確的應(yīng)用程序和表格之類的固定常數(shù)。由于采用16位的程序計數(shù)器PC和16位的地址總線,因而其可擴展的地址空間為64 KB,且這64 KB地址是空間連續(xù)、統(tǒng)一的。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理整個程序存儲器可以分為片內(nèi)和片外兩部分,CPU訪

45、問片內(nèi)和片外存儲器,可由EA引腳所接的電平來確定: EA引腳接高電平時引腳接高電平時,程序從片內(nèi)程序存儲器開始執(zhí)行,即訪問片內(nèi)存儲器;當(dāng)PC值超出片內(nèi)ROM容量時,會自動轉(zhuǎn)向片外程序存儲器空間執(zhí)行。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 EA引腳接低電平時引腳接低電平時,迫使系統(tǒng)全部執(zhí)行片外程序存儲器程序。 對于有片內(nèi)ROM的80C51/87C51單片機,正常運行時,應(yīng)將引腳接高電平。若把EA引腳接低電平,可用于調(diào)試狀態(tài),即將欲調(diào)試的程序設(shè)置在與片內(nèi)ROM空間重疊的片外存儲器內(nèi),CPU執(zhí)行片外存儲器程序進行調(diào)試。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理

46、 對于片內(nèi)無ROM的80C31/80C32單片機,應(yīng)將EA引腳固定接低電平,以迫使系統(tǒng)全部執(zhí)行片外程序存儲器程序。 不管從片內(nèi)或片外程序存儲器讀取不管從片內(nèi)或片外程序存儲器讀取指令,其操作速度是相同的。指令,其操作速度是相同的。 程序存儲器的某些單元被保留用于特定的程序存儲器的某些單元被保留用于特定的程序入口地址程序入口地址。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 系統(tǒng)復(fù)位后的系統(tǒng)復(fù)位后的PC地址為地址為0000H,,故系統(tǒng)從,故系統(tǒng)從0000H單元開始取指,執(zhí)行程序。單元開始取指,執(zhí)行程序。它是系統(tǒng)的啟動地址,一般在該單元設(shè)置一條無條件轉(zhuǎn)移指令,使之轉(zhuǎn)向用戶主程序處執(zhí)行

47、。因此,0000H0002H單元被保留用于初始化單元被保留用于初始化。 從0003H002BH單元被保留用于6個中斷源的中斷服務(wù)程序的入口地址,故有以下7個特定地址被保留:第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理計時器計時器T2/T2EX下降沿下降沿 002BH 在程序設(shè)計時,通常在這些中斷入口處設(shè)置無條件轉(zhuǎn)移指在程序設(shè)計時,通常在這些中斷入口處設(shè)置無條件轉(zhuǎn)移指令,使之轉(zhuǎn)向?qū)?yīng)的中斷服務(wù)程序段處執(zhí)行。令,使之轉(zhuǎn)向?qū)?yīng)的中斷服務(wù)程序段處執(zhí)行。操作操作入口地址入口地址復(fù)位復(fù)位0000H外部中斷外部中斷INT00003H定時中斷定時中斷T0000BH外部中斷外部中斷INT1001

48、3H定時中斷定時中斷T1001BH串行口中斷串行口中斷0023H第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理二、二、數(shù)據(jù)存儲器數(shù)據(jù)存儲器(data memory)由隨機存取存儲器由隨機存取存儲器RAM構(gòu)成,用來存放隨機數(shù)據(jù)。構(gòu)成,用來存放隨機數(shù)據(jù)。 在80C51單片機中,數(shù)據(jù)存儲器又分片內(nèi)數(shù)據(jù)存分片內(nèi)數(shù)據(jù)存儲器儲器(internal data memory)和片外數(shù)據(jù)存儲片外數(shù)據(jù)存儲器器(enternal data memory)兩部分。 片內(nèi)數(shù)據(jù)存儲器片內(nèi)數(shù)據(jù)存儲器(IRAM)最高地址只有最高地址只有8位,因而位,因而最大尋址范圍為最大尋址范圍為256個字節(jié)個字節(jié)。第第2章章

49、 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 在80C51單片機中,設(shè)置有一個專門的數(shù)據(jù)存儲器的地址指示器數(shù)據(jù)指針數(shù)據(jù)指針DPTR,用,用于訪問片外數(shù)據(jù)存儲器(于訪問片外數(shù)據(jù)存儲器(ERAM)。數(shù)據(jù)指針DPTR也是16位的寄存器,這樣,就使80C51單片機具有64 KB的數(shù)據(jù)存儲器擴展能力。1 1、片內(nèi)數(shù)據(jù)存儲器、片內(nèi)數(shù)據(jù)存儲器 是最靈活的地址空間。它在物理上又分成兩個獨立的功能不同的區(qū)。第第2章章 51系列單片機的結(jié)構(gòu)與原系列單片機的結(jié)構(gòu)與原理理 片內(nèi)數(shù)據(jù)片內(nèi)數(shù)據(jù)RAM區(qū)區(qū):對80C51型單片機,為地址空間的低128 B; 對80C52型單片機,為地址空間的0255 B。 特殊功能寄存

50、器特殊功能寄存器SFR區(qū)區(qū):地址空間的高128 B。 對于80C52型單片機,高128 B的RAM區(qū)和SFR區(qū)的地址空間是重疊的。究竟是訪問哪一個區(qū)是通過不同的尋址方式來加以區(qū)別,即訪訪問高問高128 B RAM區(qū)時,選用間接尋址方式;訪區(qū)時,選用間接尋址方式;訪問問SFR區(qū),則應(yīng)選用直接尋址方式。區(qū),則應(yīng)選用直接尋址方式。 下圖為片內(nèi)數(shù)據(jù)存儲器各部分地址空間分布圖 第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 工作寄存器組 RS1 RS0 組號單元地址 0 0 0組(0體)00H-07H 0 11組(1體)08H-0

51、FH 1 02組(2體)10H-17H 1 13組(3體)18H-1FH第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理l用戶緩沖區(qū)(30H7FH)內(nèi)部RAM中地址為30H7FH的80個單元是用戶RAM區(qū),也是數(shù)據(jù)緩沖區(qū),以存儲單元的形式來使用,沒有任何規(guī)定或限制,通常用作堆棧區(qū)及存放用戶數(shù)據(jù)。l堆棧堆棧是一種數(shù)據(jù)結(jié)構(gòu),堆棧操作遵循先進后出的原則工作的連續(xù)存儲區(qū)域,即:先壓入堆棧的數(shù)據(jù),最后才能彈出。堆棧區(qū)域的一端固定,稱為棧底.另一端激活,稱為棧頂,并用堆棧指針寄存器SP存放棧頂?shù)刂稴P亦稱為堆棧指針,也叫堆棧指示器,總是指向棧頂。堆棧位于內(nèi)部RAM中地址為30H7FH的區(qū)域內(nèi)。

52、第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理堆棧的操作堆棧的操作:數(shù)據(jù)寫入堆棧稱入棧入棧或壓棧壓棧,對應(yīng)指令助記符為PUSH;數(shù)據(jù)從堆棧中讀出稱為出棧出?;驈棾鰪棾?,對應(yīng)指令的助記符為POP。堆棧的操作只能從棧頂進行,在堆棧為空時,SP指向棧底,當(dāng)有數(shù)據(jù)存入堆棧時,SP內(nèi)容加1,從堆棧取出數(shù)據(jù)時SP內(nèi)容減1,叫作下推堆棧。進棧操作進棧操作:先SP加l,后寫入數(shù)據(jù)。出棧操作出棧操作:先讀出數(shù)據(jù),后SP減1。系統(tǒng)復(fù)位后,SP的初始值為07H,使用堆棧實際上從08H地址開始,而堆棧一般是在內(nèi)部RAM的30H7FH單元中開辟,所以程序設(shè)計時應(yīng)注意把SP的初始值置為30H以后。第第2章章

53、 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理堆棧的類型:堆棧的類型:可分為向上生長型向上生長型和向下生長型向下生長型兩種。向上生長型向上生長型是指隨著數(shù)據(jù)的不斷入棧,棧頂?shù)刂凡粩嘣龃?,反之,隨著數(shù)據(jù)的不斷出棧,棧頂?shù)刂凡粩鄿p小;向下生長型向下生長型是指隨著數(shù)據(jù)的不斷入棧,棧頂?shù)刂凡粩鄿p小。反之,隨著數(shù)據(jù)的不斷出棧,棧頂?shù)刂凡粩嘣龃?。第?章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 特殊功能寄存器特殊功能寄存器SFR區(qū)區(qū) SFR(Specail Function Register)是80C51單片機中各功能部件所對應(yīng)的寄存器,用以存放相應(yīng)功能部件的控制命令、狀態(tài)或數(shù)據(jù)的區(qū)域。這

54、是80C51系列單片機中最有特色的部分?,F(xiàn)在所有80C51系列功能的增加和擴展幾乎都是通過增加特殊功能寄存器來達到的。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 80C51系列單片機設(shè)有128 B片內(nèi)數(shù)據(jù)RAM結(jié)構(gòu)的特殊功能寄存器空間區(qū)。除程序計數(shù)器PC和4個通用工作寄存器組外,其余所有的寄存器都在這個地址空間之內(nèi)。 80C51共定義了21個特殊功能寄存器,其名稱和字節(jié)地址列于表中。在80C52中,除上述80C51的21個之外,還增加了5個特殊功能寄存器,共計26個。除此而外,其它地址訪問無效。 第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 特特殊殊功功能能寄

55、寄存存器器名名稱稱和和地地址址表表標標 識識 符符寄存器名稱寄存器名稱地地 址址是否可是否可位位尋址尋址A累加器累加器0E0HBB寄存器寄存器0F0HPSW程序狀態(tài)寄存器程序狀態(tài)寄存器0D0HSP堆棧指針堆棧指針81HDPH數(shù)據(jù)地址指針(高位字節(jié))數(shù)據(jù)地址指針(高位字節(jié))83HDPL數(shù)據(jù)地址指針(低位字節(jié))數(shù)據(jù)地址指針(低位字節(jié))82HP0P0口口80HP1P1口口90HP2P2口口0A0HP3P3口口0B0H第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 特特殊殊功功能能寄寄存存器器名名稱稱和和地地址址表表標標 識識 符符寄存器名稱寄存器名稱地地 址址 是否可位是否可位尋址尋址

56、IP中斷優(yōu)先級控制中斷優(yōu)先級控制0B8HIE允許中斷控制允許中斷控制0A8HTMOD定時定時/計數(shù)器方式控制計數(shù)器方式控制89HTCON定時定時/計數(shù)器控制計數(shù)器控制88HTH0定時定時/計數(shù)器計數(shù)器0(高位字節(jié))(高位字節(jié))8CHTL0定時定時/計數(shù)器計數(shù)器0(低位字節(jié))(低位字節(jié))8AHTH1定時定時/計數(shù)器計數(shù)器1(高位字節(jié))(高位字節(jié))8DHTL1定時定時/計數(shù)器計數(shù)器1(低位字節(jié))(低位字節(jié))8BHSCON串行口控制串行口控制98HSBUF串行數(shù)據(jù)緩沖器串行數(shù)據(jù)緩沖器99HPCON電源控制電源控制97H第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 T2CON定時器/計

57、數(shù)器2控制0C8H 0C8H0CFH TH2 定時器/計數(shù)器2(高位字節(jié)) 0CDH TL2 定時器/計數(shù)器2(低位字節(jié)) 0CCH RCAP2H定時器/計數(shù)器2自動再裝載(高位字節(jié)) 0CBH RCAP2H定時器/計數(shù)器2自動再裝載(低位字節(jié)) 0CAH從表中可以看出,在從表中可以看出,在128 B空間中存在著大片的空白,空間中存在著大片的空白,這為這為80C51系列功能的增加提供了極大的可能性。系列功能的增加提供了極大的可能性。 第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 2、片外數(shù)據(jù)存儲器片外數(shù)據(jù)存儲器 片外數(shù)據(jù)存儲器是在外部存放數(shù)據(jù)的區(qū)域,用寄存器間接尋址的方法訪問,

58、所用的寄存器為DPTR、R1或R0。當(dāng)用R1、R0尋址時,由于R0、R1為8位寄存器,因此最大尋址范圍為256 B;當(dāng)用DPTR尋址時,由于DPTR為16位寄存器,因此最大尋址范圍為64 KB。 第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理2.5 布爾布爾(位位)處理器處理器 在80C51單片機系統(tǒng)中,特別設(shè)置了一個結(jié)構(gòu)完整、功能極強的布爾(位)處理器。在位處理器系統(tǒng)中,除了程序存儲器和ALU與字節(jié)處理器合用之外,還有自己的如下設(shè)置:1、在位處理中的累加器在位處理中的累加器CY:借用進位標志位。在布爾運算中,CY是數(shù)據(jù)源之一,又是運算結(jié)果的存放處,位數(shù)據(jù)傳送的中心。根據(jù)CY的狀

59、態(tài),程序轉(zhuǎn)移:JC rel、JNC rel、JBC bit rel(檢測bit為1,清0該bit為然后轉(zhuǎn)移到rel。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理2、位尋址的、位尋址的RAM :RAM區(qū)中的0127位(包含在20H2FH單元內(nèi))。 3、位尋址的寄存器、位尋址的寄存器:特殊功能寄存器(SFR)中的可以位尋址的位。4、位尋址的并行、位尋址的并行I/O口口:并行I/O口中的可以位尋址的位。5、位操作指令系統(tǒng)、位操作指令系統(tǒng):位操作指令可實現(xiàn)對位的置位、清0、取反、位狀態(tài)判跳轉(zhuǎn)、傳送、位邏輯運算、位輸入/輸出等操作。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與

60、原理2.6 80C51單片機的工作方式單片機的工作方式 共有四種工作方式:復(fù)位、程序執(zhí)行、低功耗、復(fù)位、程序執(zhí)行、低功耗、編程和校驗編程和校驗。一、復(fù)位方式一、復(fù)位方式 1、復(fù)位操作、復(fù)位操作 復(fù)位是單片機的初始化操作,其主要功能是把PC初始化為0000H,使單片機從0000H單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當(dāng)由于程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需按復(fù)位鍵以重新啟動。第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理 2、復(fù)位信號及其產(chǎn)生、復(fù)位信號及其產(chǎn)生(1)復(fù)位信號第第2章章 51系列單片機的結(jié)構(gòu)與原理系列單片機的結(jié)構(gòu)與原理(2) 復(fù)位方

溫馨提示

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

評論

0/150

提交評論