chap2 MCS-51的結(jié)構(gòu)及原理_第1頁(yè)
chap2 MCS-51的結(jié)構(gòu)及原理_第2頁(yè)
chap2 MCS-51的結(jié)構(gòu)及原理_第3頁(yè)
chap2 MCS-51的結(jié)構(gòu)及原理_第4頁(yè)
chap2 MCS-51的結(jié)構(gòu)及原理_第5頁(yè)
已閱讀5頁(yè),還剩62頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第2章MCS-51單片機(jī)的結(jié)構(gòu)及原理電力學(xué)院王克英第2章MCS-51單片機(jī)的結(jié)構(gòu)及原理2.1MCS-51單片機(jī)的結(jié)構(gòu)2.2MCS-51的存儲(chǔ)器結(jié)構(gòu)2.3復(fù)位、時(shí)鐘與時(shí)序2.4并行I/O端口22第2章MCS-51單片機(jī)的結(jié)構(gòu)及原理2.1MCS-51單片機(jī)的結(jié)構(gòu)2.2MCS-51的存儲(chǔ)器結(jié)構(gòu)2.3復(fù)位、時(shí)鐘與時(shí)序2.4并行I/O端口332.1.1MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu)OSCROMRAMT/CCPUBECI/OUART時(shí)鐘源計(jì)數(shù)輸入外部中斷內(nèi)部中斷控制信號(hào)并行口串行通訊4451子系列與52子系列51子系列:8031、8051、8751【128BRAM;4KBROM;2個(gè)16位定時(shí)器/計(jì)數(shù)器;5個(gè)中斷源】52子系列:8032、8052、8752【256BRAM;8KBROM;3個(gè)16位定時(shí)器/計(jì)數(shù)器;6個(gè)中斷源】實(shí)際常用器件——AT89C51、AT89C52AT89C51——4KBFlashROMAT89C52——8KBFlashROM2.1.1MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu)552.1.1MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu)OSCROMRAMT/CCPUBECI/OUART時(shí)鐘源計(jì)數(shù)輸入外部中斷內(nèi)部中斷控制信號(hào)并行口串行通訊CPU66CPU(CentralProcessingUnit)由運(yùn)算器和控制器構(gòu)成運(yùn)算器——對(duì)數(shù)據(jù)進(jìn)行算術(shù)、邏輯運(yùn)算和位操作,核心為算術(shù)邏輯運(yùn)算單元ALU,最主要的數(shù)據(jù)來(lái)源為累加器ACC控制器——控制各單元協(xié)調(diào)工作,包括指令寄存器、指令譯碼器及控制邏輯電路,其中一個(gè)重要的寄存器是程序計(jì)數(shù)器PC(ProgramCounter)77CPU(CentralProcessingUnit)PC(ProgramCounter)指向ROM存儲(chǔ)單元的地址指針存放下一條要執(zhí)行的指令在程序存儲(chǔ)器中的起始地址基本工作方式:(1)復(fù)位時(shí)PC初值為0→復(fù)位后程序從0開(kāi)始運(yùn)行(2)PC自動(dòng)加1【程序順序執(zhí)行】(3)執(zhí)行轉(zhuǎn)移指令、子程序調(diào)用或中斷調(diào)用時(shí),PC將被置入新的數(shù)值【改變程序流向】88CPU(CentralProcessingUnit)PC(ProgramCounter)MCS-51單片機(jī)的PC為16位二進(jìn)制寄存器尋址能力:216=65536=64KBPC最小值0000000000000000B=0000HPC最大值1111111111111111B=FFFFH99CPU(CentralProcessingUnit)數(shù)據(jù)指針DPTR(DataPointer)指向ROM或RAM存儲(chǔ)單元的地址指針存放CPU讀取或?qū)懭霐?shù)據(jù)的地址為16位二進(jìn)制寄存器尋址能力:216=65536=64KB地址范圍0000H~FFFFH包括兩個(gè)8位寄存器 DPH(高8位) DPL(低8位)1010CPU(CentralProcessingUnit)累加器Acc(Accumulator)是一個(gè)最常用的寄存器,可寫(xiě)為A。大多數(shù)單操作數(shù)指令的操作數(shù)取自累加器,很多雙操作數(shù)指令的一個(gè)操作數(shù)也取自累加器運(yùn)算結(jié)果通常存放在累加器1111CPU(CentralProcessingUnit)程序狀態(tài)字PSW(ProgramStatusWord)存放程序運(yùn)行過(guò)程中的各種狀態(tài)信息8位寄存器,每位有不同的含義CYACF0RS1RS0OVF1P1212程序狀態(tài)字PSW(ProgramStatusWord)CY(PSW.7)——進(jìn)位/借位標(biāo)志位

在進(jìn)行加或減運(yùn)算時(shí),如果運(yùn)算結(jié)果最高位有進(jìn)位或借位,CY由硬件置“1”,否則清“0”。10010011+11110000110000011運(yùn)算結(jié)果CYCYACF0RS1RS0OVF1P.1313程序狀態(tài)字PSW(ProgramStatusWord)AC(PSW.6)——輔助進(jìn)位標(biāo)志位

在進(jìn)行加或減運(yùn)算時(shí),如果運(yùn)算結(jié)果低四位向高四位產(chǎn)生進(jìn)位或借位,由硬件置“1”,否則清“0”。01001111+1010000111110000運(yùn)算結(jié)果CY=0CYACF0RS1RS0OVF1P.AC=11414程序狀態(tài)字PSW(ProgramStatusWord)F0(PSW.5)、F1(PSW.1)——用戶標(biāo)志位

用戶可以用軟件置位或清位,也可以用軟件測(cè)試它,以便控制程序的流向。CYACF0RS1RS0OVF1P1515程序狀態(tài)字PSW(ProgramStatusWord)RS1,RS0(PSW.4~3)工作寄存器組選擇位

軟件置位或清零,指定當(dāng)前工作寄存器組。CYACF0RS1RS0OVF1PRS1RS0寄存器組片內(nèi)RAM地址00第0組00H~07H01第1組08H~0FH10第2組10H~17H11第3組18H~1FH1616程序狀態(tài)字PSW(ProgramStatusWord)OV(PSW.2)——溢出標(biāo)志

當(dāng)執(zhí)行算術(shù)指令時(shí),由硬件置位或清零,以指示運(yùn)算是否產(chǎn)生溢出:(1)加減運(yùn)算——OV為Cy7與Cy6的異或,“1”表示帶符號(hào)數(shù)加減結(jié)果超過(guò)補(bǔ)碼范圍(2)乘法運(yùn)算——結(jié)果超過(guò)255時(shí),OV=1(3)除法運(yùn)算——除數(shù)為0時(shí),OV=1CYACF0RS1RS0OVF1P1717程序狀態(tài)字PSW(ProgramStatusWord)CYACF0RS1RS0OVF1P01010011+1111110001001111..CY=Cy7=1Cy6=1OV=Cy7⊕Cy6=0無(wú)符號(hào):83+252=335>255,有進(jìn)位,Cy=1有符號(hào):83+(-4)=79,無(wú)溢出,OV=01818程序狀態(tài)字PSW(ProgramStatusWord)CYACF0RS1RS0OVF1P10000101+1010111100110100.CY=Cy7=1Cy6=0OV=Cy7⊕Cy6=1無(wú)符號(hào):133+175=308>255,有進(jìn)位,Cy=1有符號(hào):-123+(-81)=-204,有溢出,OV=11919程序狀態(tài)字PSW(ProgramStatusWord)P(PSW.0)——奇偶標(biāo)志位該位始終跟蹤累加器A中含“1”個(gè)數(shù)的奇偶性如果A中有奇數(shù)個(gè)“1”,則P置“1”,否則置“0”。CYACF0RS1RS0OVF1P若A=10011111,則P=0若A=11000001,則P=1用途:串行通訊中的數(shù)據(jù)校驗(yàn)——奇偶校驗(yàn)判斷是否存在傳輸錯(cuò)誤。20202.1.2MCS-51引腳及功能40引腳雙列直插封裝(DIP—DualIn-linePackage)44引腳的方形扁平封裝(QFP—QuadFlatPackage)(4只引腳無(wú)用)21212.1.2MCS-51引腳及功能40只引腳按功能分為4類(lèi):電源引腳:Vcc、Vss Vcc(40腳):Supplyvoltage,+5V電源; Vss(20腳):Ground,接地。時(shí)鐘引腳:XTAL1、XTAL2 XTAL1(19腳):反相放大器的輸入端. XTAL2(18腳):反相放大器的輸出端.22222.1.2MCS-51引腳及功能控制引腳:RST、ALE、/PSEN、/EARST/VPD(9腳):復(fù)位/備用電源 Reset.保持2個(gè)機(jī)器周期(24個(gè)振蕩周期)的高電平完成復(fù)位第二功能:VPD,備用電源施加端:當(dāng)主電源Vcc下降以后由VPD為片內(nèi)RAM提供備用電源,用以保護(hù)片內(nèi)RAM的數(shù)據(jù)23232.1.2MCS-51引腳及功能控制引腳:RST、ALE、/PSEN、/EAALE/PROG(30腳):

第一功能:地址鎖存允許ALE(AddressLatchEnable),下降沿用于鎖存P0口輸出的低8位地址第二功能:編程脈沖輸入端PROG24242.1.2MCS-51引腳及功能控制引腳:RST、ALE、/PSEN、/EAPSEN(29腳):ProgramStoreEnable

外部程序存儲(chǔ)器的讀選通信號(hào)。CPU對(duì)片外程序存儲(chǔ)器讀指令或常數(shù)期間,該信號(hào)在每個(gè)機(jī)器周期兩次有效。在訪問(wèn)片外數(shù)據(jù)存儲(chǔ)器期間,該引腳無(wú)輸出信號(hào)25252.1.2MCS-51引腳及功能控制引腳:RST、ALE、/PSEN、/EAEA/VPP(31腳):

第一功能:EA(ExternalAccessEnable)片外程序存儲(chǔ)器選擇控制端第二功能:VPP(VoltagePulseofProgramming)用于施加編程電壓26262.1.2MCS-51引腳及功能I/O端口引腳P0.0~P0.7:P0口 8位雙向數(shù)據(jù)總線和地址總線(低8位), 或8位準(zhǔn)雙向I/O端口。P1.0~P1.7:P1口

8位準(zhǔn)雙向I/O端口。P2.0~P2.7:P2口

地址總線(高8位) 或8位準(zhǔn)雙向I/O端口。27272.1.2MCS-51引腳及功能I/O端口引腳P3.0~P3.7:P3口 8位準(zhǔn)雙向I/O端口。 或第二功能:串行口、外部中斷、定時(shí)器/計(jì)數(shù)器、讀寫(xiě)控制信號(hào)28282.2MCS-5l的存儲(chǔ)器結(jié)構(gòu)MCS-51單片機(jī)的存儲(chǔ)器結(jié)構(gòu)采用哈佛結(jié)構(gòu)(HarvardArchitecture),它把程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi),各有自己的尋址系統(tǒng)、控制信號(hào)。程序存儲(chǔ)器:存放程序和表格之類(lèi)的固定常數(shù)。數(shù)據(jù)存儲(chǔ)器:存放程序運(yùn)行中所需的常數(shù)或變量。29292.2MCS-5l的存儲(chǔ)器結(jié)構(gòu)從物理存儲(chǔ)空間【硬件】看,MCS-51單片機(jī)有四個(gè)存儲(chǔ)器地址空間:片內(nèi)程序存儲(chǔ)器:4KB片內(nèi)數(shù)據(jù)存儲(chǔ)器:128B片外程序存儲(chǔ)器:0~64KB片外數(shù)據(jù)存儲(chǔ)器:0~64KB30302.2.2程序存儲(chǔ)器(ROM)可尋址的地址空間為64K字節(jié)內(nèi)部ROM4K外部ROM4K外部ROM60K0000H0FFFH0000H0FFFH1000HFFFFHEA=1EA=031312.2.2程序存儲(chǔ)器(ROM)ROM與PC的關(guān)系程序存儲(chǔ)器可尋址的地址空間為64K字節(jié),以16位的程序計(jì)數(shù)器PC作地址指針關(guān)于物理存儲(chǔ)空間片內(nèi)、外ROM是統(tǒng)一編址的,只能算1個(gè)邏輯存儲(chǔ)空間,所以51單片機(jī)的4個(gè)物理存儲(chǔ)空間相當(dāng)于3個(gè)邏輯存儲(chǔ)空間:內(nèi)外統(tǒng)一的ROM、內(nèi)部RAM、外部RAM32322.2.2程序存儲(chǔ)器(ROM)ROM中的特殊單元——用于程序引導(dǎo)0000H:主程序入口地址【復(fù)位入口地址】MCS-51復(fù)位后,PC=0000H,系統(tǒng)從0000H單元開(kāi)始讀取指令并執(zhí)行程序,它是系統(tǒng)執(zhí)行程序的起始地址。0003H、000BH、0013H、001BH、0023H:5個(gè)中斷服務(wù)程序入口地址【第5章】。33332.2.3數(shù)據(jù)存儲(chǔ)器(RAM)RAM從物理上或邏輯上都分為兩個(gè)地址空間:內(nèi)部數(shù)據(jù)存儲(chǔ)器內(nèi)部RAM——128B:地址為00~7FH;特殊功能寄存器21個(gè):地址80H~FFH外部數(shù)據(jù)存儲(chǔ)器64KB:地址為0000~FFFFH。(因此,二者地址可以重疊。)3434片內(nèi)數(shù)據(jù)存儲(chǔ)器(片內(nèi)RAM)用戶RAM區(qū)位尋址區(qū)工作寄存器區(qū)00H1FH20H2FH30H7FH共128個(gè)單元32個(gè)單元16個(gè)單元80個(gè)單元3535工作寄存器區(qū)(00H~1FH)

工作寄存器與RAM地址對(duì)照表

寄存器組RS1RS0R0R1R2R3R4R5R6R7第0組0000H01H02H03H04H05H06H07H第1組0108H09H0AH0BH0CH0DH0EH0FH第2組1010H11H12H13H14H15H16H17H第3組1118H19H1AH1BH1CH1DH1EH1FH3636位尋址區(qū)(20H~2FH)字節(jié)操作16個(gè)字節(jié),作為一般RAM單元使用,地址范圍20H~2FH位操作——位尋址區(qū)16個(gè)字節(jié)共有128位(16×8)位地址范圍:00H~7FH通常把各種程序狀態(tài)標(biāo)志、位控制變量設(shè)在位尋址區(qū)內(nèi)3737位尋址區(qū)的位地址分配表字節(jié)地址20H~2FH位地址00H~7FH3838用戶RAM區(qū)(30H~7FH)80個(gè)單元,只能進(jìn)行字節(jié)尋址用作堆棧區(qū)、數(shù)據(jù)區(qū)【實(shí)際應(yīng)用中,寄存器區(qū)除了當(dāng)前寄存器組以外的單元、位尋址區(qū)的單元均可作為堆棧區(qū)、數(shù)據(jù)區(qū)】3939

MCS-51單片機(jī)內(nèi)各種控制寄存器和狀態(tài)寄存器都是以特殊功能寄存器SFR(SpecialFunctionRegister)的形式出現(xiàn)的,地址分布在80H~FFH。實(shí)際有21個(gè)8位寄存器,只占80H~FFH中的一部分。特殊功能寄存器SFR404021個(gè)特殊功能寄存器(SFR)414121個(gè)特殊功能寄存器(SFR)有的SFR可進(jìn)行位尋址,其字節(jié)地址的末位是0H或8H。42422.3單片機(jī)的復(fù)位、時(shí)鐘與時(shí)序復(fù)位操作在振蕩器工作的情況下,RST引腳保持至少兩個(gè)機(jī)器周期(即24個(gè)振蕩周期)的高電平,實(shí)現(xiàn)復(fù)位【實(shí)際應(yīng)用≥10ms的高電平】復(fù)位電路復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。43432.3單片機(jī)的復(fù)位、時(shí)鐘與時(shí)序最簡(jiǎn)單的上電自動(dòng)復(fù)位電路:實(shí)際復(fù)位電路:8051RST9+5VCR8051RST9+5VCR4444復(fù)位后單片機(jī)的狀態(tài)寄存器復(fù)位狀態(tài)寄存器復(fù)位狀態(tài)PC0000HTMOD00HA00HTCON00HPSW00HTH000HB00HTL000HSP07HTH100HDPTR0000HTL100HP0~P3FFHSCON00HIPxxx00000BSBUFxxxxxxxxBIE0xx00000BPCON0xxx0000B4545復(fù)位后單片機(jī)的狀態(tài)小結(jié)PC=0000HPSW=00H,當(dāng)前工作寄存器區(qū)為第0區(qū)SP=07H,堆棧從內(nèi)部RAM的08H單元開(kāi)始P0~P3口的內(nèi)容均為FFH(即各端口都為1,直接做輸入口)其他特殊功能寄存器都復(fù)位為0不影響片內(nèi)RAM的內(nèi)容。46462.3.2時(shí)鐘電路時(shí)鐘電路:產(chǎn)生單片機(jī)工作所需要的時(shí)鐘控制信號(hào)常用的時(shí)鐘電路有兩種方式:內(nèi)部時(shí)鐘方式外部時(shí)鐘方式內(nèi)部時(shí)鐘方式8051片內(nèi)有一個(gè)由反相放大器構(gòu)成的振蕩電路,XTAL1和XTAL2分別是振蕩電路的輸入端和輸出端外接1個(gè)晶體振蕩器和2個(gè)微調(diào)電容47472.3.2時(shí)鐘電路內(nèi)部時(shí)鐘方式——具體電路晶振頻率:1.2~12MHz,C1和C2典型值30pF石英晶體振蕩器(晶振)8051XTAL218XTAL119C1C248482.3.2時(shí)鐘電路外部時(shí)鐘方式——80518051XTAL119XTAL218外部時(shí)鐘49492.3.3單片機(jī)時(shí)序時(shí)序:各信號(hào)之間的相互時(shí)間關(guān)系單片機(jī)時(shí)序:CPU執(zhí)行指令的時(shí)間順序MCS-51單片機(jī)的時(shí)序單位:時(shí)鐘周期/振蕩周期(拍節(jié))P狀態(tài)周期S:一個(gè)狀態(tài)周期等于兩個(gè)時(shí)鐘周期,包括拍節(jié)1(P1)、拍節(jié)2(P2)機(jī)器周期:CPU完成一個(gè)基本操作所需要的時(shí)間.=6個(gè)狀態(tài)周期=12個(gè)時(shí)鐘周期指令周期:1-4個(gè)機(jī)器周期5050MCS-51單片機(jī)各種周期的關(guān)系5151例:若MCS-51單片機(jī)外接晶振頻率為12MHz時(shí),則單片機(jī)的四種周期分別為:振蕩周期=1/12MHz=(1/12)μs=0.0833μs狀態(tài)周期=2×1/12MHz=0.167μs機(jī)器周期=12×1/12MHz=1μs指令周期=1~4μs52522.4并行I/O端口端口(Port)的概念端口是一個(gè)集數(shù)據(jù)輸入緩沖、數(shù)據(jù)輸出緩沖、驅(qū)動(dòng)及鎖存等多項(xiàng)功能為一體的I/O電路4個(gè)雙向的8位并行I/O端口——P0~P3每個(gè)端口有8個(gè)I/O引腳??梢宰鳛檩斎攵丝?,例如連接開(kāi)關(guān)、按鍵可以作為輸出端口,例如連接LED、數(shù)碼管可以作為“總線”——地址總線、數(shù)據(jù)總線、控制總線53532.4并行I/O端口P0~P3四個(gè)口的功能有所不同,故它們的電路結(jié)構(gòu)也不完全一樣,但基本工作原理相似。P1口結(jié)構(gòu)最簡(jiǎn)單,也是最基本的一個(gè)輸出鎖存器(D鎖存器)一個(gè)輸出驅(qū)動(dòng)電路,由FET(場(chǎng)效應(yīng)管)構(gòu)成兩個(gè)三態(tài)緩沖器。一個(gè)用于讀鎖存器、一個(gè)用于讀引腳。54541.P1口的結(jié)構(gòu)RVccP1.n1讀引腳DQQP1.n鎖存器內(nèi)部總線寫(xiě)鎖存器2讀鎖存器55551.P1口的結(jié)構(gòu)P1口只能作一般I/O使用,有3種操作方式輸出數(shù)據(jù)方式:CPU通過(guò)內(nèi)部總線向端口寫(xiě)數(shù)據(jù),且保存在端口鎖存器中。讀端口引腳方式(讀引腳):通過(guò)“讀引腳”信號(hào)來(lái)選通三態(tài)緩沖器1【例如指令MOVA,P1】讀端口數(shù)據(jù)方式(讀鎖存器):通過(guò)“讀鎖存器”信號(hào)來(lái)選通三態(tài)緩沖器2【“讀-修改-寫(xiě)”指令,例如指令A(yù)NLP1,A】P1口讀引腳時(shí)的注意事項(xiàng):讀引腳之前,必須先向相應(yīng)的端口寫(xiě)一個(gè)“1”——有條件的輸入/輸出口稱(chēng)為“準(zhǔn)雙向”I/O56562.P3口的結(jié)構(gòu)RVccP3.nDQQP3.n鎖存器內(nèi)部總線寫(xiě)鎖存器2讀鎖存器1讀引腳第二輸入功能第二輸出功能57572.P3口的結(jié)構(gòu)雙功能口:1、作一般I/O端口使用,用法與P1口相同2、作第二功能使用58582.P3口的結(jié)構(gòu)P3口的第二功能 P3.0 RXD(串行口數(shù)據(jù)接收) P3.1 TXD(串行口數(shù)據(jù)發(fā)送) P3.2 INT0(外部中斷0) P3.

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論