第二章 單片微機(jī)的基本結(jié)構(gòu)_第1頁(yè)
第二章 單片微機(jī)的基本結(jié)構(gòu)_第2頁(yè)
第二章 單片微機(jī)的基本結(jié)構(gòu)_第3頁(yè)
第二章 單片微機(jī)的基本結(jié)構(gòu)_第4頁(yè)
第二章 單片微機(jī)的基本結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩129頁(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)介

第二章單片微機(jī)的基本結(jié)構(gòu)第1頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月2.180C51單片微機(jī)的內(nèi)部結(jié)構(gòu)2.280C51單片微機(jī)的引腳及其功能2.3

80C51CPU的結(jié)構(gòu)和特點(diǎn)2.4存儲(chǔ)器結(jié)構(gòu)和地址空間2.5并行輸入/輸出端口2.6布爾(位)處理器2.780C51單片微機(jī)的工作方式

第2頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月中央處理器CPU(算術(shù)邏輯部件ALU、控制器等)只讀存儲(chǔ)器ROM隨機(jī)存取存儲(chǔ)器RAM定時(shí)器/計(jì)數(shù)器并行I/O口P0~P3、串行口中斷系統(tǒng)以及定時(shí)控制邏輯電路等。

2.180C51單片微機(jī)的內(nèi)部結(jié)構(gòu)

80C51內(nèi)部結(jié)構(gòu)如圖2-1所示包括第3頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月1.中央處理器

運(yùn)算器控制器CPU算術(shù)邏輯運(yùn)算部件ALU寄存器(8位)ACC--累加器BPSW—程序狀態(tài)字寄存器運(yùn)算器PSW(D0H)CYACF0RS1RS0OVF1PPC---程序計(jì)數(shù)器(16位)SP---堆棧指針(8位)DPTR---數(shù)據(jù)指針(16位)指令寄存器、譯碼、定時(shí)控制等控制器第4頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

2.程序存儲(chǔ)器

內(nèi)部沒(méi)有程序存儲(chǔ)器的稱(chēng)80C31(片外ROM)內(nèi)部帶ROM的稱(chēng)80C51(掩膜ROM)內(nèi)部以EPROM代替ROM的稱(chēng)87C51(紫外線(xiàn)擦除)內(nèi)部以EEPROM(電可擦除,Flash單片微機(jī),如89C51)第5頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月3.數(shù)據(jù)存儲(chǔ)器(RAM)典型51的內(nèi)部RAM是128字節(jié)(一般稱(chēng)為寄存器)當(dāng)內(nèi)部RAM容量不夠時(shí),還可通過(guò)串行總線(xiàn)或并行總線(xiàn)外擴(kuò)數(shù)據(jù)存儲(chǔ)器。第6頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

4.并行I/O口

數(shù)據(jù)線(xiàn)、地址線(xiàn)、控制線(xiàn)、連接外設(shè)等。單片微機(jī)I/O引腳的驅(qū)動(dòng)能力也逐漸增大,甚至可以直接驅(qū)動(dòng)外擴(kuò)的LED顯示器。

第7頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月5.串行I/O口全雙工串行I/O口,實(shí)現(xiàn)串行通信;也可與多個(gè)單片微機(jī)相連構(gòu)成多機(jī)系統(tǒng)。拓寬:有些型號(hào)的單片微機(jī)內(nèi)部還包含有兩個(gè)串行I/O口。

。

第8頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

6.定時(shí)器/計(jì)數(shù)器80C51共有兩個(gè)16位的定時(shí)器/計(jì)數(shù)器;80C52則有三個(gè)16位的定時(shí)器/計(jì)數(shù)器。

第9頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月7.中斷系統(tǒng)

80C51的中斷功能較強(qiáng),具有內(nèi)、外共五個(gè)中斷源,兩個(gè)中斷優(yōu)先級(jí)。

8.時(shí)序電路及元件

計(jì)算機(jī)的整個(gè)工作是在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,按照嚴(yán)格的時(shí)序有規(guī)律地一個(gè)節(jié)拍一個(gè)節(jié)拍地執(zhí)行各種操作。單片微機(jī)內(nèi)部設(shè)有定時(shí)電路,只需外接振蕩元件即可工作。第10頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月8位CPU;4K內(nèi)部ROM;128字節(jié)內(nèi)部RAM;尋址空間:64KROM64KRAM;32位I/O口線(xiàn);2個(gè)16位T/C;一個(gè)全雙工串行口;5個(gè)中斷源80C51單片機(jī)資源:第11頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

80C51/80C52的封裝及邏輯圖如圖2-2所示。

2.280C51單片微機(jī)的引腳及其功能

第12頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月按引腳的功能可分為三部分:

1.電源和晶振:

·Vcc——運(yùn)行和程序校驗(yàn)時(shí)接電源正端。

·Vss——接地。

·XTAL1——輸入到單片微機(jī)內(nèi)部振蕩器的反相放大器。

·XTAL2——反相放大器的輸出,輸入到內(nèi)部時(shí)鐘發(fā)生器。電源、晶振I/O口控制線(xiàn)第13頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月2.I/O:·P0——8位、漏極開(kāi)路的雙向I/O口。

當(dāng)使用片外存儲(chǔ)器(ROM及RAM)時(shí),作低八位地址和數(shù)據(jù)總線(xiàn)分時(shí)復(fù)用。P0口(作為總線(xiàn)時(shí))能驅(qū)動(dòng)8個(gè)LSTTL負(fù)載?!さ?4頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月2.I/O:·P1——8位、準(zhǔn)雙向I/O口。在編程/校驗(yàn)期間,用做輸入低位字節(jié)地址。P1口可以驅(qū)動(dòng)4個(gè)LSTTL負(fù)載。對(duì)于80C52,P1.0——T2,是定時(shí)器2的計(jì)數(shù)輸入端; P1.1——T2EX,是定時(shí)器2的外部輸入端。 讀兩個(gè)特殊引腳的輸出鎖存器時(shí)應(yīng)由程序置1。第15頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月·P2——8位、準(zhǔn)雙向I/O口。

當(dāng)使用片外存儲(chǔ)器(ROM及RAM)時(shí),輸出高8位地址。 在編程/校驗(yàn)期間,接收高位字節(jié)地址。 P2口可以驅(qū)動(dòng)4個(gè)LSTTL負(fù)載。第16頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月·P3——8位、準(zhǔn)雙向I/O口,具有內(nèi)部上拉電路。

P3提供各種替代功能。P3口可以輸入/輸出4個(gè)LSTTL負(fù)載?!ご锌冢篜3.0——RXD串行輸入口。P3.1——TXD串行輸出口。中斷:P3.2——外部中斷0輸入。P3.3——外部中斷1輸入。第17頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月··定時(shí)器/計(jì)數(shù)器:P3.4——定時(shí)器/計(jì)數(shù)器T0的外部輸入。P3.5——定時(shí)器/計(jì)數(shù)器T1的外部輸入。·數(shù)據(jù)存儲(chǔ)器選通:P3.6——WR低電平有效,輸出,片外數(shù)據(jù)存儲(chǔ)器寫(xiě)選通。P3.7——RD低電平有效,輸出,片外數(shù)據(jù)存儲(chǔ)器讀選通。第18頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月3.控制線(xiàn):共4根。·RST——復(fù)位輸入信號(hào),高電平有效。在振蕩器工作時(shí),在RST上作用兩個(gè)機(jī)器周期以上的高電平,將器件復(fù)位。·EA/Vpp——片外程序存儲(chǔ)器訪(fǎng)問(wèn)允許信號(hào),低電平有效。EA=1,選擇片內(nèi)程序存儲(chǔ)器(80C51為4KB,80C52為8KB);EA=0,則程序存儲(chǔ)器全部在片外而不管片內(nèi)是否有程序存儲(chǔ)器?!さ?9頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月3.控制線(xiàn):共4根?!ぁLE/PROG——地址鎖存允許信號(hào),輸出。

在訪(fǎng)問(wèn)片外存儲(chǔ)器或I/O時(shí),用于鎖存低八位地址,以實(shí)現(xiàn)低八位地址與數(shù)據(jù)的隔離。PSEN

——片外程序存儲(chǔ)器讀選通信號(hào),低電平有效。在從片外程序存儲(chǔ)器取指期間,在每個(gè)機(jī)器周期中,當(dāng)有效時(shí),程序存儲(chǔ)器的內(nèi)容被送上P0口(數(shù)據(jù)總線(xiàn))。可以驅(qū)動(dòng)8個(gè)LSTTL負(fù)載。第20頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

中央處理器CPU是單片微機(jī)內(nèi)部的核心部件,主要包括控制器運(yùn)算器工作寄存器時(shí)序電路等2.3

80C51CPU的結(jié)構(gòu)和特點(diǎn)

第21頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

控制器包括:程序計(jì)數(shù)器PC、程序地址寄存器、指令寄存器IR、指令譯碼器、條件轉(zhuǎn)移邏輯電路及定時(shí)控制邏輯電路。功能:是控制指令的讀出、譯碼和執(zhí)行,對(duì)指令的執(zhí)行過(guò)程進(jìn)行定時(shí)控制,并根據(jù)執(zhí)行結(jié)果決定是否分支轉(zhuǎn)移。2.3.1中央控制器第22頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月1.程序計(jì)數(shù)器PC

一個(gè)獨(dú)立的16位計(jì)數(shù)器,不屬于內(nèi)部的特殊功能寄存器。PC中存放的是下一條將要從程序存儲(chǔ)器中取出的指令的地址。工作過(guò)程:根據(jù)PC的值 到ROM對(duì)應(yīng)取指令代碼,同時(shí)PC值自動(dòng)加1,指向下一條指令地址。

第23頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月2.數(shù)據(jù)指針DPTR

DPTR是一個(gè)16位的特殊功能寄存器

主要功能:(1)作為片外數(shù)據(jù)存儲(chǔ)器或I/O尋址用的地址寄存器(間接尋址),故稱(chēng)為數(shù)據(jù)存儲(chǔ)器地址指針。訪(fǎng)問(wèn)片外數(shù)據(jù)存儲(chǔ)器或I/O的指令為:MOVXA,@DPTR讀MOVX@DPTR,A寫(xiě)第24頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月(2)作為訪(fǎng)問(wèn)程序存儲(chǔ)器時(shí)的基址寄存器。這時(shí)尋址程序存儲(chǔ)器中的表格、常數(shù)等單元,而不是尋址指令。MOVC A,@A+DPTRJMP @A+DPTR

(3)可以作為兩個(gè)8位寄存器處理,其高8位用DPH表示,低8位用DPL表示。第25頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

⑴兩者都是與地址有關(guān)的16位的寄存器。PC與程序存儲(chǔ)器的地址有關(guān),而DPTR與數(shù)據(jù)存儲(chǔ)器的地址有關(guān),都是通過(guò)P0和P2口輸出的。PC的輸出與PSEN、ALE信號(hào)有關(guān);DPTR的輸出,則與ALE、WR、RD信號(hào)有關(guān)。

程序計(jì)數(shù)器PC與數(shù)據(jù)指針DPTR區(qū)別:第26頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月程序計(jì)數(shù)器PC與數(shù)據(jù)指針DPTR區(qū)別:⑵

PC只能作為16位寄存器對(duì)待。PC是不可以訪(fǎng)問(wèn)的,它不屬于特殊功能寄存器,有自己獨(dú)特的變化方式。DPTR可以作為16位寄存器,也可以作為兩個(gè)8位寄存器,DPTR是可以訪(fǎng)問(wèn)的,DPL和DPH都位于特殊功能寄存器區(qū)中。

第27頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

指令寄存器IR是用來(lái)存放指令操作碼的專(zhuān)用寄存器。執(zhí)行程序時(shí),首先進(jìn)行程序存儲(chǔ)器的讀操作,也就是根據(jù)程序計(jì)數(shù)器給出的地址從程序存儲(chǔ)器中取出指令,送指令寄存器IR,IR的輸出送指令譯碼器;然后由指令譯碼器對(duì)該指令進(jìn)行譯碼,譯碼結(jié)果送定時(shí)控制邏輯電路,如圖2-4所示。

3.指令寄存器IR、指令譯碼器及控制邏輯第28頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月定時(shí)控制邏輯電路則根據(jù)指令的性質(zhì)發(fā)出一系列定時(shí)控制信號(hào),控制計(jì)算機(jī)的各組成部件進(jìn)行相應(yīng)的工作,執(zhí)行指令。3.指令寄存器IR、指令譯碼器及控制邏輯

條件轉(zhuǎn)移邏輯電路主要用來(lái)控制程序的分支轉(zhuǎn)移。在80C51中,轉(zhuǎn)移條件也可分為兩部分。一部分是內(nèi)部條件,即程序狀態(tài)標(biāo)志位(PSW)和累加器的零狀態(tài)。另一部分是外部條件,即F0和所有位尋址空間的狀態(tài)。第29頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月運(yùn)算器主要用來(lái)實(shí)現(xiàn)對(duì)操作數(shù)的算術(shù)、邏輯運(yùn)算和位操作的。

運(yùn)算器主要包括:算術(shù)邏輯運(yùn)算單元ALU、累加器ACC(A)、暫存寄存器、B寄存器、程序狀態(tài)標(biāo)志寄存器PSW以及BCD碼運(yùn)算修正電路等。

2.3.2運(yùn)算器第30頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月ALU有兩個(gè)輸入:

⑴通過(guò)暫存器1的輸入:輸入數(shù)據(jù)來(lái)自寄存器、直接尋址單元(含I/O口)、內(nèi)部RAM、寄存器B或是立即數(shù)。⑵通過(guò)暫存器2或累加器ACC的輸入:通過(guò)暫存器2的運(yùn)算的指令有ANLdirect, #dataORLdirect,#dataXRLdirect, #data1、ALU第31頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月ALU有兩個(gè)輸出:

⑴數(shù)據(jù)經(jīng)過(guò)運(yùn)算后,其結(jié)果又通過(guò)內(nèi)部總線(xiàn)送回到累加器中;⑵數(shù)據(jù)運(yùn)算后產(chǎn)生的標(biāo)志位輸出至程序狀態(tài)字PSW。

第32頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月2.

累加器A一個(gè)八位專(zhuān)用寄存器,簡(jiǎn)稱(chēng)ACC或A寄存器。主要功能:累加器A存放操作數(shù),是ALU單元的輸入之一,也是ALU運(yùn)算結(jié)果的暫存單元。第33頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月3.B寄存器

B寄存器在乘法和除法指令中作為ALU的輸入之一。

乘法中,ALU的兩個(gè)輸入分別為A、B,運(yùn)算結(jié)果存放在A(yíng)B寄存器中。其中:A中放積的低8位,B中放積的高8位。除法中,被除數(shù)取自A,除數(shù)取自B,商數(shù)存放于A(yíng),余數(shù)存放于B。

第34頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

4.程序狀態(tài)字PSW

是一個(gè)8位寄存器,其內(nèi)容的主要部分是算術(shù)邏輯運(yùn)算單元(ALU)的輸出。CYACF0RS1RS0OV-P其中:PSW.1(保留位)、RS1和RS0、用戶(hù)標(biāo)志F0可用軟件設(shè)定;奇偶校驗(yàn)位P、溢出標(biāo)志位OV、輔助進(jìn)位標(biāo)志位AC及進(jìn)位標(biāo)志位CY都是ALU運(yùn)算結(jié)果的直接輸出。

第35頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

P(PSW.0)-奇偶標(biāo)志位。

用以表示累加器A中1的個(gè)數(shù)的奇偶性:若累加器值為1的位數(shù)是奇數(shù),P置位(奇校驗(yàn));否則P清除(偶校驗(yàn))。第36頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月OV(PSW.2)-溢出標(biāo)志位。若以Ci表示位i向位i+l有進(jìn)位,則OV=C6⊕C7;當(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)算個(gè)結(jié)果正確。第37頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

對(duì)于MUL乘法,當(dāng)A、B兩個(gè)乘數(shù)的積超過(guò)255時(shí)OV置位;否則,OV=0。因此,若OV=0時(shí),只需從A寄存器中取積;若OV=1時(shí),則需從B、A寄存器對(duì)中取積。對(duì)于DIV除法,若除數(shù)為0時(shí),OV=1;否則,OV=0。

第38頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

RS1、RS0(PSW.4、PSW.3)-工作寄存器組選擇位

用于設(shè)定當(dāng)前工作寄存器的組號(hào)。工作寄存器共有四組,其對(duì)應(yīng)關(guān)系見(jiàn)表2–1

第39頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

AC(PSW.6)-輔助進(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)。第40頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

CY(PSW.7)-進(jìn)位標(biāo)志位。

在進(jìn)行算術(shù)運(yùn)算時(shí),可以被硬件置位或清除,以表示運(yùn)算結(jié)果中高位是否有進(jìn)位或借位。在布爾處理機(jī)中CY被認(rèn)為是位累加器C。

F0(PSW.5)-用戶(hù)標(biāo)志位。

開(kāi)機(jī)時(shí)該位為“0”。用戶(hù)可根據(jù)需要,通過(guò)位操作指令置“l(fā)”或者清“0”。第41頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月時(shí)鐘電路用于產(chǎn)生單片微機(jī)工作所需要的時(shí)鐘信號(hào),而時(shí)序所研究的是指令執(zhí)行中各信號(hào)之間的相互關(guān)系。2.3.3時(shí)鐘電路及CPU的工作時(shí)序

第42頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

1.

時(shí)鐘電路

在80C51內(nèi)帶有時(shí)鐘電路,只需要在片外通過(guò)XTALI和XTAL2引腳接入定時(shí)控制元件(晶體振蕩器和電容),即可構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。80C51的時(shí)鐘電路如圖2–6所示。第43頁(yè),課件共134頁(yè),創(chuàng)作于2023年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(P2)信號(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í)鐘。

第44頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

ALE信號(hào)

一般地說(shuō),狀態(tài)時(shí)鐘經(jīng)過(guò)3分頻之后,產(chǎn)生ALE引腳上的信號(hào)輸出。

第45頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月2﹒時(shí)序定時(shí)單位

80C51的時(shí)序定時(shí)單位共有4個(gè):節(jié)拍、狀態(tài)、機(jī)器周期和指令周期。(1)節(jié)拍P(振蕩周期)振蕩脈沖的周期稱(chēng)為節(jié)拍。(2)

狀態(tài)S(時(shí)鐘周期)一個(gè)狀態(tài)S包含兩個(gè)節(jié)拍,其前半周期對(duì)應(yīng)的節(jié)拍叫P1,后半周期對(duì)應(yīng)的節(jié)拍叫P2(3)

機(jī)器周期完成一個(gè)基本操作所需要的時(shí)間。第46頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月(3)

機(jī)器周期完成一個(gè)基本操作所需要的時(shí)間。機(jī)器周期是單片微機(jī)的最小時(shí)間單位。

當(dāng)振蕩脈沖頻率為12MHZ時(shí),一個(gè)機(jī)器周期為lμS;當(dāng)振蕩脈沖頻率為6MHZ時(shí),一個(gè)機(jī)器周期為2μS。第47頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月(4)

指令周期

執(zhí)行一條指令所需要的時(shí)間稱(chēng)為指令周期。80C51的指令周期根據(jù)指令的不同,可包含有一、二、三、四個(gè)機(jī)器周期。第48頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月牢牢記?。?/p>

振蕩周期=晶振頻率fosc的倒數(shù);狀態(tài)時(shí)鐘=晶振頻率的二分頻 1個(gè)機(jī)器周期=6個(gè)狀態(tài)周期 1個(gè)機(jī)器周期=12個(gè)振蕩周期; 1個(gè)指令周期=1、2、3、4個(gè)機(jī)器周期第49頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月3.80C51指令時(shí)序

80C51共有111條指令,全部指令按其長(zhǎng)度可分為單字節(jié)指令、雙字節(jié)指令和三字節(jié)指令。

第50頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

單片微機(jī)的存儲(chǔ)器有兩種基本結(jié)構(gòu):

普林斯頓(Princeton)結(jié)構(gòu):通用微機(jī)計(jì)算機(jī)

哈佛(Harvard)結(jié)構(gòu):Intel的MCS-51和80C51系列單片微機(jī)。

圖2–9為80C51單片微機(jī)存儲(chǔ)器映象圖。

2.4存儲(chǔ)器結(jié)構(gòu)和地址空間第51頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

在物理上設(shè)有4個(gè)存儲(chǔ)器空間

·程序存儲(chǔ)器: 片內(nèi)程序存儲(chǔ)器; 片外程序存儲(chǔ)器。

·數(shù)據(jù)存儲(chǔ)器: 片內(nèi)數(shù)據(jù)存儲(chǔ)器;

片外數(shù)據(jù)存儲(chǔ)器。第52頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

在邏輯上設(shè)有3個(gè)存儲(chǔ)器地址空間

·片內(nèi)、片外統(tǒng)一的64KB程序存儲(chǔ)器地址空間;·片內(nèi)256(80C52為384)B數(shù)據(jù)存儲(chǔ)器地址空間;·片外64KB的數(shù)據(jù)存儲(chǔ)器地址空間。 在訪(fǎng)問(wèn)這3個(gè)不同的邏輯空間時(shí),應(yīng)選用不同形式的指令。

第53頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

片內(nèi)數(shù)據(jù)存儲(chǔ)器空間,在物理上又包含兩部分:

對(duì)于80C51型單片微機(jī),從0~127B為片內(nèi)數(shù)據(jù)存儲(chǔ)器空間;從128~255B為特殊功能寄存器(SFR)空間(僅占用20多個(gè)字節(jié))。對(duì)于80C52型單片微機(jī),從0~127B為片內(nèi)數(shù)據(jù)存儲(chǔ)器空間;從128~255B共128個(gè)字節(jié)是數(shù)據(jù)存儲(chǔ)器和特殊功能寄存器地址重疊空間。

第54頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月80C51有三種基本的尋址空間:

·64KB的片內(nèi)、外程序存儲(chǔ)器尋址空間;·64KB的片外數(shù)據(jù)存儲(chǔ)器尋址空間;·256(或384)B的片內(nèi)數(shù)據(jù)存儲(chǔ)器尋址空間,其中包括特殊功能寄存器尋址空間。

第55頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

用于存放經(jīng)調(diào)試正確的應(yīng)用程序和表格之類(lèi)的固定常數(shù)。由于采用16位的程序計(jì)數(shù)器PC和16位的地址總線(xiàn),因而其可擴(kuò)展的地址空間為64KB。

2.4.l程序存儲(chǔ)器第56頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月⒈整個(gè)程序存儲(chǔ)器可以分為片內(nèi)和片外兩部分EA引腳接高電平時(shí),程序從片內(nèi)程序存儲(chǔ)器0000H開(kāi)始執(zhí)行,即訪(fǎng)問(wèn)片內(nèi)存儲(chǔ)器;當(dāng)PC值超出片內(nèi)ROM容量時(shí),會(huì)自動(dòng)轉(zhuǎn)向片外程序存儲(chǔ)器空間執(zhí)行。EA引腳接低電平時(shí),迫使系統(tǒng)全部執(zhí)行片外程序存儲(chǔ)器0000H開(kāi)始存放的程序。注意:對(duì)于片內(nèi)無(wú)ROM的80C31/80C32單片機(jī),應(yīng)將EA引腳固定接低電平,以迫使系統(tǒng)全部執(zhí)行片外程序存儲(chǔ)器程序。第57頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月EA=1(VCC5V),PC值大于某值(由容量決定)為訪(fǎng)問(wèn)外部程序存貯器;PC值小于某值為訪(fǎng)問(wèn)內(nèi)部程序存貯器。EA=0(VSS地),內(nèi)部程序存貯器被忽略。第58頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月⒉程序存儲(chǔ)器的某些單元被保留用于特定的程序入口地址

由于系統(tǒng)復(fù)位后的PC地址為0000H,故系統(tǒng)從0000H單元開(kāi)始取指,執(zhí)行程序。從0003H~002DH單元被保留用于6個(gè)中斷源的中斷服務(wù)程序的入口地址。第59頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月以下7個(gè)特定地址被保留:

復(fù)位 0000H外部中斷0 0003H計(jì)時(shí)器T0溢出 000BH外部中斷1 0013H計(jì)時(shí)器T1溢出 001BH串行口中斷 0023H計(jì)時(shí)器T2/T2EX 002BH在程序設(shè)計(jì)時(shí),通常在這些中斷入口處設(shè)置無(wú)條件轉(zhuǎn)移指令,使之轉(zhuǎn)向?qū)?yīng)的中斷服務(wù)程序段處執(zhí)行。第60頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月⒊片內(nèi)程序存儲(chǔ)器為只讀存儲(chǔ)器ROM

存儲(chǔ)器的類(lèi)型有:掩膜ROM、OTP(一次性編程)ROM和MTP(多次編程)ROM(包括EPROM及E2PROM等)。第61頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月用來(lái)存放隨機(jī)數(shù)據(jù)數(shù)據(jù)存儲(chǔ)器:片內(nèi)數(shù)據(jù)存儲(chǔ)器(internaldatamemory)和片外數(shù)據(jù)存儲(chǔ)器(externaldatamemory)兩部分。

片內(nèi)數(shù)據(jù)存儲(chǔ)器地址只有8位,因而最大尋址范圍為256個(gè)字節(jié)。

片外數(shù)據(jù)存儲(chǔ)器的地址指針DPTR,是16位的寄存器,可外擴(kuò)64KB的數(shù)據(jù)存儲(chǔ)器。2.4.2內(nèi)部數(shù)據(jù)存儲(chǔ)器

第62頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

片內(nèi)數(shù)據(jù)存儲(chǔ)器在物理上又分成兩個(gè)獨(dú)立的功能不同的區(qū):

·片內(nèi)數(shù)據(jù)RAM區(qū):對(duì)80C51,為地址空間的低128B;對(duì)80C52,為地址空間的0~255B。

·特殊功能寄存器SFR區(qū):地址空間的高128B。注意:對(duì)于80C52,高128B的RAM區(qū)和SFR區(qū)的地址空間是重疊的。究竟訪(fǎng)問(wèn)哪一個(gè)區(qū)是通過(guò)不同的尋址方式來(lái)加以區(qū)別,即訪(fǎng)問(wèn)高128BRAM區(qū)時(shí),選用間接尋址方式;訪(fǎng)問(wèn)SFR區(qū),則應(yīng)選用直接尋址方式。圖2-10為片內(nèi)數(shù)據(jù)存儲(chǔ)器的地址空間分布圖。第63頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月⒈片內(nèi)數(shù)據(jù)RAM區(qū)

⑴工作寄存器區(qū):用寄存器直接尋址的區(qū)域,指令的數(shù)量最多,均為單周期指令,執(zhí)行的速度最快。從圖2–10中可知,其中片內(nèi)數(shù)據(jù)RAM區(qū)的0~31(00H~1FH),共32個(gè)單元,是4個(gè)通用工作寄存器組(表2–l),每個(gè)組包含8個(gè)8位寄存器,編號(hào)為R0~R7。

第64頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月在某一時(shí)刻,只能選用一個(gè)寄存器組使用。其選擇是通過(guò)軟件對(duì)程序狀態(tài)字(PSW)中的RS0、RS1兩位的設(shè)置來(lái)實(shí)現(xiàn)的。設(shè)置RS0、RS1時(shí),可以對(duì)PSW字節(jié)尋址,也可以位尋址方式,間接或直接修改RS0、RS1的內(nèi)容。第65頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

⑵位尋址區(qū):

從片內(nèi)數(shù)據(jù)RAM區(qū)的32-47(20H-2FH)的16個(gè)字節(jié)單元,共包含128位,是可位尋址的RAM區(qū)。這16個(gè)字節(jié)單元,既可進(jìn)行字節(jié)尋址,又可位尋址。字節(jié)地址與位地址之間的關(guān)系見(jiàn)表2–2。第66頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

字節(jié)尋址區(qū):從片內(nèi)數(shù)據(jù)RAM區(qū)的48~127(30H~7FH),共80個(gè)字節(jié)單元,可以采用直接字節(jié)尋址的方法訪(fǎng)問(wèn)。對(duì)于80C52,還有高128B的數(shù)據(jù)RAM區(qū)。這一區(qū)域只能采用間接字節(jié)尋址的方法訪(fǎng)問(wèn)。

第67頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

堆棧區(qū)及堆棧指示器SP:堆棧是在片內(nèi)數(shù)據(jù)RAM區(qū)中,數(shù)據(jù)先進(jìn)后出或后進(jìn)先出的區(qū)域。堆棧指示器SP(stackpointer)存放當(dāng)前的堆棧棧頂?shù)刂?是一個(gè)8位寄存器。

堆棧是為子程序調(diào)用和中斷操作而設(shè)立的。其具體功能有兩個(gè):保護(hù)斷點(diǎn)和保護(hù)現(xiàn)場(chǎng)。第68頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

80C51的堆棧是向上堆棧,即進(jìn)棧時(shí)SP的內(nèi)容是增加的;出棧時(shí)SP的內(nèi)容是減少的。

系統(tǒng)復(fù)位后SP內(nèi)容為07H。通過(guò)軟件對(duì)SP的內(nèi)容重新定義,使堆棧區(qū)設(shè)定在片內(nèi)數(shù)據(jù)RAM區(qū)中的某一區(qū)域內(nèi),堆棧深度不能超過(guò)片內(nèi)RAM空間。第69頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月⒉特殊功能寄存器SFR區(qū)

用以存放相應(yīng)功能部件的控制命令、狀態(tài)或數(shù)據(jù)的區(qū)域。

80C51共定義了21個(gè)特殊功能寄存器,其名稱(chēng)和字節(jié)地址列于表2-3中。在80C52中,共計(jì)26個(gè)。訪(fǎng)問(wèn)其它地址無(wú)效。注意:字節(jié)地址中低位地址為0H或8H的特殊功能寄存器,除有字節(jié)尋址能力外,還有位尋址能力。這些特殊功能寄存器與位地址的對(duì)應(yīng)關(guān)系見(jiàn)表2-4。第70頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

在外部存放數(shù)據(jù)的區(qū)域,這一區(qū)域只能用寄存器間接尋址的方法訪(fǎng)問(wèn),所用的寄存器為DPTR、R1或R0。指令助記符為MOVX。

當(dāng)用R0、R1尋址時(shí),由于R0、R1為8位寄存器,因此最大尋址范圍為256B;當(dāng)用DPTR尋址時(shí),由于DPTR為16位寄存器,因此最大尋址范圍為64KB。2.4.3片外數(shù)據(jù)存儲(chǔ)區(qū)00H7FH80HFFH0000HFFFFH內(nèi)部WRRDSFR外部第71頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月80C51共有四個(gè)8位的并行雙向口,分別命名為P0、P1、P2和P3,每個(gè)端口皆有八位,計(jì)有32根輸入/輸出(I/O)口線(xiàn)。每一位均由鎖存器、輸出驅(qū)動(dòng)器和輸入緩沖器所組成。P0、P1、P2和P3端口的電路形式不同,其功能也不同。故各口的性質(zhì)和功能也就有了差異。它們之間的異同列于表2-5。2.5并行輸入/輸出端口第72頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

P0口是一個(gè)多功能的8位口,其字節(jié)訪(fǎng)問(wèn)地址為80H,位訪(fǎng)問(wèn)地址為80H~87H。2.5.1P0口1、地址/數(shù)據(jù)總線(xiàn)口在訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí),P0口是一個(gè)真正的雙向數(shù)據(jù)口,并分時(shí)送出地址的8位和送出(接收)相應(yīng)存儲(chǔ)單元的數(shù)據(jù)。2、I/O口第73頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月圖(a)是P0口的位結(jié)構(gòu)圖,它包括一個(gè)輸出鎖存器,兩個(gè)三態(tài)緩沖器,一個(gè)輸出驅(qū)動(dòng)電路和一個(gè)輸出控制電路。&MUX鎖存器DQCPQ讀鎖存器內(nèi)部總線(xiàn)寫(xiě)入讀引腳地址/數(shù)據(jù)控制vccP0.x(a)p0口電路邏輯第74頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

當(dāng)從P0口輸出地址或數(shù)據(jù)時(shí),控制信號(hào)應(yīng)為高電平1,模擬轉(zhuǎn)換開(kāi)關(guān)(MUX)把地址/數(shù)據(jù)信息經(jīng)反相器和下拉場(chǎng)效應(yīng)管接通,同時(shí)與門(mén)打開(kāi)。輸出的地址或數(shù)據(jù)既通過(guò)與門(mén)去驅(qū)動(dòng)上拉場(chǎng)效應(yīng)管,又通過(guò)反相器去驅(qū)動(dòng)下拉場(chǎng)效應(yīng)管。作地址/數(shù)據(jù)復(fù)用總線(xiàn)用第75頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月例如,若地址/數(shù)據(jù)信息為“0”,該“0”信號(hào)一方面通過(guò)與門(mén)使上拉場(chǎng)效應(yīng)管截止,另一方面經(jīng)反相器使下拉場(chǎng)效應(yīng)管導(dǎo)通,從而使引腳上輸出相應(yīng)的“0”信號(hào),反之,若地址/數(shù)據(jù)信息為“1”,將會(huì)使上拉場(chǎng)效應(yīng)管導(dǎo)通而下拉場(chǎng)效應(yīng)管截止,引腳上將出現(xiàn)相應(yīng)的“1”信號(hào)。作地址/數(shù)據(jù)復(fù)用總線(xiàn)用第76頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月在CPU向端口輸出數(shù)據(jù)時(shí),對(duì)應(yīng)的輸出控制信號(hào)應(yīng)為0,模擬轉(zhuǎn)換開(kāi)關(guān)將把輸出級(jí)與鎖存器Q端接通。同時(shí),因與門(mén)輸出為0,使上拉場(chǎng)效應(yīng)管處于截止?fàn)顟B(tài),因此輸出級(jí)是漏極開(kāi)路電路。這樣,當(dāng)寫(xiě)脈沖加在觸發(fā)器時(shí)針端CP上時(shí),則與內(nèi)部總線(xiàn)相連的D端數(shù)據(jù)取反后就出現(xiàn)在Q端,再經(jīng)場(chǎng)效應(yīng)管反相,在P0引腳上出現(xiàn)的數(shù)據(jù)正好是內(nèi)部總線(xiàn)的數(shù)據(jù)。

作I/O口使用第77頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月一般P0口的輸出級(jí)能驅(qū)動(dòng)8個(gè)LSTTL輸入,但對(duì)NMOS輸入而言,P0口做地址/數(shù)據(jù)總線(xiàn)口使用時(shí),不必外加提升電阻。而作一般I/O口使用時(shí),由于輸出驅(qū)動(dòng)電路工作于開(kāi)漏狀態(tài),故需外接上拉電阻。第78頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月當(dāng)P0口引腳上輸入數(shù)據(jù),此時(shí)上拉FET應(yīng)一直處于截止?fàn)顟B(tài)。引腳上的外部信號(hào)即加在下面一個(gè)三態(tài)緩沖器的輸入端,又加在下拉FET的漏極,假定在此之前曾輸出鎖存過(guò)數(shù)據(jù)0,則FET是導(dǎo)通的,這樣引腳上的電位就始終被鉗位在0電平,使輸入高電平無(wú)法讀入。因此作為一般I/O口使用時(shí),P0口是一個(gè)準(zhǔn)雙向口,即輸入數(shù)據(jù)時(shí),應(yīng)先向口寫(xiě)“1”,使兩個(gè)FET均截止,然后方可作高阻抗輸入。第79頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月但在P0口連接外部存儲(chǔ)器時(shí),由于訪(fǎng)問(wèn)外部存儲(chǔ)器期間,CPU會(huì)自動(dòng)向口0的鎖存器寫(xiě)入0FFH,所以,對(duì)用戶(hù)而言,P0口用作地址/數(shù)據(jù)總線(xiàn)時(shí),則是一個(gè)真正的雙向口。上面所述為數(shù)據(jù)由引腳輸入的情況,稱(chēng)為“讀引腳”操作。但在有些情況下,例如用一根口線(xiàn)去驅(qū)動(dòng)一個(gè)晶體管的基極,則向此口線(xiàn)寫(xiě)“1”時(shí),晶體管導(dǎo)通,并把引腳上的電平拉低,這時(shí)若從引腳上讀取數(shù)據(jù),會(huì)把此數(shù)據(jù)錯(cuò)讀為0。為了避免錯(cuò)讀引腳上電平的可能性,單片機(jī)中還提供了另一類(lèi)所謂“讀鎖存器”操作。第80頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月這類(lèi)操作的特點(diǎn)是:先讀口,隨之可對(duì)讀入的數(shù)據(jù)進(jìn)行修改,然后再寫(xiě)到端口上。例如執(zhí)行指令ORLP0,A時(shí),則先把P0上的內(nèi)容讀入CPU,然后與A累加器內(nèi)容按位進(jìn)行邏輯“或”操作,最后把“或”的結(jié)果送回P0口。能使單片機(jī)產(chǎn)生這種讀-修改-寫(xiě)操作的指令,其目的操作數(shù)一般為某I/O口或口的某一位,這些指令是:ANL,ORL,XRL,JBC,CPL,INC,DEC,DJNZ,MOVPX·Y,C,CLRPX·Y和SETBPX·Y等,它們的含義詳見(jiàn)指令系統(tǒng)一章的說(shuō)明。第81頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月綜上所述,P0口既可作地址/數(shù)據(jù)總線(xiàn)口,這時(shí)它是真正的雙向口,也可作通用I/O口,但只是一個(gè)準(zhǔn)雙向口。一般情況下,P0口已當(dāng)作地址/數(shù)據(jù)口使用時(shí),就不能再作通用I/O口使用。P2口的位結(jié)構(gòu)如圖(b)所示,它與P0口基本相同,只有輸出部分略有不同,在輸出FET的漏極接有上拉電阻,這種結(jié)構(gòu)不必外接上拉電阻就可驅(qū)動(dòng)任何MOS輸入電路,且能驅(qū)動(dòng)四個(gè)LSTTL輸入。P2口常用作外部存儲(chǔ)器的高八位地址口。當(dāng)不用作地址口時(shí),P2口亦可作通用I/O口,這時(shí)它也是一個(gè)準(zhǔn)雙向I/O口。

2.5.2、P2口第82頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

vccP2X地址(b)p2口電路邏輯MUX鎖存器DQCPQ讀鎖存器內(nèi)部總線(xiàn)寫(xiě)入讀引腳控制第83頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月(c)p1口電路邏輯鎖存器DQCPQ讀鎖存器內(nèi)部總線(xiàn)寫(xiě)入讀引腳vccP1XP1口的位結(jié)構(gòu)如圖(c)所示,它與P2口基本相同,只是少了一個(gè)轉(zhuǎn)換器(MUX)和一個(gè)反相器,且為使邏輯上的一致將鎖存器的Q與輸出FET相連。P1口常用作通用I/O口,它是一個(gè)標(biāo)準(zhǔn)的準(zhǔn)雙向口,即作輸入口使用時(shí)必須先給鎖存器置1。2.5.3P1口字節(jié)地址:90H,位地址:90H-97H第84頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月2.5.4、P3口P3口是一個(gè)雙功能口,第一功能和P2口一樣可作為通用I/O口。P3口工作于第二功能時(shí),各位的定義如下:P3·0RxD(串行輸入通道)P3·1TxD(串行輸出通道)P3·2INT0(外中斷0)P3·3INT1(外中斷1)P3·4T0(定時(shí)器0外部輸入)P3·5T1(定時(shí)器1外部輸入)P3·6WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)

第85頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月&鎖存器DQCPQ讀鎖存器內(nèi)部總線(xiàn)寫(xiě)入讀引腳第二輸出功能(d)p3口電路邏輯第二輸入功能vccP3.x第86頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

由(d)P3口位結(jié)構(gòu)可以看出,實(shí)現(xiàn)第一功能作通用I/O輸出口時(shí),選擇輸出功能端應(yīng)保持高電平,使與非門(mén)對(duì)鎖存器Q端是暢通的。同理,實(shí)現(xiàn)第二功能做專(zhuān)用信號(hào)輸出時(shí),則該位的鎖存器應(yīng)置1,使與非門(mén)對(duì)選擇輸出功能端是暢通的。對(duì)輸入而言,無(wú)論該位是作通用輸入口還是作第二功能輸入口,其輸出鎖存器和選擇輸出功能端都應(yīng)置1,即使FET截止。

由于所有口鎖存器在上電復(fù)位時(shí)均置為1,自然滿(mǎn)足了上述條件,所以用戶(hù)不必做任何工作,就可以直接使用P3口的第二功能。至于第一功能,應(yīng)在確信某一引腳第二功能提供的信號(hào)不用時(shí),該引腳才可作I/O線(xiàn)使用,使用方法同與一般準(zhǔn)雙向口相同。

第87頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月是一個(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ù)CY的狀態(tài)實(shí)現(xiàn)程序條件轉(zhuǎn)移:JCrel、JNCrel。2.6布爾(位)處理器第88頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月⑵位尋址的RAM:內(nèi)部RAM位尋址區(qū)中的0~127位(20H~2FH);⑶位尋址的寄存器:特殊功能寄存器(SFR)中的可以位尋址的位。⑷位尋址的I/O口:并行I/O口中的可以位尋址的位(如P1.0)。⑸位操作指令系統(tǒng):位操作指令可實(shí)現(xiàn)對(duì)位的置位、清0、取反、位狀態(tài)判跳、傳送、位邏輯運(yùn)算、位輸入/輸出等操作。第89頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

80C51單片微機(jī)共有復(fù)位、程序執(zhí)行、低功耗以及編程和校驗(yàn)四種工作方式。2.780C51單片微機(jī)的工作方式

第90頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月⒈復(fù)位操作

其主要功能是把PC初始化為0000H,使單片微機(jī)從0000H單元開(kāi)始執(zhí)行程序。當(dāng)由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),為擺脫困境,可以按復(fù)位鍵以重新啟動(dòng),也可以通過(guò)監(jiān)視定時(shí)器來(lái)強(qiáng)迫復(fù)位。除PC之外,復(fù)位操作還對(duì)其它一些特殊功能寄存器有影響,它們的復(fù)位狀態(tài)見(jiàn)表2–6。復(fù)位操作還對(duì)單片微機(jī)的個(gè)別引腳信號(hào)有影響。例如在復(fù)位期間,ALE和PSEN信號(hào)變?yōu)闊o(wú)效狀態(tài),即ALE=l,PSEN=l。2.7.1復(fù)位方式第91頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

⒉復(fù)位信號(hào)及其產(chǎn)生

⑴復(fù)位信號(hào)RST引腳是復(fù)位信號(hào)的輸入端。復(fù)位信號(hào)是高電平有效,其有效時(shí)間應(yīng)持續(xù)24個(gè)振蕩周期(即2個(gè)機(jī)器周期)以上。若使用頻率為6MHz的晶振,則復(fù)位信號(hào)應(yīng)持續(xù)4μs以上。產(chǎn)生復(fù)位信號(hào)的電路邏輯圖如圖2-15所示。第92頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月整個(gè)復(fù)位電路包括芯片內(nèi)、外兩部分。外部電路產(chǎn)生的復(fù)位信號(hào)(RST)送施密特觸發(fā)器,再由片內(nèi)復(fù)位電路在每個(gè)機(jī)器周期的S5P2時(shí)刻對(duì)施密特觸發(fā)器的輸出進(jìn)行采樣,然后才能得到內(nèi)部復(fù)位操作所需要的信號(hào)。復(fù)位操作有上電自動(dòng)復(fù)位、按鍵電平復(fù)位和外部脈沖復(fù)位三種方式,示于圖2-16中第93頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

程序執(zhí)行方式是單片微機(jī)的基本工作方式。由于復(fù)位后PC=0000H,因此,程序執(zhí)行總是從0000H開(kāi)始的。一般在0000H開(kāi)始的單元中存放一條無(wú)條件轉(zhuǎn)移指令,以便跳轉(zhuǎn)到實(shí)際主程序的入口去執(zhí)行。比如: ORG 0000H SJMP MAIN ;轉(zhuǎn)主程序

2.7.2程序執(zhí)行方式第94頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月 80C51有兩種低功耗方式,即待機(jī)方式和掉電保護(hù)方式。待機(jī)方式和掉電保護(hù)方式時(shí)涉及的硬件如圖2-17所示。 待機(jī)方式和掉電保護(hù)方式都是由電源控制寄存器(PCON)的有關(guān)位來(lái)控制的。2.7.3低功耗工作方式第95頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月

其中: SMOD:波特率倍增位,在串行通訊時(shí)使用。GF1、GF0:通信標(biāo)志位1、0。PD:掉電方位式,PD=1,則進(jìn)入掉電方式。 IDL:待機(jī)方式位,IDL=1,則進(jìn)入待機(jī)方式。若PD和IDL同時(shí)為1,則先激活掉電方式。SMOD

---GF1GF0PDIDL電源控制寄存器格式如下:第96頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月⒈待機(jī)(休閑)方式⑶待機(jī)(休閑)狀態(tài)退出①產(chǎn)生中斷;②復(fù)位。⑴待機(jī)(休閑)方式狀態(tài)圖2-17●片內(nèi)時(shí)鐘僅向中斷源提供,其余被阻斷;●

PC、特殊功能寄存器和片內(nèi)RAM狀態(tài)保持不變;●

I/O引腳端口值保持原邏輯值;●

ALE、保持邏輯高電平;●CPU不工作,但中斷功能繼續(xù)存在。⑵待機(jī)(休閑)狀態(tài)進(jìn)入

只要使PCON中IDL位置1。第97頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月⒉掉電保護(hù)方式⑶掉電保護(hù)狀態(tài)退出⑴掉電保護(hù)方式狀態(tài)表2-7●片內(nèi)振蕩器停振,所有功能部件停止工作;●片內(nèi)RAM數(shù)據(jù)信息保存不變;●

ALE、PSEN為低電平;●

Vcc可降至2V,但不能真正掉電。⑵掉電保護(hù)狀態(tài)進(jìn)入只要使PCON中PD位置1。唯一方法是硬件復(fù)位,復(fù)位后片內(nèi)RAM數(shù)據(jù)不變,特殊功能寄存器內(nèi)容按復(fù)位狀態(tài)初始化。第98頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月51單片機(jī)的8個(gè)特殊引腳Vcc,GND:電源端XTAL1,XTAL2:片內(nèi)振蕩電路輸入、輸出端RESET:復(fù)位端正脈沖有效(寬度

8mS)EA/Vpp:尋址外部ROM控制端。低有效片內(nèi)有ROM時(shí)應(yīng)當(dāng)接高電平。ALE/PROG:地址鎖存允許控制端。PSEN:選通外部ROM的讀(OE)控制端。低有效

小結(jié)第99頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月51單片機(jī)的4個(gè)8位的I/O口P0.0—P0.7:8位數(shù)據(jù)口和輸出低8位地址復(fù)用口(復(fù)用時(shí)是雙向口;不復(fù)用時(shí)也是準(zhǔn)雙向口)P1.0—P1.7:通用I/O口(準(zhǔn)雙向口)P2.0—P2.7:輸出高8位地址(用于尋址時(shí)是輸出口;不尋址時(shí)是準(zhǔn)雙向口)P3.0—P3.7:具有特定的第二功能(準(zhǔn)雙向口)注意:在不外擴(kuò)ROM/RAM時(shí),P0~P3均可作通用I/O口使用,而且都是準(zhǔn)雙向I/O口(例如:AT89C51)!小結(jié)第100頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月P3口第二功能表引腳第二功能P3.0RxD:串行口接收數(shù)據(jù)輸入端P3.1TxD:串行口發(fā)送數(shù)據(jù)輸出端P3.2INT0:外部中斷申請(qǐng)輸入端0P3.3INT1:外部中斷申請(qǐng)輸入端1P3.4T0:外部計(jì)數(shù)脈沖輸入端0P3.5T1:外部計(jì)數(shù)脈沖輸入端1P3.6WR:寫(xiě)外設(shè)控制信號(hào)輸出端P3.7RD:讀外設(shè)控制信號(hào)輸出端小結(jié)第101頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月PC與SFR復(fù)位狀態(tài)表寄存器復(fù)位狀態(tài)寄存器復(fù)位狀態(tài)PC0000HTCON00HA00HT2CON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0-P3FFHSCON00HIPXX000000BSBUFXXHIE0X000000BPCON0XXX0000BTMOD00H

回顧第102頁(yè),課件共134頁(yè),創(chuàng)作于2023年2月89C51單片機(jī)存儲(chǔ)器配置片內(nèi)RAM128字節(jié)(00H—7FH);片內(nèi)RAM前32個(gè)單元是工作寄存器區(qū)(00H—1FH)片內(nèi)RAM有128個(gè)可按位尋址的位,占16個(gè)單元。位地址編號(hào)為:00H—7FH分布在:20H—2FH單元片內(nèi)21個(gè)特殊功能寄存器(SFR)中:地址號(hào)能被8整除的SFR中的各位也可按位尋址可尋址片外RAM64K字節(jié)(0000H—FFFFH)可尋址片外ROM64K字節(jié)(0

溫馨提示

  • 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)論