版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第3章單片機(jī)結(jié)構(gòu)與原理,AT89S51/S52單片機(jī)與Intel公司MCS-51系列的80C51型號(hào)單片機(jī)在結(jié)構(gòu)與功能上基本相同,外部引腳完全相同,主要不同點(diǎn)是89系列產(chǎn)品中程序存儲(chǔ)器全部采用快擦鞋存儲(chǔ)器,簡(jiǎn)稱(chēng)“閃存”。 Atmel公司的AT89S51/S52單片機(jī)與AT89C51/52單片機(jī)的主要不同點(diǎn)在于增加了ISP串口(可實(shí)現(xiàn)串行下載功能)和看門(mé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單元,用戶(hù)使用前128個(gè)單元,用于存放可讀寫(xiě)數(shù)據(jù),后128個(gè)單元被專(zhuān)用寄存器占用。 內(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只無(wú)用),PLCC,PDIP,PQFP,預(yù)備知識(shí):元器件實(shí)物圖,單片機(jī)芯片
3、AT89C51 AT89S51 AT89S52 AT89C2051,40只引腳按功能分為3類(lèi): (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. 控制引腳 提供控制信號(hào),有的引腳還具有復(fù)用
4、功能。 (1) RST(9腳):復(fù)位輸入端。 (2) ALE/PROG(30腳):第一功能ALE為地址鎖存允許,可驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。 PROG為本引腳的第二功能。為編程脈沖輸入端。 (3) PSEN(29腳):外部程序存儲(chǔ)器的讀選通信號(hào)??梢则?qū)動(dòng)8個(gè)LS型TTL負(fù)載。,(4)EA/VPP(Enable Address/Voltage Pulse of Programing,31腳) EA為內(nèi)外程序存儲(chǔ)器選擇控制端。 EA =1,訪問(wèn)片內(nèi)程序存儲(chǔ)器,但在PC(程序計(jì)數(shù)器)值超過(guò)0FFFH(對(duì)于8051、8751)時(shí),即超出片內(nèi)程序存儲(chǔ)器的4K字節(jié)地址范圍時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行外部程序存儲(chǔ)器內(nèi)
5、的程序。 EA=0,單片機(jī)則只訪問(wèn)外部程序存儲(chǔ)器。 VPP為本引腳的第二功能。用于施加編程電壓(例如+21V或+12V)。對(duì)89C51,加在VPP腳的編程電壓為+12V或+5V。,4.I/O口引腳 (1) P0口:雙向8位三態(tài)I/O口,此口為地址總線(xiàn)(低8位)及數(shù)據(jù)總線(xiàn)分時(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口,與地址總線(xiàn)(高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í),要向該口先寫(xiě)“1”。 準(zhǔn)雙向I/O口無(wú)高阻的“浮空”狀態(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)移或無(wú)條件轉(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:對(duì)指令進(jìn)行譯碼。 4. 定時(shí)與控制電路:產(chǎn)生時(shí)序輸出信號(hào)和微操作控制信號(hào),運(yùn)算器 對(duì)操作數(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 使用最頻繁的寄存器,可寫(xiě)為Acc。 A的作用: (1)是ALU的輸入之一,又是運(yùn)算結(jié)果的存放單元。 (2)數(shù)據(jù)傳送大多都通過(guò)累加器A。,單片機(jī)的工作是執(zhí)行程序的過(guò)程,即逐條執(zhí)行指令的過(guò)程。計(jì)算機(jī)每執(zhí)行一條指令都可分為三個(gè)階段進(jìn)行:取指令,分析指令,執(zhí)行指令。,3.2.2 單片機(jī)執(zhí)行程序過(guò)程,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ǔ)器。,在邏輯上,即從用戶(hù)使用的角度上,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)用程序和表格之類(lèi)的固定常數(shù)。 分為片內(nèi)和片外兩部分,由引腳 EA上所接的電平確定。,1.程序存儲(chǔ)器的結(jié)構(gòu)和地址分配 片內(nèi)有4KB閃存,通過(guò)片外16位地址線(xiàn)最多可擴(kuò)展64KB,兩者是統(tǒng)一編址。 在89S51單片機(jī)中,當(dāng)引腳/EA=1時(shí),系統(tǒng)使
9、用片內(nèi)4K的ROM來(lái)存儲(chǔ)程序。/EA=0時(shí),系統(tǒng)使用片外的ROM。 無(wú)論是使用片內(nèi)還是使用片外的ROM(即 /EA=1或/EA=0),其起始地址都是從0000H單元開(kāi)始。,如果/EA=1(使用片內(nèi)的程序存儲(chǔ)器時(shí)):程序從0000H開(kāi)始執(zhí)行。 注意:在這種情況下,如果程序計(jì)數(shù)器的指針PC值超過(guò)0FFFH(4K)時(shí),單片機(jī)就要自動(dòng)的轉(zhuǎn)向片外的ROM存儲(chǔ)器(盡管/EA=1),且從片外ROM的1000H單元開(kāi)始執(zhí)行程序。但單片機(jī)是無(wú)法使用片外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開(kāi)始執(zhí)行。 5個(gè)單元具有特殊用途,放置5個(gè)中斷源的入口地址,這些入口地址不得隨意被其它程序指令占用: 0003H:外部中斷0入口。 000BH:定時(shí)器0溢出中斷入口。 0013H:外部中斷1入口。 001BH:定時(shí)器1溢出中斷入口。 0023H:串行口中斷入口。 002BH:定時(shí)器2溢出中斷入口。(只有AT89S52/C52有),數(shù)據(jù)存儲(chǔ)器無(wú)論在物理上還是邏輯上都分為兩個(gè)地址空間,既一個(gè)內(nèi)部和一個(gè)外部的數(shù)據(jù)存儲(chǔ)
11、空間。 訪問(wèn)內(nèi)部數(shù)據(jù)存儲(chǔ)單元時(shí),使用 MOV 指令; 訪問(wèn)外部數(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,訪問(wèn)片內(nèi)RAM20H存儲(chǔ)單元; MOV A,20H 2,訪問(wèn)片外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的專(zhuān)用寄存器區(qū)中僅僅使用了21寄存器(51系列),其它單元未定義不能使用。,2低128字節(jié)RAM,通用工作寄存器區(qū)(00H1FH):32個(gè)單元,是4組通用工作寄存器區(qū) 位尋址區(qū)(20H2FH):16個(gè)單元,可進(jìn)行128位的位尋址 用戶(hù)RAM區(qū)(30H7FH):用戶(hù)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ū),可通過(guò)對(duì)程序狀態(tài)字PSW中RS1和RS0的設(shè)置來(lái)決定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é)地址和位地址是靠不同類(lèi)型的指令來(lái)區(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ù)傳送使用專(zhuān)門(mén)的MOVX指令。片外數(shù)據(jù)存儲(chǔ)器只能和累加器A交換數(shù)據(jù),通過(guò)地址指針DPTR或工作寄存器Ri間接尋址。,3.3.4
15、 特殊功能寄存器SFR,80C51單片機(jī)中,在片內(nèi)RAM的80HFFH空間建立了集中的特殊功能寄存器SFR空間,通過(guò)該空間的SFR實(shí)現(xiàn)對(duì)80C51系列單片機(jī)內(nèi)部資源的運(yùn)行管理操作、位地址空間的操作等。 訪問(wèn)這些專(zhuān)用寄存器僅允許使用直接尋址的方式。,SFR的名稱(chēng)及其分布,程序狀態(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)用戶(hù)使用的狀態(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)算指令對(duì)該位的影響情況較復(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,請(qǐng)問(wèn)機(jī)器執(zhí)行如下程序后 MOVA,0FH ADDA,F(xiàn)8H PSW中各位的狀態(tài)是什么?,答:PSWC1H,累加器A: 最常用的專(zhuān)用寄存器, 大多數(shù)的指令操作數(shù)都來(lái)自累加器A
17、。所有的算術(shù)運(yùn)算指令的運(yùn)算結(jié)果都存放在A中。 B寄存器:乘除法指令使用的寄存器。 數(shù)據(jù)指針DPTR:一個(gè)16位的寄存器。由高八位DPH和低八位DPL構(gòu)成。DPTR主要用來(lái)存放片內(nèi)ROM的地址和片外RAM,ROM的地址。這樣單片機(jī)可以通過(guò)間址的方式來(lái)訪問(wèn)片內(nèi)ROM或片外的RAM,ROM。 例如:片外RAM的2000H單元中有一個(gè)數(shù)x,試將其送到累加器A中。 MOV DPTR,#2000h ; DPTR 2000H MOVX A,DPTR ; A x,SP堆棧指針:8位寄存器,用來(lái)指示堆棧的位置,可由軟件修改。在C51單片機(jī)的設(shè)計(jì)中,片內(nèi)RAM區(qū)為堆棧的可用空間。上電或復(fù)位時(shí),SP被初始化為07H
18、,既堆棧底部被確定在RAM的07H單元。 堆棧操作過(guò)程: 進(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)中沒(méi)有專(zhuān)用的輸入、輸出(IN、OUT)指令,而是把P0-P3作為普通的內(nèi)存單元來(lái)使用。上面的第一個(gè)例子實(shí)際上就是C51的輸出指令;同理后者是C51的輸入指令。,串行數(shù)據(jù)緩沖器SBUF:它是專(zhuān)門(mén)用來(lái)存放發(fā)送或接收的數(shù)據(jù),實(shí)際上它是兩個(gè)獨(dú)立的寄存器。盡管在SFR中的RAM地址只是99H,但根據(jù)指令“發(fā)送”或“接收”兩種不同的操作,硬件會(huì)自動(dòng)的區(qū)分,將數(shù)據(jù)送如對(duì)應(yīng)的緩沖單元。 定時(shí)/計(jì)數(shù)器T0、T1:無(wú)論是定時(shí)還是計(jì)數(shù),對(duì)于C51單片
20、機(jī)的定時(shí)/計(jì)數(shù)器來(lái)說(shuō),都是一個(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ù)器之前,要對(duì)它進(jìn)行初始化,其中就要對(duì)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ù)輸出鎖存器和端口號(hào)同名,且為SFR中的一個(gè)
21、。,字節(jié)地址80H,位地址80H87H,可作為地址/數(shù)據(jù)線(xiàn),也可作為通用I/O口。,3.4.1 P0口,P0口某一位的電路包括: 1. 一個(gè)數(shù)據(jù)輸出鎖存器,用于數(shù)據(jù)位的鎖存 2. 兩個(gè)三態(tài)的數(shù)據(jù)輸入緩沖器。 3. 一個(gè)多路轉(zhuǎn)接開(kāi)關(guān)MUX,使:P0口可作通用I/O口,或地址/數(shù)據(jù)線(xiàn)口。 4. 數(shù)據(jù)輸出的驅(qū)動(dòng)和控制電路,由兩只場(chǎng)效應(yīng)管(FET)組成,上面的場(chǎng)效應(yīng)管構(gòu)成上拉電路。,CPU發(fā)出“控制”信號(hào)為低電平,上拉場(chǎng)效應(yīng)管截止,多路轉(zhuǎn)接開(kāi)關(guān)MUX打向下邊,與D鎖存器的Q端接通。 (1) P0作輸出口使用 來(lái)自CPU的“寫(xiě)入”脈沖加在D鎖存器的CP端,內(nèi)部總線(xiàn)上的數(shù)據(jù)寫(xiě)入D鎖存器,并向端口引腳P0.
22、n輸出。 注意:由于輸出電路是漏極開(kāi)路(因?yàn)檫@時(shí)上拉場(chǎng)效應(yīng)管截止),必須外接上拉電阻才能有高電平輸出。,Vcc,0,截止,P0口作通用的I/O口使用,(2) P0作輸入口使用,區(qū)分“讀引腳”和“讀鎖存器”。 “讀引腳”信號(hào)把下方緩沖器打開(kāi),引腳上的狀態(tài)經(jīng)緩沖器讀入內(nèi)部總線(xiàn);讀引腳時(shí),要先向?qū)?yīng)的鎖存器寫(xiě)入“1”,使T2截止。,1,“讀鎖存器”信號(hào)打開(kāi)上面的緩沖器把鎖存器Q端的狀態(tài)讀入內(nèi)部總線(xiàn)。,1,P0引腳輸出地址或數(shù)據(jù)時(shí),CPU發(fā)出控制信號(hào)為高電平,打開(kāi)上面的與門(mén),使多路轉(zhuǎn)接開(kāi)關(guān)MUX打向上邊,使內(nèi)部地址/數(shù)據(jù)線(xiàn)與下面的場(chǎng)效應(yīng)管處于反相接通狀態(tài)。此時(shí)輸出驅(qū)動(dòng)電路由于上下兩個(gè)FET處于反相,形
23、成推拉式電路結(jié)構(gòu),大大提高負(fù)載能力。,P0口用作地址/數(shù)據(jù)線(xiàn),0,1,由P0口輸入數(shù)據(jù)時(shí),輸入信號(hào)從引腳通過(guò)輸入緩沖器B2進(jìn)入內(nèi)部總線(xiàn)。,1,3.4.2 P1口,字節(jié)地址90H,位地址90H97H,只可作為通用I/O口。,3.4.3 P2口,字節(jié)地址0A0H,位地址0A0H0A7H,既可作為高8位地址線(xiàn)使用,又可作為通用I/O口使用。一般不作數(shù)據(jù)傳送工作。,3.4.4 P3口,字節(jié)地址0B0H,位地址0B0H0B7H,只可作為通用I/O口。主要用于第二功能控制邏輯。,3.4.5 讀引腳與讀端口操作,1.讀端口操作 在CPU發(fā)出讀端口指令時(shí),鎖存器的值首先通過(guò)讀鎖存器輸入緩沖器進(jìn)入內(nèi)部總線(xiàn),待該
24、值修改后,又重新寫(xiě)到鎖存器中。這類(lèi)指令稱(chēng)為“讀改寫(xiě)”操作的指令. “讀修改寫(xiě)”的操作有: 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í),必須先由指令或通過(guò)復(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 端口的總線(xiàn)復(fù)用
25、I/O 端口的功能復(fù)用,2 .主要不同點(diǎn) P0口是一個(gè)真正的雙向口。 P1P3為準(zhǔn)雙向口結(jié)構(gòu) 在對(duì)準(zhǔn)雙向口操作時(shí),一定要先向鎖存器寫(xiě) “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信號(hào)是為地址鎖存而定義的,以時(shí)鐘脈沖1/6的頻率出現(xiàn),在一個(gè)機(jī)器周期中,ALE信號(hào)兩次有效(注意,在執(zhí)行訪問(wèn)外部數(shù)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 修鋸工崗前崗位適應(yīng)能力考核試卷含答案
- 果蔬汁濃縮工變革管理測(cè)試考核試卷含答案
- 婚禮策劃師操作知識(shí)能力考核試卷含答案
- 粉礦燒結(jié)工創(chuàng)新意識(shí)評(píng)優(yōu)考核試卷含答案
- 預(yù)拌混凝土生產(chǎn)工創(chuàng)新意識(shí)模擬考核試卷含答案
- 化妝品配方師改進(jìn)測(cè)試考核試卷含答案
- 綜掘機(jī)司機(jī)崗前基礎(chǔ)實(shí)戰(zhàn)考核試卷含答案
- 浸漬干燥工創(chuàng)新應(yīng)用模擬考核試卷含答案
- 熱力站運(yùn)行工安全知識(shí)宣貫知識(shí)考核試卷含答案
- 網(wǎng)版印刷員安全檢查能力考核試卷含答案
- 煤礦安檢員培訓(xùn)
- 冬季四防安全培訓(xùn)
- 健康管理方案設(shè)計(jì)案例分析
- 宮外孕破裂出血護(hù)理查房
- 農(nóng)產(chǎn)品市場(chǎng)營(yíng)銷(xiāo)的定性與定量研究方法
- 七年級(jí)數(shù)學(xué)一元一次方程應(yīng)用題復(fù)習(xí)題及答案
- 婦科腹腔鏡手術(shù)課件
- 儲(chǔ)能電站檢修規(guī)程
- 外掛鋼樓梯專(zhuān)項(xiàng)施工方案
- 吊裝作業(yè)危害分析評(píng)價(jià)記錄表
- 部編版初中語(yǔ)文九年級(jí)下冊(cè)第三單元整體教學(xué)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論