第3章單片機(jī)結(jié)構(gòu)及原理0608.ppt_第1頁
第3章單片機(jī)結(jié)構(gòu)及原理0608.ppt_第2頁
第3章單片機(jī)結(jié)構(gòu)及原理0608.ppt_第3頁
第3章單片機(jī)結(jié)構(gòu)及原理0608.ppt_第4頁
第3章單片機(jī)結(jié)構(gòu)及原理0608.ppt_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第3章單片機(jī)結(jié)構(gòu)與原理,AT89S51/S52單片機(jī)與Intel公司MCS-51系列的80C51型號單片機(jī)在結(jié)構(gòu)與功能上基本相同,外部引腳完全相同,主要不同點(diǎn)是89系列產(chǎn)品中程序存儲(chǔ)器全部采用快擦鞋存儲(chǔ)器,簡稱“閃存”。 Atmel公司的AT89S51/S52單片機(jī)與AT89C51/52單片機(jī)的主要不同點(diǎn)在于增加了ISP串口(可實(shí)現(xiàn)串行下載功能)和看門狗定時(shí)器。,3.1 單片機(jī)的典型結(jié)構(gòu),3.1.1 標(biāo)準(zhǔn)型單片機(jī)的組成及結(jié)構(gòu),圖 31 AT89S51/S52的基本組成功能框圖,圖 32 AT89S51/52內(nèi)部結(jié)構(gòu)框圖,各主要部分的作用,中央處理器CPU:8位,運(yùn)算和控制功能 內(nèi)部RAM:共2

2、56個(gè)RAM單元,用戶使用前128個(gè)單元,用于存放可讀寫數(shù)據(jù),后128個(gè)單元被專用寄存器占用。 內(nèi)部ROM:4KB閃速存儲(chǔ)器,用于存放程序、原始數(shù)據(jù)和表格。 定時(shí)/計(jì)數(shù)器:三個(gè)16位的定時(shí)/計(jì)數(shù)器,實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能。 并行I/O口:4個(gè)8位的I/O口P0、P1、P2、P3。 串行口:一個(gè)全雙工串行口。 中斷控制系統(tǒng):6個(gè)中斷源(外中斷2個(gè),定時(shí)/計(jì)數(shù)中斷3個(gè),串行中斷1個(gè)) 時(shí)鐘電路:可產(chǎn)生時(shí)鐘脈沖序列,允許晶振頻率6MHZ和12MHZ,3.1.2 單片機(jī)的引腳定義與功能,(C) PQFP,44只引腳方形封裝方式(4只無用),PLCC,PDIP,PQFP,預(yù)備知識(shí):元器件實(shí)物圖,單片機(jī)芯片

3、AT89C51 AT89S51 AT89S52 AT89C2051,40只引腳按功能分為3類: (1)電源及時(shí)鐘引腳: Vcc、GND;XTAL1、XTAL2。 (2)控制引腳: PSEN、EA/Vpp 、ALE/PROG、RESET (即RST)。 (3)I/O口引腳:P0、P1、P2、P3,為4個(gè)8位I/O口的外部引腳。,1電源引腳 (1)Vcc(40腳):+5V電源; (2)GND(20腳):接地。 2時(shí)鐘引腳 (1)XTAL1(19腳):如果采用外接晶體振蕩器時(shí),此引腳應(yīng)接地。 (2)XTAL2(18腳):接外部晶體的另一端。,引腳功能,3. 控制引腳 提供控制信號,有的引腳還具有復(fù)用

4、功能。 (1) RST(9腳):復(fù)位輸入端。 (2) ALE/PROG(30腳):第一功能ALE為地址鎖存允許,可驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。 PROG為本引腳的第二功能。為編程脈沖輸入端。 (3) PSEN(29腳):外部程序存儲(chǔ)器的讀選通信號??梢则?qū)動(dòng)8個(gè)LS型TTL負(fù)載。,(4)EA/VPP(Enable Address/Voltage Pulse of Programing,31腳) EA為內(nèi)外程序存儲(chǔ)器選擇控制端。 EA =1,訪問片內(nèi)程序存儲(chǔ)器,但在PC(程序計(jì)數(shù)器)值超過0FFFH(對于8051、8751)時(shí),即超出片內(nèi)程序存儲(chǔ)器的4K字節(jié)地址范圍時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行外部程序存儲(chǔ)器內(nèi)

5、的程序。 EA=0,單片機(jī)則只訪問外部程序存儲(chǔ)器。 VPP為本引腳的第二功能。用于施加編程電壓(例如+21V或+12V)。對89C51,加在VPP腳的編程電壓為+12V或+5V。,4.I/O口引腳 (1) P0口:雙向8位三態(tài)I/O口,此口為地址總線(低8位)及數(shù)據(jù)總線分時(shí)復(fù)用口,可驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。 (2) P1口:8位準(zhǔn)雙向I/O口,可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。 (3) P2口:8位準(zhǔn)雙向I/O口,與地址總線(高8位)復(fù)用,可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。 (4) P3口:8位準(zhǔn)雙向I/O口,雙功能復(fù)用口,可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。,注意:準(zhǔn)雙向口與雙向三態(tài)口的差別。 當(dāng)3個(gè)準(zhǔn)雙向I

6、/O口作輸入口使用時(shí),要向該口先寫“1”。 準(zhǔn)雙向I/O口無高阻的“浮空”狀態(tài)。,3.2.1 CPU的工作原理 CPU由運(yùn)算器和控制器所構(gòu)成,3.2 單片機(jī)的工作原理,控制器 1程序計(jì)數(shù)器PC(Program Counter): 存放下一條要執(zhí)行的指令在程序存儲(chǔ)器中的地址。 基本工作方式有以下幾種: (1)程序計(jì)數(shù)器自動(dòng)加1 (2)執(zhí)行有條件轉(zhuǎn)移或無條件轉(zhuǎn)移指令時(shí),程序計(jì)數(shù)器將被置入新的數(shù)值,從而使程序的流向發(fā)生變化。 (3)在執(zhí)行調(diào)用子程序調(diào)用或中斷調(diào)用,完成下列操作: PC的現(xiàn)行值保護(hù) 將子程序入口地址或中斷向量的地址送入PC。,2. 指令寄存器IR:存放正在執(zhí)行的指令。 3. 指令譯碼器

7、ID:對指令進(jìn)行譯碼。 4. 定時(shí)與控制電路:產(chǎn)生時(shí)序輸出信號和微操作控制信號,運(yùn)算器 對操作數(shù)進(jìn)行算術(shù)、邏輯運(yùn)算和位操作。 1算術(shù)邏輯運(yùn)算單元ALU:完成算數(shù)、邏輯運(yùn)算,運(yùn)算結(jié)果影響狀態(tài)標(biāo)志寄存器的相關(guān)標(biāo)志位。 2累加器A 使用最頻繁的寄存器,可寫為Acc。 A的作用: (1)是ALU的輸入之一,又是運(yùn)算結(jié)果的存放單元。 (2)數(shù)據(jù)傳送大多都通過累加器A。,單片機(jī)的工作是執(zhí)行程序的過程,即逐條執(zhí)行指令的過程。計(jì)算機(jī)每執(zhí)行一條指令都可分為三個(gè)階段進(jìn)行:取指令,分析指令,執(zhí)行指令。,3.2.2 單片機(jī)執(zhí)行程序過程,3.3 80C51的存儲(chǔ)器,3.3.1 存儲(chǔ)器結(jié)構(gòu)和地址空間,80C51系列單片機(jī)

8、的存儲(chǔ)器在物理結(jié)構(gòu)上可以分為如下4個(gè)存儲(chǔ)空間: 片內(nèi)程序存儲(chǔ)器; 片外程序存儲(chǔ)器; 片內(nèi)數(shù)據(jù)存儲(chǔ)器; 片外數(shù)據(jù)存儲(chǔ)器。,在邏輯上,即從用戶使用的角度上,80C51系列有三個(gè)存儲(chǔ)空間: 片內(nèi)外統(tǒng)一編址的64KB的程序存儲(chǔ)器地址空間(用16位地址); 片內(nèi)數(shù)據(jù)存儲(chǔ)器地址空間,尋址范圍為00FFH; 64KB片外數(shù)據(jù)存儲(chǔ)器地址空間。,3.3.2 程序存儲(chǔ)器,存放應(yīng)用程序和表格之類的固定常數(shù)。 分為片內(nèi)和片外兩部分,由引腳 EA上所接的電平確定。,1.程序存儲(chǔ)器的結(jié)構(gòu)和地址分配 片內(nèi)有4KB閃存,通過片外16位地址線最多可擴(kuò)展64KB,兩者是統(tǒng)一編址。 在89S51單片機(jī)中,當(dāng)引腳/EA=1時(shí),系統(tǒng)使

9、用片內(nèi)4K的ROM來存儲(chǔ)程序。/EA=0時(shí),系統(tǒng)使用片外的ROM。 無論是使用片內(nèi)還是使用片外的ROM(即 /EA=1或/EA=0),其起始地址都是從0000H單元開始。,如果/EA=1(使用片內(nèi)的程序存儲(chǔ)器時(shí)):程序從0000H開始執(zhí)行。 注意:在這種情況下,如果程序計(jì)數(shù)器的指針PC值超過0FFFH(4K)時(shí),單片機(jī)就要自動(dòng)的轉(zhuǎn)向片外的ROM存儲(chǔ)器(盡管/EA=1),且從片外ROM的1000H單元開始執(zhí)行程序。但單片機(jī)是無法使用片外ROM的0000H-0FFFH這4K單元。,89S51單片機(jī)片內(nèi)、外程序存儲(chǔ)器的使用示意圖,0FFFH 0000H,0FFFH 0000H,FFFFH 1000H

10、,EA=1時(shí),ROM的使用,EA=0時(shí)ROM的使用,片外程序存儲(chǔ)器 (最大64K),單片機(jī)內(nèi)部 程序存儲(chǔ)器 (4K),2.程序存儲(chǔ)器的入口地址,0000H:復(fù)位后,程序?qū)⒆詣?dòng)從0000H開始執(zhí)行。 5個(gè)單元具有特殊用途,放置5個(gè)中斷源的入口地址,這些入口地址不得隨意被其它程序指令占用: 0003H:外部中斷0入口。 000BH:定時(shí)器0溢出中斷入口。 0013H:外部中斷1入口。 001BH:定時(shí)器1溢出中斷入口。 0023H:串行口中斷入口。 002BH:定時(shí)器2溢出中斷入口。(只有AT89S52/C52有),數(shù)據(jù)存儲(chǔ)器無論在物理上還是邏輯上都分為兩個(gè)地址空間,既一個(gè)內(nèi)部和一個(gè)外部的數(shù)據(jù)存儲(chǔ)

11、空間。 訪問內(nèi)部數(shù)據(jù)存儲(chǔ)單元時(shí),使用 MOV 指令; 訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),使用 MOVX 指令。,3.3.3 數(shù)據(jù)存儲(chǔ)器,89S51 片內(nèi)、片外數(shù)據(jù)存儲(chǔ)器示意圖,特殊功能 寄存器 SFR,通用數(shù)據(jù) 存儲(chǔ)器,80H 7FH,00H,FFH,片內(nèi)數(shù)據(jù)存儲(chǔ)器 片外數(shù)據(jù)存儲(chǔ)器 256B個(gè)字節(jié) 64KB個(gè)字節(jié),片外數(shù)據(jù) 存儲(chǔ)器 64KB,0000H,FFFFH,注意: 1,訪問片內(nèi)RAM20H存儲(chǔ)單元; MOV A,20H 2,訪問片外RAM存儲(chǔ)單元; MOV R0,#20H MOVX A,R0 3,盡管片內(nèi)與片外的RAM單元 的00H-FFH地址相重疊但由 于指令的不同不會(huì)發(fā)生地址 混亂。,1片內(nèi)數(shù)

12、據(jù)存儲(chǔ)器的結(jié)構(gòu)及操作,內(nèi)部數(shù)據(jù)存儲(chǔ)器從功能上又將256B空間分為二個(gè)不同的塊: 1,低128B的RAM塊; 2,高128B的SFR (Special Function Register)塊。 在低128B的RAM存儲(chǔ)單元中又可劃分為:工作寄存器區(qū)、可位尋址區(qū)、通用存儲(chǔ)數(shù)據(jù)的便簽區(qū)。 高128B的專用寄存器區(qū)中僅僅使用了21寄存器(51系列),其它單元未定義不能使用。,2低128字節(jié)RAM,通用工作寄存器區(qū)(00H1FH):32個(gè)單元,是4組通用工作寄存器區(qū) 位尋址區(qū)(20H2FH):16個(gè)單元,可進(jìn)行128位的位尋址 用戶RAM區(qū)(30H7FH):用戶RAM區(qū),只能進(jìn)行字節(jié)尋址,用作數(shù)據(jù)緩沖區(qū)

13、以及堆棧區(qū)。,RS1 RS0 所選的4組寄存器 0 0 0區(qū)(內(nèi)部RAM地址00H07H) 0 1 1區(qū)(內(nèi)部RAM地址08H0FH) 1 0 2區(qū)(內(nèi)部RAM地址10H17H) 1 1 3區(qū)(內(nèi)部RAM地址18H1FH),通用工作寄存器區(qū),可通過對程序狀態(tài)字PSW中RS1和RS0的設(shè)置來決定CPU當(dāng)前使用哪一組。,片內(nèi) RAM(20H-2FH)中的位尋址區(qū)結(jié)構(gòu)圖,2FH,20H,字節(jié)地址,位尋址區(qū)內(nèi)的地址是位地址。共有00-7FH(共128個(gè)位); 要區(qū)分字節(jié)地址和位地址這兩個(gè)不同的地址概念: 從物理的角度,每一個(gè)字節(jié)地址內(nèi)包含了8個(gè)位,既: D7,D6,D5,D4,D3,D2,D1,D0

14、在一般情況,我們提到的RAM地址都是字節(jié)地址。 從邏輯的角度講,字節(jié)地址和位地址是靠不同類型的指令來區(qū)分的。如: MOV A, 20h ;將RAM的20單元內(nèi)容送累加器A; MOV C ,20h ;將RAM位尋址區(qū)中20H位送CY中。 在這二個(gè)例子中,第一條指令為字節(jié)傳送指令,所以20H為字節(jié)地址;第二個(gè)例子中的指令為位操作指令,所以20H為位地址。,3片外數(shù)據(jù)存儲(chǔ)器的結(jié)構(gòu)及操作,片外數(shù)據(jù)存儲(chǔ)器和外圍擴(kuò)展電路統(tǒng)一編址,可尋址范圍為64 KB。 片外數(shù)據(jù)存儲(chǔ)器尋址空間的數(shù)據(jù)傳送使用專門的MOVX指令。片外數(shù)據(jù)存儲(chǔ)器只能和累加器A交換數(shù)據(jù),通過地址指針DPTR或工作寄存器Ri間接尋址。,3.3.4

15、 特殊功能寄存器SFR,80C51單片機(jī)中,在片內(nèi)RAM的80HFFH空間建立了集中的特殊功能寄存器SFR空間,通過該空間的SFR實(shí)現(xiàn)對80C51系列單片機(jī)內(nèi)部資源的運(yùn)行管理操作、位地址空間的操作等。 訪問這些專用寄存器僅允許使用直接尋址的方式。,SFR的名稱及其分布,程序狀態(tài)字寄存器PSW (1)Cy(PSW.7)進(jìn)位標(biāo)志位 (2)Ac(PSW.6) 輔助進(jìn)位標(biāo)志位,用于BCD碼的十 進(jìn)制調(diào)整運(yùn)算。 (3)F0(PSW.5)用戶使用的狀態(tài)標(biāo)志位。 (4)RS1、RS0(PSW.4、PSW.3):4組工作寄存器區(qū)選擇控制位1和位0。,RS1 RS0 所選的4組寄存器 0 0 0區(qū)(內(nèi)部RAM地

16、址00H07H) 0 1 1區(qū)(內(nèi)部RAM地址08H0FH) 1 0 2區(qū)(內(nèi)部RAM地址10H17H) 1 1 3區(qū)(內(nèi)部RAM地址18H1FH),(5)OV(PSW.2)溢出標(biāo)志位 指示運(yùn)算是否產(chǎn)生溢出。各種算術(shù)運(yùn)算指令對該位的影響情況較復(fù)雜。 (6)PSW.1位: 保留位,未用 (7)P(PSW.0)奇偶標(biāo)志位 P=1,A中“1”的個(gè)數(shù)為奇數(shù) P=0,A中“1”的個(gè)數(shù)為偶數(shù),例:設(shè)程序執(zhí)行前F00,RS1RS000B,請問機(jī)器執(zhí)行如下程序后 MOVA,0FH ADDA,F(xiàn)8H PSW中各位的狀態(tài)是什么?,答:PSWC1H,累加器A: 最常用的專用寄存器, 大多數(shù)的指令操作數(shù)都來自累加器A

17、。所有的算術(shù)運(yùn)算指令的運(yùn)算結(jié)果都存放在A中。 B寄存器:乘除法指令使用的寄存器。 數(shù)據(jù)指針DPTR:一個(gè)16位的寄存器。由高八位DPH和低八位DPL構(gòu)成。DPTR主要用來存放片內(nèi)ROM的地址和片外RAM,ROM的地址。這樣單片機(jī)可以通過間址的方式來訪問片內(nèi)ROM或片外的RAM,ROM。 例如:片外RAM的2000H單元中有一個(gè)數(shù)x,試將其送到累加器A中。 MOV DPTR,#2000h ; DPTR 2000H MOVX A,DPTR ; A x,SP堆棧指針:8位寄存器,用來指示堆棧的位置,可由軟件修改。在C51單片機(jī)的設(shè)計(jì)中,片內(nèi)RAM區(qū)為堆棧的可用空間。上電或復(fù)位時(shí),SP被初始化為07H

18、,既堆棧底部被確定在RAM的07H單元。 堆棧操作過程: 進(jìn)棧: PUSH ACC指令(設(shè)SP=07H), 1,SP+1送SP,此時(shí)SP=08H; 2,ACC送RAM的08H單元; 出棧: POP ACC (設(shè)SP=08H); 1,將RAM 中08H單元內(nèi)容送A; 2,SP-1送SP ,此時(shí)SP=07H。,07H,SP,08H 07H,RAM,x,累加器A,堆棧操作示意圖,并行端口P0-P3:SFR中的P0-P3實(shí)際上就是I/O端口的數(shù)據(jù)鎖存器。與RAM中的任意一個(gè)單元一樣,P0-P3都有自己的RAM地址:80H、90H、A0H、B0H。所以,在51單片機(jī)中的輸入、輸出操作實(shí)際上就是個(gè)普通的R

19、AM單元操作一樣:如 輸出指令 MOV 80H,A ;將累加器中的數(shù)據(jù)送到P0口輸出 輸入指令 MOV A,90H ;將P1口的數(shù)據(jù)輸入到累加器A中 即C51的指令系統(tǒng)中沒有專用的輸入、輸出(IN、OUT)指令,而是把P0-P3作為普通的內(nèi)存單元來使用。上面的第一個(gè)例子實(shí)際上就是C51的輸出指令;同理后者是C51的輸入指令。,串行數(shù)據(jù)緩沖器SBUF:它是專門用來存放發(fā)送或接收的數(shù)據(jù),實(shí)際上它是兩個(gè)獨(dú)立的寄存器。盡管在SFR中的RAM地址只是99H,但根據(jù)指令“發(fā)送”或“接收”兩種不同的操作,硬件會(huì)自動(dòng)的區(qū)分,將數(shù)據(jù)送如對應(yīng)的緩沖單元。 定時(shí)/計(jì)數(shù)器T0、T1:無論是定時(shí)還是計(jì)數(shù),對于C51單片

20、機(jī)的定時(shí)/計(jì)數(shù)器來說,都是一個(gè)“計(jì)數(shù)器”在計(jì)數(shù)。這個(gè)“計(jì)數(shù)器”是由兩個(gè)8位寄存器(高位和低位)構(gòu)成的16位計(jì)數(shù)器,分別是TH0、TL0(T0);TH1、TL1(T1)。TH和TL中的數(shù)據(jù)直接與“定時(shí)操作”或“計(jì)數(shù)操作”有關(guān),因此在使用定時(shí)/計(jì)數(shù)器之前,要對它進(jìn)行初始化,其中就要對TH、TL賦初值。如: MOV 8CH,#01H MOV 8AH,#20H,TH0,TL0,返回,3.4 輸入輸出端口結(jié)構(gòu),C51系列共有4個(gè)8位并行雙向口。分別表示為P0、P1、P2、P3。 每個(gè)I/O端口內(nèi)部都有一個(gè)8位數(shù)據(jù)輸出鎖存器和一個(gè)8位數(shù)據(jù)輸入緩沖器。 其中四個(gè)數(shù)據(jù)輸出鎖存器和端口號同名,且為SFR中的一個(gè)

21、。,字節(jié)地址80H,位地址80H87H,可作為地址/數(shù)據(jù)線,也可作為通用I/O口。,3.4.1 P0口,P0口某一位的電路包括: 1. 一個(gè)數(shù)據(jù)輸出鎖存器,用于數(shù)據(jù)位的鎖存 2. 兩個(gè)三態(tài)的數(shù)據(jù)輸入緩沖器。 3. 一個(gè)多路轉(zhuǎn)接開關(guān)MUX,使:P0口可作通用I/O口,或地址/數(shù)據(jù)線口。 4. 數(shù)據(jù)輸出的驅(qū)動(dòng)和控制電路,由兩只場效應(yīng)管(FET)組成,上面的場效應(yīng)管構(gòu)成上拉電路。,CPU發(fā)出“控制”信號為低電平,上拉場效應(yīng)管截止,多路轉(zhuǎn)接開關(guān)MUX打向下邊,與D鎖存器的Q端接通。 (1) P0作輸出口使用 來自CPU的“寫入”脈沖加在D鎖存器的CP端,內(nèi)部總線上的數(shù)據(jù)寫入D鎖存器,并向端口引腳P0.

22、n輸出。 注意:由于輸出電路是漏極開路(因?yàn)檫@時(shí)上拉場效應(yīng)管截止),必須外接上拉電阻才能有高電平輸出。,Vcc,0,截止,P0口作通用的I/O口使用,(2) P0作輸入口使用,區(qū)分“讀引腳”和“讀鎖存器”。 “讀引腳”信號把下方緩沖器打開,引腳上的狀態(tài)經(jīng)緩沖器讀入內(nèi)部總線;讀引腳時(shí),要先向?qū)?yīng)的鎖存器寫入“1”,使T2截止。,1,“讀鎖存器”信號打開上面的緩沖器把鎖存器Q端的狀態(tài)讀入內(nèi)部總線。,1,P0引腳輸出地址或數(shù)據(jù)時(shí),CPU發(fā)出控制信號為高電平,打開上面的與門,使多路轉(zhuǎn)接開關(guān)MUX打向上邊,使內(nèi)部地址/數(shù)據(jù)線與下面的場效應(yīng)管處于反相接通狀態(tài)。此時(shí)輸出驅(qū)動(dòng)電路由于上下兩個(gè)FET處于反相,形

23、成推拉式電路結(jié)構(gòu),大大提高負(fù)載能力。,P0口用作地址/數(shù)據(jù)線,0,1,由P0口輸入數(shù)據(jù)時(shí),輸入信號從引腳通過輸入緩沖器B2進(jìn)入內(nèi)部總線。,1,3.4.2 P1口,字節(jié)地址90H,位地址90H97H,只可作為通用I/O口。,3.4.3 P2口,字節(jié)地址0A0H,位地址0A0H0A7H,既可作為高8位地址線使用,又可作為通用I/O口使用。一般不作數(shù)據(jù)傳送工作。,3.4.4 P3口,字節(jié)地址0B0H,位地址0B0H0B7H,只可作為通用I/O口。主要用于第二功能控制邏輯。,3.4.5 讀引腳與讀端口操作,1.讀端口操作 在CPU發(fā)出讀端口指令時(shí),鎖存器的值首先通過讀鎖存器輸入緩沖器進(jìn)入內(nèi)部總線,待該

24、值修改后,又重新寫到鎖存器中。這類指令稱為“讀改寫”操作的指令. “讀修改寫”的操作有: ANL、ORL、XRL、JBC、JB、CPL、INC、DEC、DJNZ、CLR Px.y和SETB Px.y、 MOV Px.y,C(位傳送)、 JNB。 如: ORL P0,A ; P0 A P0,2.讀引腳操作,當(dāng)需要讀引腳時(shí),必須先由指令或通過復(fù)位置端口鎖存器為1,使端口輸出FET截止,然后再發(fā)讀引腳指令。 讀引腳指令格式一般為: MOV Px,#0FFH MOV ,,3.4.6 4個(gè)I0端口的主要異同點(diǎn),1 .主要相同點(diǎn) 1)鎖存器加引腳的典型結(jié)構(gòu) 2)I/O 的復(fù)用結(jié)構(gòu) I/O 端口的總線復(fù)用

25、I/O 端口的功能復(fù)用,2 .主要不同點(diǎn) P0口是一個(gè)真正的雙向口。 P1P3為準(zhǔn)雙向口結(jié)構(gòu) 在對準(zhǔn)雙向口操作時(shí),一定要先向鎖存器寫 “1”,然后才能正確讀入引腳狀態(tài)。 驅(qū)動(dòng)能力不同 功能不同,3. 5 CPU時(shí)序及時(shí)鐘電路,3.5.1 CPU時(shí)序及有關(guān)概念 1. 時(shí)鐘周期 2機(jī)器周期 3. 指令周期 12個(gè)時(shí)鐘周期為一個(gè)機(jī)器周期。,一、內(nèi)部時(shí)鐘方式 內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,反相放大器的輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。,3.5.2 時(shí)鐘電路,C1和C2典型值通常選擇為30pF左右。 晶體的振蕩頻率在1.2MHz12MHz之間。某些高速單片機(jī)芯片的時(shí)鐘頻率已達(dá)40MHz。,二、外部時(shí)鐘方式 常用于多片MCS-51單片機(jī)同時(shí)工作。,3.5.3 80C51的指令時(shí)序,一個(gè)機(jī)器周期又分為6個(gè)狀態(tài):S1S6。每個(gè)狀態(tài)又分為兩拍:P1和P2。因此,一個(gè)機(jī)器周期中的12個(gè)時(shí)鐘周期表示為: S1P1、S1P2、S2P1、S2P2、S6P2。 ALE信號是為地址鎖存而定義的,以時(shí)鐘脈沖1/6的頻率出現(xiàn),在一個(gè)機(jī)器周期中,ALE信號兩次有效(注意,在執(zhí)行訪問外部數(shù)

溫馨提示

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

最新文檔

評論

0/150

提交評論