第2章MCS-51單片機的硬件結(jié)構(gòu)_第1頁
第2章MCS-51單片機的硬件結(jié)構(gòu)_第2頁
第2章MCS-51單片機的硬件結(jié)構(gòu)_第3頁
第2章MCS-51單片機的硬件結(jié)構(gòu)_第4頁
第2章MCS-51單片機的硬件結(jié)構(gòu)_第5頁
已閱讀5頁,還剩66頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 2.1 MCS-51單片機的內(nèi)部結(jié)構(gòu) 2.2 MCS-51單片機存儲器組織 2.3 MCS-51片外總線和復位 2.4MCS-51單片機的基本I/O端口2.1.1 MCS-51單片機的基本組成圖 2 1 MCS-51單片機的基本結(jié)構(gòu)震蕩器和時序OSC程序存儲器 2KB ROM數(shù)據(jù)存儲器 256B RAM 2x16位 定時/計數(shù)器64KB總線擴展控制器I/O接口全雙工串行口8051CPU外部時鐘源外部事件計數(shù)外中斷內(nèi)中斷控制并行口串行通信8 8 位的位的 CPUCPU, 片內(nèi)有振蕩器和時鐘電路片內(nèi)有振蕩器和時鐘電路片內(nèi)有片內(nèi)有 128/256128/256字節(jié)字節(jié) RAMRAM片內(nèi)有片內(nèi)有 0

2、K/4K/8K0K/4K/8K字節(jié)字節(jié) 程序存儲器程序存儲器ROMROM可尋址可尋址片外片外 64K64K字節(jié)字節(jié) 數(shù)據(jù)存儲器數(shù)據(jù)存儲器RAMRAM可尋址可尋址片外片外 64K64K字節(jié)字節(jié) 程序存儲器程序存儲器ROMROM片內(nèi)片內(nèi) 2121個個 特殊功能寄存器(特殊功能寄存器(SFRSFR)4 4個個8 8位位 的的并行并行I/OI/O口口(P0-P3P0-P3)1 1個個 全雙工串行口全雙工串行口(SIO/UARTSIO/UART)2 2個個1616位位 定時器定時器/ /計數(shù)器計數(shù)器(TIMER/COUNTERTIMER/COUNTER)可處理可處理 5 5個中斷源,兩級中斷優(yōu)先級個中斷

3、源,兩級中斷優(yōu)先級內(nèi)置內(nèi)置1 1個布爾處理器個布爾處理器和和1 1個布爾累加器個布爾累加器(CyCy)1.MCS-51單片機CPU結(jié)構(gòu)CPU是單片機的核心,是計算機的控制和指揮中心,MCS-51內(nèi)部CPU是一個字長為8位二進制的中央處理單元,即它對數(shù)據(jù)的處理是按字節(jié)為單位進行的。MCS-51內(nèi)部CPU是由運算器(ALU)、布爾處理器和控制器(定時控制部件等)兩部分電路組成。程序狀態(tài)字寄存器PSW(Program Status Word)是8051的狀態(tài)標志寄存器,用來保存ALU運算結(jié)果的特征。(1)運算器(ALU)ALU可以對4位、8位、16位數(shù)據(jù)進行算術(shù)運算和邏輯運算,并能完成數(shù)據(jù)傳送、移位

4、、判斷和程序轉(zhuǎn)移等操作。累加器ACC(Accumulator)用于向ALU提供操作數(shù)和存放運算結(jié)果。寄存器B(General Purpose Register)在乘除運算事存放一個操作數(shù),并存放運算后部分結(jié)果。CYACF0RS0OVPRS1PSW.7PSW.0CYCY(PSW.7)(PSW.7)進位進位/ /借位標志位借位標志位。若。若ACCACC在運算過程在運算過程中發(fā)生了進位或借位,則中發(fā)生了進位或借位,則CY=1CY=1;否則;否則=0=0。它也。它也是是布爾處理器布爾處理器的的位累加器位累加器,可用于布爾操作。,可用于布爾操作。ACAC(PSW.6)(PSW.6)半進位半進位/ /借位

5、標志位。借位標志位。若若ACCACC在運算過在運算過程中,程中,D3D3位向位向D4D4位發(fā)生了進位或借位,則位發(fā)生了進位或借位,則CY=1,CY=1,否則否則=0=0。機器在執(zhí)行。機器在執(zhí)行“DA ADA A”指令時指令時自動自動要判要判斷這一位,我們可以暫時不關(guān)心它。斷這一位,我們可以暫時不關(guān)心它。F0 F0 (PSW.5)(PSW.5)可由用戶定義的標志位??捎捎脩舳x的標志位。PSW.6 PSW.5CYACF0RS0OVPRS1PSW.7PSW.0RS1RS1(PSW.4)(PSW.4)、RS0RS0(PSW.3)(PSW.3)工作寄存器組選擇位工作寄存器組選擇位。RS1RS1,RS0

6、 = 0 1 RS0 = 0 1 則選擇了工作寄存器組則選擇了工作寄存器組 1 1 區(qū)區(qū)R0R0R7R7分別分別代表代表08H 08H 0FH0FH單元。單元。RS1RS1,RS0 = 1 0 RS0 = 1 0 則選擇了工作寄存器組則選擇了工作寄存器組 2 2 區(qū)區(qū) R0R0R7R7分別分別代表代表10H 10H 17H17H單元。單元。RS1RS1,RS0 = 1 1 RS0 = 1 1 則選擇了工作寄存器組則選擇了工作寄存器組 3 3 區(qū)區(qū)R0R0R7R7分別分別代表代表18H 18H 1FH1FH單元。單元。PSW.4 PSW.3RS1RS1,RS0 = 0 0 RS0 = 0 0 則

7、選擇了工作寄存器組則選擇了工作寄存器組 0 0 區(qū)區(qū)R0R0R7R7分別分別代表代表08H 08H 0FH0FH單元。單元。 OV OV (PSW.2)(PSW.2)溢出標志位。溢出標志位。 OV=1OV=1時特指累加器在進行帶符號數(shù)時特指累加器在進行帶符號數(shù)(-128+127)(-128+127)運算時出錯(超出范圍);運算時出錯(超出范圍);OV=0OV=0時未出錯。時未出錯。PSW.1 PSW.1 未定義未定義。P P (PSW.0)(PSW.0)奇偶標志位。奇偶標志位。 P=1P=1表示累加器中表示累加器中“1”1”的個數(shù)的個數(shù)為奇數(shù)為奇數(shù) P=0P=0表示累加器中表示累加器中“1”1

8、”的個數(shù)的個數(shù)為偶數(shù)為偶數(shù) CPUCPU隨時監(jiān)視著隨時監(jiān)視著ACCACC中的中的“1”1”的個數(shù)的個數(shù), ,并反映在并反映在PSWPSW中中CYACF0RS0OVPRS1PSW.7PSW.0PSW.2PSW.1(2)控制器控制器是用來控制計算機工作的部件。它包括程序計數(shù)器PC、指令寄存器IR、指令譯碼器ID、堆棧指示器SP、數(shù)據(jù)指針DPTR、時鐘發(fā)生器和定時控制邏輯等。PC PC 不是一個特殊功能寄存器不是一個特殊功能寄存器SFRSFR,但其作,但其作用又十分重要和特殊用又十分重要和特殊!一切分支一切分支/ /跳轉(zhuǎn)跳轉(zhuǎn)/ /調(diào)用調(diào)用/ /中斷中斷/ /復位復位 等操作的等操作的本質(zhì)就是本質(zhì)就是

9、: :改變改變 PC PC 值值總指向下一條指令所在首地址(當前PC值)它是16位的專用計數(shù)器,按機器周期自動加1特點:特點:堆棧(Stack):在片內(nèi)RAM中,常常要指定一個專門的區(qū)域來存放某些特別的數(shù)據(jù),它遵循順序存取和后進先出(LIFO/FILO)的原則,這個RAM區(qū)叫堆棧。1)子程序調(diào)用和中斷服務(wù)時CPU自動將當前 PC值壓棧保存,返回時自動將PC值彈棧。2)保護現(xiàn)場/恢復現(xiàn)場3)數(shù)據(jù)傳輸00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM區(qū)區(qū)普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū) SP棧

10、頂棧頂下一個進棧的下一個進棧的數(shù)據(jù)將存在此數(shù)據(jù)將存在此數(shù)據(jù)數(shù)據(jù)進棧進棧已經(jīng)進棧的數(shù)已經(jīng)進棧的數(shù)據(jù)存放在此據(jù)存放在此初始初始 SP復位后復位后 SP=07HSP=07H,數(shù)據(jù)進棧時:數(shù)據(jù)進棧時:首先首先SP+1SP+1指向指向08H08H單元,第一個放進堆棧單元,第一個放進堆棧的數(shù)據(jù)將放進的數(shù)據(jù)將放進08H08H單元,然后單元,然后SPSP再自再自動增動增 1 1,仍指著棧頂,仍指著棧頂堆棧區(qū)由特殊功能寄存器堆棧區(qū)由特殊功能寄存器堆棧指針堆棧指針SPSP管理管理 堆棧區(qū)可以安排在堆棧區(qū)可以安排在 RAMRAM區(qū)任意位置,一般不安排在區(qū)任意位置,一般不安排在工作寄存器區(qū)和可按位尋址的工作寄存器區(qū)和

11、可按位尋址的RAMRAM區(qū),通常區(qū),通常放在放在RAMRAM區(qū)的區(qū)的靠后靠后的位置。的位置。從堆棧取出數(shù)據(jù)時從堆棧取出數(shù)據(jù)時:取出的數(shù)據(jù)是取出的數(shù)據(jù)是最近放進去的一個數(shù)據(jù),也就是當最近放進去的一個數(shù)據(jù),也就是當前棧頂?shù)臄?shù)據(jù)。然后前棧頂?shù)臄?shù)據(jù)。然后SPSP再自動減再自動減1 1,仍指著棧頂仍指著棧頂00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM區(qū)區(qū)普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū) SP棧頂棧頂當前要出棧的數(shù)據(jù)當前要出棧的數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)出棧出棧SP-1指向下一個指向下一個將要出棧的數(shù)據(jù)將要出

12、棧的數(shù)據(jù)初始初始 SP堆棧區(qū)由特殊功能寄存器堆棧指針SP管理 堆棧區(qū)可以安排在堆棧區(qū)可以安排在 RAMRAM區(qū)任意位置,一般不安排在區(qū)任意位置,一般不安排在工作寄存器區(qū)和可按位尋址的工作寄存器區(qū)和可按位尋址的RAMRAM區(qū),通常區(qū),通常放在放在RAMRAM區(qū)的區(qū)的靠后靠后的位置。的位置。從堆棧取出數(shù)據(jù)時從堆棧取出數(shù)據(jù)時:取出的數(shù)據(jù)是取出的數(shù)據(jù)是最近放進去的一個數(shù)據(jù),也就是當最近放進去的一個數(shù)據(jù),也就是當前棧頂?shù)臄?shù)據(jù)。然后前棧頂?shù)臄?shù)據(jù)。然后SPSP再自動減再自動減1 1,仍指著棧頂仍指著棧頂00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列

13、才有子系列才有的的RAM區(qū)區(qū)普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū)SP-1 指向新的棧指向新的棧頂頂,也就是下一個也就是下一個將要出棧的數(shù)據(jù)將要出棧的數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)出棧出棧初始初始 SP堆棧區(qū)由特殊功能寄存器堆棧指針SP管理 堆棧區(qū)可以安排在堆棧區(qū)可以安排在 RAMRAM區(qū)任意位置,一般不安排在區(qū)任意位置,一般不安排在工作寄存器區(qū)和可按位尋址的工作寄存器區(qū)和可按位尋址的RAMRAM區(qū),通常區(qū),通常放在放在RAMRAM區(qū)的區(qū)的靠后靠后的位置。的位置。特點:特點:1)1)它是它是1616位位的地址寄存器,專門用來存放的地址寄存器,專門用來存放1616位位地址指針地址指針,作為作為

14、間址寄存器間址寄存器使用。使用。2)2)它可以對它可以對64K64K字節(jié)字節(jié)范圍內(nèi)的任意存儲單元尋址。范圍內(nèi)的任意存儲單元尋址。3)3)可分為兩個可分為兩個8 8位獨立位獨立的寄存器的寄存器DPHDPH和和DPLDPL使用。使用。單片機的工作工程是:取指令、譯碼、執(zhí)行指令,一步步地完成各種指令規(guī)定的功能。各指令的操作順序在時間上有嚴格的次序,這種操作的時間順序稱為時序。單片機的時鐘信號用來為單片機芯片內(nèi)部各種操作提供時間基準。 MCS-51單片機指令的取指和執(zhí)行的時序ALE時鐘S1S4S6S5S3S2讀操作碼讀操作碼(無效)(a) 1字節(jié)1周期指令讀下一指令S1S4S6S5S3S2讀操作碼讀第

15、二字節(jié)(b) 2字節(jié)1周期指令讀下一指令S1S4S6S5S3S2讀操作碼讀操作碼(無效)(c) 1字節(jié)2周期指令讀下一指令S1S4S6S5S3S2圖 2 2 MCS-51的取指/執(zhí)行時序 數(shù)據(jù)存儲器數(shù)據(jù)存儲器RAMRAM(Random Access MemoryRandom Access Memory)程序存儲器程序存儲器ROMROM(Read Only MemoryRead Only Memory)閃速存儲器閃速存儲器Flash MemoryFlash MemoryEPROMEPROMErasable Programmable ROMErasable Programmable ROMEEPR

16、OM/EEEPROM/E2 2PROMPROMElectrical ErasableElectrical Erasable Programmable ROM Programmable ROM按字節(jié)尋址按字節(jié)尋址:每個字節(jié):每個字節(jié)(8(8個位個位) )占一個地址占一個地址按位尋址按位尋址:有的存儲器每一個位就有一個地址:有的存儲器每一個位就有一個地址圖 2 4 8051存儲空間分配圖 8051 8051片內(nèi)存儲器片內(nèi)存儲器 0FFFH0FFFHFFHFFH80H80H7FH7FH00H 0000H00H 0000HSFRSFRRAMRAM64KB64KBRAMRAM4KB4KBROMROMEA

17、=1EA=164KB64KBROMROMEA=0EA=00000H0000HFFFFHFFFFH1000H1000H0FFFH0FFFHFFFFHFFFFH0000H0000H8031內(nèi)部沒有片內(nèi)ROM存儲器,8051/8751有4KB片內(nèi)ROM/EPROM存儲器,地址范圍為0000HFFFFH。無論8031還是8051/8751,都可外接外部ROM。但片內(nèi)外之和不能超過64KB。EA接+5V高電平,則機器使用片內(nèi)4KB ROM; 若EA接地,則機器自動使用片外ROM。存儲器單元保留單元目的0000H0002H復位后初始化引導程序0003H000AH外部中斷0000BH0012H定時器0溢出中

18、斷0013H001AH外部中斷1001BH0022H定時器1溢出中斷0023H002AH串行端口中斷002BH定時器2溢出中斷(8052) MCS-51MCS-51的的RAMRAM存儲器有存儲器有片內(nèi)片內(nèi)和和片外片外之分:之分:片內(nèi)片內(nèi)RAM 128RAM 128字節(jié)字節(jié)(00H7FH00H7FH)片外片外RAMRAM共有共有64K64K字節(jié)字節(jié)(0000HFFFFH0000HFFFFH)MCS-51 MCS-51 RAMRAM的實際存儲容量是的實際存儲容量是超過超過64KB64KB的的,片片內(nèi)、外的內(nèi)、外的0000H00FFH0000H00FFH是重疊的是重疊的。MOVMOV指令用于指令用于

19、片內(nèi)片內(nèi)RAMRAM的尋址的尋址MOVXMOVX指令用于指令用于片外片外RAMRAM的尋址的尋址片內(nèi)低128字節(jié)RAMRAM區(qū)片內(nèi)片內(nèi)RAMRAM低低128128字節(jié)字節(jié)(00H7FH00H7FH)00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū)SFR分布在分布在80H-FFH其中其中83個位可個位可位尋址位尋址所有的所有的RAMRAM區(qū)區(qū)( (包括包括位位尋址區(qū)、工作寄存器尋址區(qū)、工作寄存器區(qū))都可以用于存放區(qū))都可以用于存放數(shù)據(jù),故也稱為數(shù)據(jù),故也稱為數(shù)據(jù)數(shù)據(jù)緩存寄存器緩存寄存器低低1

20、28128字節(jié)字節(jié)高高128128字節(jié)字節(jié)00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū)R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器區(qū)工作寄存器區(qū)3工作寄存器區(qū)工作寄存器區(qū)2工作寄存器區(qū)工作寄存器區(qū)1工作寄存器區(qū)工作寄存器區(qū)00FH10H17H18H片內(nèi)片內(nèi)RAMRAM前前3232個單元是個單元是工作寄存器區(qū)工作寄存器區(qū) (00H1FH)(00H1FH) SFR00H00H20H20H2FH2FH7FH7FH1FH1FH30H30

21、H數(shù)據(jù)區(qū)數(shù)據(jù)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū)27H22H21H20H26H24H25H23H28H2FH單元地址單元地址07 06 05 04 03 02 01 000F 0E 0D 0C 0B 0A 09 0817 16 15 14 13 12 11 101F 1E 1D 1C 1B 1A 19 1827 26 25 24 23 22 21 202F 2E 2D 2C 2B 2A 29 2837 36 35 34 33 32 31 303F 3E 3D 3C 3B 3A 39 3847 46 45 44 43 42 41 407F 7E 7D 7C 7B 7A 79 78位地址位地

22、址總共總共128個可個可按位按位尋址尋址的位的位片內(nèi)片內(nèi)RAMRAM中有中有128128個可按位尋址的位。個可按位尋址的位。 位地址位地址: :00H7FH 00H7FH 分布在分布在: :20H2FH20H2FH單元單元片內(nèi)低128字節(jié)RAMRAM區(qū)堆棧、數(shù)據(jù)緩沖區(qū)(用戶區(qū)) 地址為30H7FH用戶區(qū)共有80個單元,用于存放用戶數(shù)據(jù)或作堆棧區(qū)使用。MCS-51對數(shù)據(jù)區(qū)的每個RAM單元是按字節(jié)存取的。8051有21個SFR (P.3234)每個SFR占一個存儲單元,它們離散地分布在80H-FFH地址范圍內(nèi)。用戶可以對SFR進行字節(jié)存?。菏褂梦锢淼刂罚喝缋奂悠鰽用E0H,B用F0H使用寄存器標號

23、:如累加器A用Acc,B用B用戶也可以對帶“*”的SFR進行位尋址。2.3.1.I/O2.3.1.I/O引腳(引腳(4 4 8=328=32條)條)80518051共有四個并行端口,每個端口有共有四個并行端口,每個端口有8 8條引腳線,條引腳線,用于傳送數(shù)據(jù)、地址。用于傳送數(shù)據(jù)、地址。 P0.0P0.7:P0.0P0.7:8 8位數(shù)據(jù)口位數(shù)據(jù)口和和輸出低輸出低8 8位地址位地址復用口復用口 ( (復用時是復用時是雙向口雙向口;不復用時也是;不復用時也是準雙向口準雙向口) ) P1.0P1.7: P1.0P1.7: 通用通用I/OI/O口口(準雙向口)(準雙向口) P2.0P2.7: P2.0P

24、2.7: 輸出高輸出高8 8位地址位地址(用于尋址時是(用于尋址時是輸出口;輸出口;不尋址時是不尋址時是準雙向口準雙向口) P3.0P3.7: P3.0P3.7: 具有特定的第二功能具有特定的第二功能(準雙向口)(準雙向口)注意:注意:在不外擴在不外擴ROM/RAMROM/RAM時,時,P0P0P3P3均可作通用均可作通用I/OI/O口使用,而且口使用,而且都是都是準雙向準雙向I/OI/O口!口!MCS-51雙列直插式封裝和引腳分配MCS-51MCS-51單片機單片機4040腳腳VccVcc, , GNDGND 2 2XTAL1XTAL1, , XTAL2XTAL2 2 2RST/RST/Vp

25、 Vp 1 1EAEA/Vpp /Vpp 1 1ALEALE/PROG /PROG 1 1PSENPSEN 1 1P0.0P0.7 P0.0P0.7 8 8 P1.0P1.7 P1.0P1.7 8 8 P2.0P2.7 P2.0P2.7 8 8 P3.0P3.7 P3.0P3.7 8 8返回2.2.控制引腳(控制引腳(4 4條)條)ALEALE/PROG/PROG: : 地址鎖存允許地址鎖存允許控制端控制端。 EAEA/Vpp/Vpp: : 尋址外部尋址外部ROMROM控制端控制端。低有效。低有效 片內(nèi)有片內(nèi)有ROMROM時應當接高電平。時應當接高電平。PSENPSEN:選通外部:選通外部RO

26、MROM的讀的讀(OE)(OE)控制端控制端。 低電平有效低電平有效RESETRESET: : 復位端復位端 正脈沖有效(正脈沖有效(寬度寬度 8 mS8 mS)3.3.時鐘引腳(時鐘引腳(2 2條)條)XTAL1, XTAL2XTAL1, XTAL2: : 片內(nèi)振蕩電路輸入、輸出端片內(nèi)振蕩電路輸入、輸出端4.4.電源引腳(電源引腳(2 2條)條)Vcc, VVcc, VSSSS: : 電源端電源端MCS-51單片機的引腳(電源端)V VCCCC, V, VSSSS: : 正電源端與接地端(正電源端與接地端(+5V/3.3V/2.7V)+5V/3.3V/2.7V)不同不同 的單片機可以允許不同

27、的工作電壓,不同的單片機可以允許不同的工作電壓,不同 的單片機表現(xiàn)出的功耗也不同。的單片機表現(xiàn)出的功耗也不同。MCS-51單片機的引腳(晶振端)V VCCCC, V, VSSSS: : 正電源端與接地端(正電源端與接地端(+5V/3.3V/2.7V)+5V/3.3V/2.7V)不同不同 的單片機可以允許不同的工作電壓,不同的單片機可以允許不同的工作電壓,不同 的單片機表現(xiàn)出的功耗也不同。的單片機表現(xiàn)出的功耗也不同。XTAL1, XTAL2: XTAL1, XTAL2: 片內(nèi)振蕩電路輸入片內(nèi)振蕩電路輸入/ /輸出端輸出端MCS-51單片機的引腳(晶振端)V VCCCC, V, VSSSS: :正

28、電源端與接地端正電源端與接地端 (+5V/(+5V/;地線;地線) )XTAL1, XTAL2: XTAL1, XTAL2: 片內(nèi)振蕩電路輸入片內(nèi)振蕩電路輸入/ /輸出端輸出端151545pf45pf2 21 112MHz12MHz(MCS-51MCS-51) 0 024MHz24MHz(Atmel-89CAtmel-89C)XTAL1XTAL1XTAL2XTAL2也可以由也可以由 XTAL1XTAL1端接入外部時鐘,端接入外部時鐘,此時應將此時應將 XTAL2XTAL2接地:接地:XTAL2XTAL2XTAL1XTAL1外部時鐘外部時鐘通常外接通常外接一個晶振一個晶振兩個電容兩個電容MCS-

29、51單片機的引腳(晶振端)V VCCCC, V, VSSSS: : 正電源端與接地端(正電源端與接地端(+5V+5V;地線;地線) )XTAL1, XTAL2: XTAL1, XTAL2: 片內(nèi)振蕩電路輸入、輸出端片內(nèi)振蕩電路輸入、輸出端CPUCPU總是按照一定的時鐘節(jié)拍與時序工作:總是按照一定的時鐘節(jié)拍與時序工作:振蕩周期振蕩周期/ /時鐘周期:時鐘周期: TcTc= =晶振頻率晶振頻率foscfosc(或外加頻率)的倒數(shù)(或外加頻率)的倒數(shù)狀態(tài)周期:狀態(tài)周期:TsTs= =2 2個時鐘周期個時鐘周期( (TcTc) )(很少用到此概念)(很少用到此概念)機器周期:機器周期:TmTm= =6

30、 6個狀態(tài)周期個狀態(tài)周期( (TsTs)=)=1212個振蕩周期個振蕩周期( (TcTc) )指令周期指令周期: : Ti:Ti:執(zhí)行一條指令所需的機器周期執(zhí)行一條指令所需的機器周期( (TmTm) )數(shù)數(shù)牢牢記住牢牢記?。? 1個振蕩周期個振蕩周期 = = 晶振頻率晶振頻率foscfosc的倒數(shù);的倒數(shù); 1 1個機器周期個機器周期 = 12= 12個振蕩周期;個振蕩周期; 1 1個指令周期個指令周期 = 1= 1、2 2、4 4個機器周期個機器周期 MCS-51單片機的引腳(復位端)V VCCCC;V VSSSS : : 電源端電源端 (+5V+5V;地線;地線) )XTAL1, XTAL

31、2: XTAL1, XTAL2: 片內(nèi)振蕩電路輸入、輸出端片內(nèi)振蕩電路輸入、輸出端RST/VRST/VPDPD: : 復位端(高電平有效,寬度復位端(高電平有效,寬度 兩個機器周期兩個機器周期)復位使單片機進入某種確定的復位使單片機進入某種確定的初始狀態(tài)初始狀態(tài): PC PC值歸零(值歸零(0000H0000H);); 各個各個SFRSFR被賦予初始值(見被賦予初始值(見P.42P.42):): P0P0P3 = 0FFHP3 = 0FFH,Acc =00HAcc =00H,B =00HB =00H,TH0=00HTH0=00H,TL0=00HTL0=00H,TH1=00HTH1=00H,TL

32、0=00HTL0=00H,SP=07HSP=07H,PSW=0 PSW=0 退出處于節(jié)電工作方式的停頓狀態(tài)、退出一切退出處于節(jié)電工作方式的停頓狀態(tài)、退出一切程序進程、退出程序的死循環(huán),程序進程、退出程序的死循環(huán),從頭開始從頭開始。MCS-51單片機的引腳(復位端)V VCCCC;V VSSSS : : 電源端電源端 (+5V+5V;地線;地線) )XTAL1, XTAL2: XTAL1, XTAL2: 片內(nèi)振蕩電路輸入、輸出端片內(nèi)振蕩電路輸入、輸出端RST/VRST/VPDPD: : 復位端(高電平有效,寬度復位端(高電平有效,寬度 兩個機器周期兩個機器周期)MCS-51單片機的引腳(復位端)

33、+5V10uF10KVccRSTGND上電復位上電復位10uF10KVccRSTGND手動手動&上電復位上電復位1KV VCCCC;V VSSSS : : 電源端電源端 (+5V+5V;地線;地線) )XTAL1, XTAL2: XTAL1, XTAL2: 片內(nèi)振蕩電路輸入、輸出端片內(nèi)振蕩電路輸入、輸出端RST/VRST/VPDPD: : 復位端(高電平有效,寬度復位端(高電平有效,寬度 兩個機器周期兩個機器周期)+5V返回MCS-51單片機的引腳(EA端)V VCCCC;V VSSSS : : 電源端電源端 (+5V+5V;地線;地線) )XTAL1, XTAL2: XTAL1, X

34、TAL2: 片內(nèi)振蕩電路輸入、輸出端片內(nèi)振蕩電路輸入、輸出端RST/VRST/VPDPD: : 復位端(高電平有效,寬度復位端(高電平有效,寬度 兩個機器周期兩個機器周期)EA/Vpp: EA/Vpp: 尋址外部尋址外部ROMROM控制端控制端/ /編程電源輸入端。編程電源輸入端。 低有效低有效,片內(nèi),片內(nèi)無無ROMROM時時必須必須接地接地; 片內(nèi)片內(nèi)有有ROMROM時時應當應當接高電平接高電平; 對片內(nèi)對片內(nèi)ROMROM編程時編程正電源加到此端。編程時編程正電源加到此端。MCS-51單片機的引腳(ALE端)V VCCCC;V VSSSS : : 電源端電源端 (+5V+5V;地線;地線)

35、)XTAL1, XTAL2: XTAL1, XTAL2: 片內(nèi)振蕩電路輸入、輸出端片內(nèi)振蕩電路輸入、輸出端RST/VRST/VPDPD: : 復位端(高電平有效,寬度復位端(高電平有效,寬度 兩個機器周期兩個機器周期)EA/Vpp: EA/Vpp: 尋址外部尋址外部ROMROM控制端控制端/ /編程電源輸入端。編程電源輸入端。ALE/PROG: ALE/PROG: 地址鎖存允許地址鎖存允許/ /編程脈沖輸入端。編程脈沖輸入端。 P0P0口尋址外部低口尋址外部低8 8位地址位地址時時接外部鎖存器接外部鎖存器 G G端;端; ALEALE端端平時會輸出周期正脈沖平時會輸出周期正脈沖:f f fos

36、c/6fosc/6 ; 對片內(nèi)對片內(nèi)ROMROM編程時編程脈沖由此端加入。編程時編程脈沖由此端加入。 MCS-51單片機的引腳(PSEN端)PSENPSEN:尋址外部程序存儲器時選通外部尋址外部程序存儲器時選通外部EPROMEPROM的的 讀控制端讀控制端(OEOE)低有效。低有效。G單片機單片機鎖存器鎖存器74LS373P0.0-P0.7ALEPSENP2.0-P2.48D8QOEA8-A12A0-A7D0-D7EAOECEEPROMMCS-51單片機的引腳(PSEN端)PSENPSEN:尋址外部程序存儲器時選通外部尋址外部程序存儲器時選通外部EPROMEPROM的的 讀控制端讀控制端(OE

37、OE)低有效。低有效。一般情況下,微機的CPU的外部都有單獨的地址總線、數(shù)據(jù)總線和控制總線。而單片機由于引腳數(shù)量的限制,數(shù)據(jù)線和地址線是復用的,并與I/O口線兼用。8051的40條引腳,除電源、晶振接入和通用I/O端口外,其余引腳都是為系統(tǒng)擴展而設(shè)置的。地 址鎖存器地址線數(shù)據(jù)線控制線P2P0PSENALERDWR8051圖23片外總線配置圖一、地址總線P2口提供高8位地址A8 A15,P0口經(jīng)地址鎖存器提供低8位地址A7 A0 。共16位地址,外部尋址空間為64K。二、數(shù)據(jù)總線P0口提供數(shù)據(jù)總線D7 D0 。P0口是分時復用線,它既輸送低8位地址信息(經(jīng)地址鎖存器鎖存),又要傳送數(shù)據(jù)信息。三、

38、控制總線主要由ALE、PSEN、WR、RD組成,其中WR、RD是P3口的第二功能。復位是使單片機的CPU或系統(tǒng)中的其它部件處于某一確定的初始狀態(tài),并從這一狀態(tài)開始工作。一、復位電路當在8051的RST引腳輸入高電平并保持2個機器周期,單片機就執(zhí)行復位操作。PC與SFR復位狀態(tài)表寄存器復位狀態(tài)寄存器復位狀態(tài)PC0000HTCON00HA00HT2CON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0P3FFHSCON00HIPXX000000BSBUFXXHIE0X000000BPCON0XXX0000BTMOD00H I/O端口又稱為I

39、/O接口,也叫I/O通道或通路。I/O端口是MCS-51單片機對外部實現(xiàn)控制和信息交換的必經(jīng)之路,用于信息的傳送。 I/O端口有并行和串行之分,串行I/O端口一次只能傳送一位二進制信息,并行I/O端口一次可傳送一組二進制信息。 8051有4個8位并行I/O端口,稱為P0、P1、P2和P3,每個端口有8條I/O線。 每個端口內(nèi)部都有一個8位數(shù)據(jù)輸出鎖存器和一個8位數(shù)據(jù)輸入緩沖器,作輸出時數(shù)據(jù)可以鎖存,作輸入時數(shù)據(jù)可以緩沖。 下面分別對各端口結(jié)構(gòu)加以說明。P1.0P1.7: P1.0P1.7: 準雙向準雙向I/OI/O口口(內(nèi)置內(nèi)置了上拉電阻)了上拉電阻) 輸出時一切照常,輸出時一切照常,僅在作僅

40、在作輸入口輸入口用時要先對其用時要先對其 寫寫“1 1”。21DQCK/Q讀引腳讀引腳讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部內(nèi)部總線總線Vcc引腳引腳P1.X內(nèi)部上拉電阻內(nèi)部上拉電阻簡單測控實例原理圖21DQCK/Q讀引腳讀引腳讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部內(nèi)部總線總線Vcc引腳引腳P1.X內(nèi)部上拉電阻內(nèi)部上拉電阻輸輸出出數(shù)據(jù)數(shù)據(jù) = 1 時時110截截止止=1I/O端口結(jié)構(gòu)(P1口)P1.0P1.7: P1.0P1.7: 準雙向準雙向I/OI/O口口(內(nèi)置內(nèi)置了上拉電阻)了上拉電阻) 輸出時一切照常,輸出時一切照常,僅在作僅在作輸入口輸入口用時要先對其用時要先對其 寫寫“1 1”。21D

41、QCK/Q讀引腳讀引腳讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部內(nèi)部總線總線Vcc引腳引腳P1.X內(nèi)部上拉電阻內(nèi)部上拉電阻輸輸出出數(shù)據(jù)數(shù)據(jù) = 0 時時001=0導導通通I/O端口結(jié)構(gòu)(P1口)P1.0P1.7: P1.0P1.7: 準雙向準雙向I/OI/O口(口(內(nèi)置內(nèi)置了上拉電阻了上拉電阻) 輸出時一切照常,輸出時一切照常,僅在作僅在作輸入口輸入口用時要先對其用時要先對其 寫寫“1 1”。21DQCK/Q讀引腳讀引腳 =1讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部內(nèi)部總線總線Vcc引腳引腳P1.X內(nèi)部上拉電阻內(nèi)部上拉電阻輸輸入入數(shù)據(jù)時,要先對其寫數(shù)據(jù)時,要先對其寫“1”110截截止止I/O端口結(jié)構(gòu)(P

42、1P1口)口)P1.0P1.7: P1.0P1.7: 準雙向準雙向I/OI/O口(口(內(nèi)置內(nèi)置了上拉電阻了上拉電阻) 輸出時一切照常,輸出時一切照常,僅在作僅在作輸入口輸入口用時要先對其用時要先對其 寫寫“1 1”。P1.3作輸入端口光路通暢,光路通暢,R亮亮 2K 光路阻斷,光路阻斷,R暗暗 400K R亮亮 250K JOB3: CLR P1.1 ;亮綠燈REDO: SETB P1.3 ;P1.3作輸入口必先置1CHECK:JNB P1.3,CHECK ;檢測通道是否被阻斷?LOOP: ;有入侵者,報警!AJMP REDO ;再跳回去檢測任務(wù)三:紅外防盜報警P1.3口用于輸入狀態(tài)檢測的語句

43、: R亮250K ,紅外線光路阻斷時,P1.3端高電平I/O端口結(jié)構(gòu)(P0口)P0.0P0.7: P0.0P0.7: 雙向雙向I/O I/O (內(nèi)置(內(nèi)置場效應管場效應管上拉)上拉) 尋址外部程序存儲器時尋址外部程序存儲器時分時分時作為作為雙向雙向8 8位數(shù)據(jù)口位數(shù)據(jù)口和和輸出輸出低低8 8位地址位地址復用口復用口;不接外部程序存儲器時可不接外部程序存儲器時可作為作為8 8位位準雙準雙向向I/OI/O口口使用。使用。21DQCK/Q讀引腳讀引腳讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部內(nèi)部總線總線地址地址/數(shù)據(jù)數(shù)據(jù) 控制控制引腳引腳P0.X34Vcc21DQCK/Q讀引腳讀引腳 =1讀鎖存器讀鎖存器

44、寫鎖寫鎖存器存器內(nèi)部內(nèi)部總線總線地址地址/數(shù)據(jù)數(shù)據(jù) 控制控制引腳引腳P0.X34控制控制=0 時時,此腳作,此腳作輸入口輸入口(事先必須對它寫(事先必須對它寫“1”)00100截截止止截截止止=0VccI/O端口結(jié)構(gòu)(P0口)P0.0P0.7: P0.0P0.7: 雙向雙向I/O I/O (內(nèi)置(內(nèi)置場效應管場效應管上拉)上拉) 尋址外部程序存儲器尋址外部程序存儲器時分時作為時分時作為雙向雙向8 8位數(shù)據(jù)口位數(shù)據(jù)口和和輸出輸出低低8 8位地址位地址復用口;不接外部程序存儲器時可作為復用口;不接外部程序存儲器時可作為8 8位位準雙準雙向向I/OI/O口口使用。使用。21DQCK/Q讀引腳讀引腳

45、=0讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部內(nèi)部總線總線地址地址/數(shù)據(jù)數(shù)據(jù) 控制控制=1引腳引腳P0.X34控制控制=1時,此腳作地址時,此腳作地址/數(shù)據(jù)數(shù)據(jù)復用口復用口:(1)輸出地址輸出地址/數(shù)據(jù)數(shù)據(jù) =0 時時1011=0導導通通截截止止=0VccI/O端口結(jié)構(gòu)(P0口)P0.0P0.7: P0.0P0.7: 雙向雙向I/O I/O (內(nèi)置(內(nèi)置場效應管場效應管上拉)上拉) 尋址外部程序存儲器時分時作為尋址外部程序存儲器時分時作為雙向雙向8 8位數(shù)據(jù)口位數(shù)據(jù)口和和輸出輸出低低8 8位地址位地址復用口;不接外部程序存儲器時可作為復用口;不接外部程序存儲器時可作為8 8位位準雙準雙向向I/OI/

46、O口口使用。使用。21DQCK/Q讀引腳讀引腳 =0讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部內(nèi)部總線總線地址地址/數(shù)據(jù)數(shù)據(jù) 控制控制=1引腳引腳P0.X34控制控制=1時,此腳作地址時,此腳作地址/數(shù)據(jù)數(shù)據(jù)復用口復用口:(2)輸出地址輸出地址/數(shù)據(jù)數(shù)據(jù) =1 時時1100=1截截止止導導通通=1VccI/O端口結(jié)構(gòu)(P0口)P0.0P0.7: P0.0P0.7: 雙向雙向I/O I/O (內(nèi)置(內(nèi)置場效應管場效應管上拉)上拉) 尋址外部程序存儲器時分時作為尋址外部程序存儲器時分時作為雙向雙向8 8位數(shù)據(jù)口位數(shù)據(jù)口和和輸出輸出低低8 8位地址位地址復用口;不接外部程序存儲器時可作為復用口;不接外部程

47、序存儲器時可作為8 8位位準雙準雙向向I/OI/O口口使用。使用。21DQCK/Q讀引腳讀引腳 =1讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部內(nèi)部總線總線地址地址/數(shù)據(jù)數(shù)據(jù) 控制控制=1引腳引腳P0.X34控制控制=1時,此腳作地址時,此腳作地址/數(shù)據(jù)數(shù)據(jù)復用口復用口: (3)輸入數(shù)據(jù)時,輸入指令將使引腳與內(nèi)部總線直通輸入數(shù)據(jù)時,輸入指令將使引腳與內(nèi)部總線直通VccI/O端口結(jié)構(gòu)(P0口)P0.0P0.7: P0.0P0.7: 雙向雙向I/O I/O (內(nèi)置(內(nèi)置場效應管場效應管上拉)上拉) 尋址外部程序存儲器時分時作為尋址外部程序存儲器時分時作為雙向雙向8 8位數(shù)據(jù)口位數(shù)據(jù)口和和輸出輸出低低8 8

48、位地址位地址復用口;不接外部程序存儲器時可作為復用口;不接外部程序存儲器時可作為8 8位位準雙準雙向向I/OI/O口口使用。使用。I/O端口結(jié)構(gòu)(P2口)P2.0P2.7: P2.0P2.7: 雙向雙向I/O I/O (內(nèi)置了上拉電阻)(內(nèi)置了上拉電阻) 尋址外部程序存儲器時尋址外部程序存儲器時輸出高輸出高8 8位地址位地址;不接外部程序不接外部程序存儲器時可存儲器時可作為作為8 8位位準雙向準雙向I/OI/O口口使用。使用。21DQCK/Q讀引腳讀引腳讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部內(nèi)部總線總線地址高地址高8位位 控制控制引腳引腳 P2.X3內(nèi)部上拉電阻內(nèi)部上拉電阻Vcc21DQCK/Q

49、讀引腳讀引腳 =0讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部內(nèi)部總線總線地址高地址高8位位 控制控制 引腳引腳P2.X控制控制=0時,此腳作通用時,此腳作通用輸出口輸出口: 輸出輸出=1時時110截截止止3內(nèi)部上拉電阻內(nèi)部上拉電阻11Vcc=1=0I/O端口結(jié)構(gòu)(P2口)P2.0P2.7: P2.0P2.7: 雙向雙向I/O I/O (內(nèi)置了上拉電阻)(內(nèi)置了上拉電阻) 尋址外部程序存儲器時尋址外部程序存儲器時輸出高輸出高8 8位地址位地址;不接外部程序;不接外部程序存儲器時可作為存儲器時可作為8 8位位準雙向準雙向I/OI/O口口使用。使用。21DQCK/Q讀引腳讀引腳 =0讀鎖存器讀鎖存器寫鎖寫

50、鎖存器存器內(nèi)部內(nèi)部總線總線地址高地址高8位位 控制控制 引腳引腳P2.X控制控制=0時,此腳作通用時,此腳作通用輸出口輸出口:輸出輸出=0時時001導導通通3內(nèi)部上拉電阻內(nèi)部上拉電阻00Vcc=0=0I/O端口結(jié)構(gòu)(P2口)P2.0P2.7: P2.0P2.7: 雙向雙向I/O I/O (內(nèi)置了上拉電阻)(內(nèi)置了上拉電阻) 尋址外部程序存儲器時尋址外部程序存儲器時輸出高輸出高8 8位地址位地址;不接外部程序;不接外部程序存儲器時可作為存儲器時可作為8 8位位準雙向準雙向I/OI/O口口使用。使用。21DQCK/Q讀引腳讀引腳 =0讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部內(nèi)部總線總線地址高地址高8位位 控制控制=1 引腳引腳P2.X控制控制=1 時,此腳作時,此腳作高高8位地址位地址A8A15輸出口:輸出口:當當輸出輸出 =1 時時10截截止止3內(nèi)部上拉電阻內(nèi)部上拉電阻1=1Vcc=1I/O端口結(jié)構(gòu)(P2口)P2.0P2.7: P2.0P2.7: 雙向雙向I/O I/O (內(nèi)置了上拉電阻)(內(nèi)置了上拉電阻) 尋址外部程序存儲器時尋址外部程序存儲器時輸出高輸出高8 8位地址位地址;不接外部程序;不接外部程序存儲器時可作為存儲器時可作為8 8位位準雙向準雙向I/OI/O口口使用。使用。21DQC

溫馨提示

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

評論

0/150

提交評論