第2章AT89C51單片機(jī)片內(nèi)硬件結(jié)構(gòu)_第1頁(yè)
第2章AT89C51單片機(jī)片內(nèi)硬件結(jié)構(gòu)_第2頁(yè)
第2章AT89C51單片機(jī)片內(nèi)硬件結(jié)構(gòu)_第3頁(yè)
第2章AT89C51單片機(jī)片內(nèi)硬件結(jié)構(gòu)_第4頁(yè)
第2章AT89C51單片機(jī)片內(nèi)硬件結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩58頁(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章AT89C51單片機(jī)片內(nèi)硬件結(jié)構(gòu)P3P1P2全雙工串行I/O口P0外部中斷基準(zhǔn)頻率源控制128B數(shù)據(jù)存儲(chǔ)器4KB程序存儲(chǔ)器2個(gè)16位定時(shí)/計(jì)數(shù)器

振蕩器及定時(shí)電路CPU64KB總線擴(kuò)展控制準(zhǔn)雙向并行I/O口內(nèi)部中斷計(jì)數(shù)脈沖串行輸出串行輸入FlashROM2.1AT89C51單片機(jī)的硬件組成(1)微處理器(CPU);1個(gè)8位微處理器及1個(gè)布爾處理器(2)數(shù)據(jù)存儲(chǔ)器(RAM);128B(128字節(jié))(3)程序存儲(chǔ)器(4KBE2PROM);(4)4個(gè)8位可編程并行I/O口(P0口、P1口、P2口、P3口);(5)1個(gè)全雙工串行通信接口;(UART)(6)2個(gè)16位定時(shí)器/計(jì)數(shù)器;(7)中斷系統(tǒng);5個(gè)中斷源,2個(gè)優(yōu)先級(jí)的中斷嵌套結(jié)構(gòu)(8)特殊功能寄存器(SFR)。21個(gè)還有:片外存儲(chǔ)器(64KB+64KB)擴(kuò)展總線的控制電路。準(zhǔn)雙向圖2-1AT89C51單片機(jī)片內(nèi)結(jié)構(gòu)P.10除電源、復(fù)位、時(shí)鐘外都是I/O端,多數(shù)引腳為多功能復(fù)用/AD0/AD1/AD2/AD3/AD4/AD5/AD6/AD7/A15/A14/A13/A12/A11/A10/A9/A8

圖2-22.2AT89C51單片機(jī)的引腳介紹40只引腳雙列直插封裝(DIP)。

+5V電源電源地邏輯地P.11AT89C51P0口地址和數(shù)據(jù)總線P1口通用口P2口地址總線P3口RXDTXDINT0INT1T0T1WRRDVCCVSSRST/VDDEA/VPPPSENALE/PROGXTAL1XTAL2接電源+5V端接電源地端①?gòu)?fù)位信號(hào)輸入。②接備用電源。外部中斷請(qǐng)求定時(shí)/計(jì)數(shù)器外部計(jì)數(shù)信號(hào)輸入端片外數(shù)據(jù)存儲(chǔ)器寫(xiě)選通片外數(shù)據(jù)存儲(chǔ)器讀選通1、訪問(wèn)外部程序存儲(chǔ)器控制信號(hào);2、編程電源VPP。準(zhǔn)雙向I/O口1、準(zhǔn)雙向I/O口2、第二功能

外接晶振,晶體振蕩電路反相輸出端

外接晶振,晶體振蕩電路反相輸入端1、準(zhǔn)雙向I/O口2、有擴(kuò)展外部存儲(chǔ)器或并行I/O口時(shí),作為數(shù)據(jù)總線/低8位地址總線分時(shí)復(fù)用1、準(zhǔn)雙向I/O口2、有擴(kuò)展外部存儲(chǔ)器或并行I/O口時(shí),作為高8位地址總線串行口接收串行口發(fā)送1、ALE地址鎖存允許。2、編程脈沖由該引腳引入。外部程序存儲(chǔ)器讀選通信號(hào)。40只引腳按功能分為3類:(1)電源及時(shí)鐘引腳:Vcc、Vss;XTAL1、XTAL2。(2)控制引腳:PSEN*、EA*、ALE、RESET(即RST)。(3)I/O口引腳:P0、P1、P2、P3為4個(gè)8位I/O口的外部引腳。2.2.1電源及時(shí)鐘引腳

電源引腳

(1)Vcc(40腳):+5V電源;

(2)Vss(20腳):接地。時(shí)鐘引腳

(1)XTAL1(19腳):接外部晶體,采用外接振蕩器時(shí),外部振蕩器的輸出應(yīng)接到此引腳上。

(2)XTAL2(18腳):接外部晶體,采用外接振蕩器時(shí)懸空。2.2.2控制引腳

提供控制信號(hào),有的引腳還具有復(fù)用功能。(1)RST/VPD(9腳):復(fù)位/備用電源(“1”電平令CPU硬件復(fù)位)(2)EA/VPP

(EnableAddress/VoltagePulseofProgRam-ing,31腳)

第一功能:EA:片外程序存儲(chǔ)器選擇控制端

(接“0”全部使用片外程存)

第二功能:VPP:用于施加編程電壓(例如+21V或+12V)。對(duì)AT89C51,加在VPP腳的編程電壓為+12V或+5V。(3)ALE/PROG

(30腳):

第一功能:ALE為地址鎖存允許,運(yùn)行時(shí),ALE端一直有正脈沖信號(hào)輸出,此頻率約為時(shí)鐘振蕩器頻率fosc的1/6。

第二功能:PROG

為編程脈沖輸入端。(4)PSEN

(29腳):外部程序存儲(chǔ)器的讀選通信號(hào)。在單片機(jī)讀外部程序存儲(chǔ)器時(shí),此引腳輸出脈沖的負(fù)跳沿作為讀外部程序存儲(chǔ)器的選通信號(hào)。2.2.3并行I/O口引腳(簡(jiǎn)介)P0口:8位準(zhǔn)雙向I/O口,可驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。

當(dāng)8051擴(kuò)展外部存儲(chǔ)器及I/O接口芯片時(shí),P0口作為地址總線(A0~A7)與數(shù)據(jù)總線(D0~D7)的分時(shí)復(fù)用端口。(2)P1口:8位準(zhǔn)雙向I/O口,可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。唯一專用I/O口(3)P2口:8位準(zhǔn)雙向I/O口,可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。

當(dāng)8051外部擴(kuò)展時(shí)作地址總線(A8~A15)用,(4)P3口:8位準(zhǔn)雙向I/O口,雙功能復(fù)用口,可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。

P3口還可提供第二功能,定義如書(shū)中表2-1所列,應(yīng)熟記。準(zhǔn)雙向口:有條件限制地實(shí)現(xiàn)輸入輸出雙向功能的接口。

(MCS-51:當(dāng)作為普通的輸入端口使用時(shí),應(yīng)先向相應(yīng)端口的輸出鎖存器寫(xiě)入1。)1P1鎖存器P1驅(qū)動(dòng)器P0驅(qū)動(dòng)器P0鎖存器定時(shí)及控制指令寄存器ALUPSW程序地址寄存器P3鎖存器P3驅(qū)動(dòng)器暫存2暫存1PCONSCONTMODTCONT2CONTHOTL0TH1TL1TH2*TL2*RLDH*RLDL*SBUFIEIP中斷、串行口、定時(shí)器DPTRPCPC+1緩沖器ACC寄存器

BSPRAM地址寄存器RAMP2驅(qū)動(dòng)器P2鎖存器EPROM/ROMVCCVSSPSENALEEARST2.3AT89C51單片機(jī)的CPUPSW用來(lái)存放運(yùn)算結(jié)果的狀態(tài)標(biāo)志所有的算術(shù)運(yùn)算和大部分的邏輯運(yùn)算都是通過(guò)A來(lái)完成程序計(jì)數(shù)器堆棧指針2.3.1運(yùn)算器(Arithmeticandlogicunit)功能—在控制器的控制下,對(duì)二進(jìn)制數(shù)進(jìn)行算術(shù)運(yùn)算、邏輯運(yùn)算及位操作。算術(shù)運(yùn)算:加、減、乘、除邏輯運(yùn)算:與、或、非位操作中心部件—

算術(shù)邏輯單元ALU暫存原始數(shù)據(jù)、中間結(jié)果及運(yùn)算結(jié)果ALU累加器Acc暫存器TMP寄存器(Register)標(biāo)志寄存器PSW保存運(yùn)算結(jié)果的狀態(tài)標(biāo)志存放第一操作數(shù)和操作運(yùn)算結(jié)果2.3.2控制器

分析和執(zhí)行指令的部件,指揮中樞。解釋輸入計(jì)算機(jī)中的命令并發(fā)出響應(yīng)的控制信號(hào)的機(jī)構(gòu)。在它的控制下執(zhí)行命令、原始數(shù)據(jù)的輸入、機(jī)器內(nèi)部的信息處理、處理結(jié)果的輸出、外設(shè)與主機(jī)的信息交換,以及對(duì)異常情況和特殊情況的處理等操作。

程序計(jì)數(shù)器PC(16bit)

存放即將執(zhí)行的下一條指令的16bit地址;順序執(zhí)行指令時(shí),微處理器每取出一條指令的一個(gè)字節(jié),PC自動(dòng)+1(如一條指令是2個(gè)字節(jié),則執(zhí)行完畢時(shí)PC的內(nèi)容要+2);當(dāng)遇到轉(zhuǎn)移指令或子程序時(shí),PC內(nèi)容就被指定的轉(zhuǎn)移的目標(biāo)地址取代,實(shí)現(xiàn)程序轉(zhuǎn)移;系統(tǒng)開(kāi)機(jī)初始化時(shí),PC=0000H,可尋址范圍64KB。2.4AT89C51單片機(jī)的存儲(chǔ)器結(jié)構(gòu)

MCS-51的存儲(chǔ)器結(jié)構(gòu)與常見(jiàn)的微型計(jì)算機(jī)的配置方法不同,采用哈佛結(jié)構(gòu)它將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi),各有自己的尋址方式、控制信號(hào)和功能。

程序存儲(chǔ)器用來(lái)存放程序、始終要保留的表格常數(shù)。

數(shù)據(jù)存儲(chǔ)器存放程序運(yùn)行中所需要的常數(shù)和變量。

P.15半導(dǎo)體存儲(chǔ)器的結(jié)構(gòu)存儲(chǔ)器由存儲(chǔ)體、地址譯碼器和讀/寫(xiě)控制電路組成。地址譯碼器讀/寫(xiě)控制CPUAB地址0000H0001H0002HFFFFH內(nèi)容0011101011000111CPUDBCPU讀/寫(xiě)信號(hào)A14A15D7D0D1D2……存儲(chǔ)體由大量存儲(chǔ)單元組成,每個(gè)單元存放若干位二進(jìn)制碼,若放8bit,稱為字節(jié)單元存儲(chǔ)單元(0002H)=C7H用一定位數(shù)的二進(jìn)制碼對(duì)存儲(chǔ)單元進(jìn)行編號(hào),稱為存儲(chǔ)單元的地址。n位二進(jìn)制碼可尋址2n個(gè)單元,如:28=256、216=65536。對(duì)存放在地址寄存器中的地址進(jìn)行譯碼,以選擇指定的存儲(chǔ)單元存儲(chǔ)單元取出/存入信息的操作稱為讀/寫(xiě)操作A0A1A2……補(bǔ)充1.讀操作(例如:要將01H單元的內(nèi)容3AH讀出)存儲(chǔ)器的讀寫(xiě)操作過(guò)程地址譯碼器讀/寫(xiě)控制CPUAB地址00H01H02HFFH內(nèi)容0011101011000111CPUDB讀/寫(xiě)信號(hào)A0A1A2A3A4A5A6A7D5D0D1D2D3D4D6D7第一步:送地址10000000經(jīng)地址譯碼器選通01H單元第二步:CPU發(fā)出“讀”信號(hào)第三步:01H單元的內(nèi)容送數(shù)據(jù)總線上01011001地址譯碼器讀/寫(xiě)控制CPUAB地址00H01H02HFFH內(nèi)容0011101011000111CPUDB讀/寫(xiě)信號(hào)A0A1A2A3A4A5A6A7D5D0D1D2D3D4D6D7存儲(chǔ)器的讀寫(xiě)操作過(guò)程2.寫(xiě)操作(例如:要將D5H寫(xiě)入02H單元)第一步:送地址01000000經(jīng)地址譯碼器選通02H單元第二步:CPU將D5H送到數(shù)據(jù)總線上10101110第三步:CPU發(fā)出“寫(xiě)”信號(hào)D5H從數(shù)據(jù)總線送到02H單元11010101存儲(chǔ)器的讀寫(xiě)操作過(guò)程對(duì)存儲(chǔ)單元的讀操作,不會(huì)破壞其原內(nèi)容,是復(fù)制;對(duì)存儲(chǔ)單元的寫(xiě)操作,改變了其原來(lái)內(nèi)容。從物理空間(實(shí)際結(jié)構(gòu))看,AT89C51有四個(gè)存儲(chǔ)器地址空間:

外部數(shù)據(jù)存儲(chǔ)器(RAM)外部程序存儲(chǔ)器(ROM)內(nèi)部程序存儲(chǔ)器內(nèi)部數(shù)據(jù)存儲(chǔ)器AT89C51AT89C51存儲(chǔ)器物理結(jié)構(gòu)

從邏輯上(使用角度)看,AT89C51有三個(gè)存儲(chǔ)器空間:片內(nèi)、片外統(tǒng)一編址的程序存儲(chǔ)器片外數(shù)據(jù)存儲(chǔ)器、片內(nèi)數(shù)據(jù)存儲(chǔ)器

內(nèi)部程序存儲(chǔ)器外部程序存儲(chǔ)器外部數(shù)據(jù)存儲(chǔ)器內(nèi)部數(shù)據(jù)存儲(chǔ)器歸為一個(gè)空間AT89C51存儲(chǔ)器邏輯結(jié)構(gòu)1、程序存儲(chǔ)器(ROM)內(nèi)部ROM0000H0FFFH4KB地址重疊0000HFFFFH外部擴(kuò)展ROM0FFFH片外共64KB4KB訪問(wèn)程序存儲(chǔ)器使用MOVC指令地址線:A15~A0用PSEN作為讀選通信號(hào)P.281、程序存儲(chǔ)器(ROM)EA引腳電平高低對(duì)程序執(zhí)行走向的影響EA外部程序存儲(chǔ)器選擇控制端EA引腳電平高低對(duì)程序執(zhí)行走向的影響內(nèi)部ROM0000H0FFFH4KB0000HFFFFH外部擴(kuò)展ROM0FFFH片外共64KB4KBEA接高電平程序執(zhí)行走向PC≤0FFFHPC>0FFFHEA引腳電平高低對(duì)程序執(zhí)行走向的影響內(nèi)部ROM0000H0FFFH4KB0000HFFFFH外部擴(kuò)展ROM0FFFH片外共64KB4KBEA接低電平全部執(zhí)行外部程序在8051系列中,有的單片機(jī)如8031,片內(nèi)無(wú)ROM,程序只能裝在片外擴(kuò)充的ROM中,這時(shí)用戶必須把EA接地。

EA引腳電平高低對(duì)程序執(zhí)行走向的影響接高電平還是低電平,由用戶根據(jù)需要連接:如果片內(nèi)ROM有要執(zhí)行的程序,這時(shí)應(yīng)接+5V;如果執(zhí)行的程序全部在片外ROM中,這時(shí)應(yīng)接地;也可以用一個(gè)開(kāi)關(guān)切換。程序存儲(chǔ)器中的幾個(gè)特殊地址的使用:地址用途0000H復(fù)位時(shí)程序入口地址0003H外部中斷0服務(wù)程序入口地址000BH定時(shí)器0中斷服務(wù)程序入口地址0013H外部中斷1服務(wù)程序入口地址001BH定時(shí)器1中斷服務(wù)程序入口地址0023H串行口中斷服務(wù)程序入口地址由于兩入口地址之間的存儲(chǔ)空間有限,因此在編程時(shí),通常在這些入口地址開(kāi)始的兩三個(gè)地址單元中,放入一條轉(zhuǎn)移類指令,使相應(yīng)的程序轉(zhuǎn)到指定的程序存儲(chǔ)器區(qū)域中執(zhí)行。2、外部數(shù)據(jù)存儲(chǔ)器

0000HFFFFH外部擴(kuò)展數(shù)據(jù)存儲(chǔ)器64KB作用:用于存放隨機(jī)讀寫(xiě)的數(shù)據(jù)。 外部I/O口地址影像區(qū)。包括兩部分空間:1、外部RAM2、擴(kuò)展的I/O口地址程序存儲(chǔ)器與外部數(shù)據(jù)存儲(chǔ)器的比較

0000HFFFFH外部數(shù)據(jù)存儲(chǔ)器64KB0000HFFFFH程序存儲(chǔ)器64KB相同:地址線A15~A0不同:訪問(wèn)的指令不同,讀寫(xiě)信號(hào)不同MOVC指令MOVX指令只讀,PSEN作為外部ROM讀信號(hào)可讀寫(xiě),RD作為讀信號(hào),WR作為寫(xiě)信號(hào)21個(gè)SFR內(nèi)部RAMFFH00H7FH80H(128B)3、內(nèi)部數(shù)據(jù)存儲(chǔ)器(單元數(shù)少,但最復(fù)雜)00HFFH內(nèi)部數(shù)據(jù)存儲(chǔ)器特殊功能寄存器空間,離散分布作數(shù)據(jù)緩沖器、標(biāo)志位等8bit地址MOV指令P.16~193、內(nèi)部數(shù)據(jù)存儲(chǔ)器21個(gè)SFR內(nèi)部RAMFFH00H7FH80H(128B)32B00H1FH工作寄存器區(qū)16B(16×8bit)20H2FH位尋址區(qū)30H7FH普通RAM(1)工作寄存器區(qū)32B00H1FH00H1FH0FH17H18H10H08H07H0區(qū)1區(qū)2區(qū)3區(qū)R0R7……R0R7……R0R7……R0R7……當(dāng)前使用哪一個(gè)區(qū)由PSW寄存器的RS1和RS0兩個(gè)位來(lái)決定RS1RS0寄存器區(qū)R0~R7所占單元的地址000區(qū)00H~07H011區(qū)08H~0FH102區(qū)10H~17H113區(qū)18H~1FH工作寄存器區(qū)的選擇RS1:程序狀態(tài)字寄存器PSW的D4位;RS0:程序狀態(tài)字寄存器PSW的D3位;CLRRS1

;RS1清0SETBRS0

;RS0置1復(fù)位時(shí),自動(dòng)選中0區(qū)。工作寄存器區(qū)的選擇一旦選中其中一個(gè)區(qū),其它三區(qū)只能作為普通RAM單元使用,而不能作為工作寄存器使用。設(shè)置多個(gè)工作寄存器區(qū)可以方便保護(hù)現(xiàn)場(chǎng)。(2)位尋址區(qū)16B(16×8bit)20H2FH共16個(gè)字節(jié)單元,每字節(jié)單元有8位,每位有一個(gè)位地址,共128位,位地址范圍為00H~7FH,該區(qū)既可位尋址,又可字節(jié)尋址。

2FH7F7E7D7C7B7A79782EH777675747372717022H171615141312111021H0F0E0D0C0B0A090820H0706050403020100位尋址區(qū)位地址分配字節(jié)地址位地址D7D6D5D4D3D2D1D0…………字節(jié)地址與位地址在使用上如何區(qū)別?MOVC,20HMOVA,20H例:

2FH7F7E7D7C7B7A797824H272625242322212023H1F1E1D1C1B1A191822H171615141312111021H0F0E0D0C0B0A090820H0706050403020100字節(jié)地址位地址D7D6D5D4D3D2D1D0…………位操作指令MOVC,20H位地址!!!其內(nèi)容只有1bit

2FH7F7E7D7C7B7A797824H272625242322212023H1F1E1D1C1B1A191822H171615141312111021H0F0E0D0C0B0A090820H0706050403020100字節(jié)地址位地址D7D6D5D4D3D2D1D0…………字節(jié)操作指令MOVA,20H字節(jié)地址!!!其內(nèi)容共8bit表2-5內(nèi)部RAM的可尋址位及位地址P.19符號(hào)指令中可用<字節(jié)地址>.<位次>暫代其位地址20H.720H.620H.520H.420H.320H.220H.120H.02FH.72FH.62FH.52FH.42FH.32FH.22FH.12FH.0如:符號(hào)指令中可用21H.5

暫代位地址

0DH21H.721H.621H.521H.421H.321H.221H.121H.0(位地址00H~7FH)(共128個(gè)位)(3)普通RAM區(qū)30H7FH數(shù)據(jù)緩沖區(qū)堆棧區(qū)工作單元只能字節(jié)尋址(以一個(gè)字節(jié)單元作為一個(gè)整體操作)堆棧的概念:臨時(shí)存儲(chǔ)某些數(shù)據(jù)信息的存儲(chǔ)器專用區(qū)(4)特殊功能寄存器SFR(SpecialFuctionRegister)

地址空間21個(gè)SFRFFH80HA累加器、狀態(tài)標(biāo)志寄存器;單片機(jī)內(nèi)部各部件專用的控制、狀態(tài)寄存器;并行口、串行口影射寄存器;特殊功能寄存器(SFR)名稱特殊功能寄存器符號(hào)(SFR名)寄存器尋址符號(hào)位地址D7~D0B寄存器BF7H~F0H累加(寄存)器ACCAE7H~E0H程序狀態(tài)字

(標(biāo)志寄存器)PSWD7H~D0H中斷優(yōu)先級(jí)控制寄存器IPBFH~B8HP3口P3B7H~B0H中斷允許控制寄存器IEBFH~B8HP2口P2A7H~A0H串行口數(shù)據(jù)緩沖器SBUF串行口控制寄存器SCON9FH~98HP1口P197H~90H定時(shí)器/計(jì)數(shù)器1(高字節(jié))TH1定時(shí)器/計(jì)數(shù)器0(高字節(jié))TH0定時(shí)器/計(jì)數(shù)器1(低字節(jié))TL1定時(shí)器/計(jì)數(shù)器0(低字節(jié))TL0定時(shí)器/計(jì)數(shù)器方式控制寄存器TMOD定時(shí)器/計(jì)數(shù)器控制寄存器TCON8FH~88H電源控制PCON數(shù)據(jù)指針高字節(jié)DPH數(shù)據(jù)指針低字節(jié)DPL堆棧指針SPP0口P087H~80H字節(jié)地址FOHE0HD0HB8HB0HA8HA0H99H98H90H8DH8CH8BH8AH89H88H87H83H82H81H80HABDPTR符號(hào)指令中可用<SFR名>暫代其字節(jié)地址直接地址direct(80H.....F0H)位地址bit(80H....F7H)(16位)字節(jié)地址為x0H或x8H的SFR可位尋址!且D0位址同字節(jié)址表2-5SFR中的位地址分布

(可位尋址的SFR)P.19P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0ACC.7ACC.6ACC.5ACC.4ACC.3ACC.2ACC.1ACC.0符號(hào)指令中可用位名、<SFR名>.<位次>、<SFR字節(jié)地址>.<位次>暫代其位地址

CYACF0RS1RS0OV-PB.7B.6B.5B.4B.3B.2B.1B.0PSPT1PX1PT0PX0

EAESET1EX1ET0EX0

SM0SM1SM2RENTB8RB8TIRITF1TR1TF0TR0IE1IT0IE0IT0√√√√√√例如D4H位:可用RS1、PSW.4、0D0H.4暫代其位地址0D4H字節(jié)地址為x0H或x8H的SFR可位尋址!且D0位址同字節(jié)址位地址空間組成及位地址表示法⑴內(nèi)部數(shù)據(jù)存儲(chǔ)器的20H~2FH共16個(gè)單元可按位尋址,128位;⑵專用寄存器地址能被8整除的可按位尋址。例1:位地址1EH=23H.6即字節(jié)地址單元23H的D6位例2:位地址D4H=D0H.4=PSW.4=RS1位地址字節(jié)地址.位次寄存器名稱.位次位名稱【思考】下列指定位的位地址值是多少:

ACC.1:E1H

P2.7:A7H

ET1:

ABH

2DH.5:

6DH

PSW.2:

D2H

A.2:

B寄存器的D6:

F6H

30H.3:

P:

D0

H

D0H.2:D2H⑴累加器A(8bit)最常用;存放操作數(shù)或運(yùn)算結(jié)果⑵B寄存器(8bit)

乘、除指令,用B寄存器作為其中的一個(gè)操作數(shù);幾個(gè)特殊功能寄存器SFR介紹P14、18D7D6D5D4D3D2D1D0CyAC

F0RS1RS0OV

F1P位地址位名稱(3)PSW-程序狀態(tài)字寄存器(8bit)進(jìn)/借位標(biāo)志Cy=1,有進(jìn)/借位;Cy=0,無(wú)進(jìn)/借位。AC:反映高半字節(jié)與低半字節(jié)之間的進(jìn)/借位,AC=1有進(jìn)/借位;AC=0無(wú)進(jìn)/借位。用戶標(biāo)志位工作寄存器組選擇位OV:溢出標(biāo)志有溢出OV=1,無(wú)溢出OV=0。用戶標(biāo)志位P:奇偶標(biāo)志運(yùn)算結(jié)果有奇數(shù)個(gè)“1”,P=1;偶數(shù)個(gè)“1”,P=0。(5)堆棧指針SP(8bit)指明棧頂單元的地址??捎绍浖O(shè)置初始值,系統(tǒng)復(fù)位時(shí)設(shè)置為07H。(6)數(shù)據(jù)指針DPTR(16bit)

作為訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器(包括外部RAM和擴(kuò)展的I/O口)的間接尋址寄存器,即存放要訪問(wèn)的外部存儲(chǔ)單元或接口的地址。由DPH、DPL組成。在某些情況下,DPH、DPL也可單獨(dú)使用。堆棧的主要作用:用于響應(yīng)中斷或調(diào)用子程序時(shí)保護(hù)斷點(diǎn)地址;保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)。操作原則:先進(jìn)后出或后進(jìn)先出。指針寄存器(4)程序計(jì)數(shù)器PC(16bit)(注意:不屬于SFR地址空間)訪問(wèn)不同的存儲(chǔ)器空間使用不同的指令程序存儲(chǔ)器,使用MOVC指令;內(nèi)部數(shù)據(jù)存儲(chǔ)器,使用MOV指令;外部數(shù)據(jù)存儲(chǔ)器,使用MOVX指令;特殊功能寄存器,使用MOV指令;位地址空間,使用MOV、SETB、CLR等指令。2.6時(shí)鐘電路與時(shí)序

2.6.1時(shí)鐘電路

時(shí)鐘電路用于產(chǎn)生89C51單片機(jī)工作所必需的時(shí)鐘控制信號(hào)。(工作時(shí)鐘)時(shí)鐘頻率直接影響單片機(jī)的速度,電路的質(zhì)量直接影響系統(tǒng)的穩(wěn)定性?!镫娙萜鰿01、C02起穩(wěn)定振蕩頻率、快速起振的作用。電容典型值一般選擇為30PF。內(nèi)部時(shí)鐘方式由于單片機(jī)內(nèi)部有一個(gè)高增益運(yùn)算放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖。P.24晶體的振蕩頻率在1.2MHz~12MHz之間,某些已達(dá)40MHz

(如AT89S52)。XTAL1XTAL2GNDAT9C51C01C02內(nèi)部時(shí)鐘方式

外部時(shí)鐘方式是把已有的時(shí)鐘信號(hào)引入單片機(jī)。這種方式適宜用于使單片機(jī)的時(shí)鐘與外部信號(hào)保持一致。常用于多片89C51單片機(jī)同時(shí)工作。

外部時(shí)鐘XTAL1XTAL2GND懸空AT89C51外部時(shí)鐘方式2.6.2機(jī)器周期、指令周期與指令時(shí)序

單片機(jī)執(zhí)行的指令的各種時(shí)序均與時(shí)鐘周期有關(guān)1.時(shí)鐘周期:?jiǎn)纹瑱C(jī)的基本時(shí)間單位。時(shí)鐘周期Tosc=1/fosc

如:fosc=6MHz,Tosc=0.1667us;fosc=11.0592MHz,Tosc=0.090422453us2.機(jī)器周期:CPU完成一個(gè)基本操作所需的時(shí)間稱為機(jī)器周期。8051單片機(jī)每12個(gè)時(shí)鐘周期為1個(gè)機(jī)器周期,記TM

如:fosc=6MHz,TM=12/fosc=2us;fosc=11.0592MHz,TM=1.085069444us

一個(gè)機(jī)器周期分為6個(gè)狀態(tài):S1~S6。每個(gè)狀態(tài)分為兩拍:P1和P2。3.指令周期:執(zhí)行一條指令所需的時(shí)間。51單片機(jī)1~4個(gè)TM。圖2-13TMTMP.25例:?jiǎn)纹瑱C(jī)外接晶振頻率fosc=12MHz時(shí)的各種時(shí)序單位:

振蕩周期Tosc=1/fosc=1/12MHz=0.0833us狀態(tài)周期=2/fosc=2/12MHz=0.167us

機(jī)器周期TM

=12/fosc=12/12MHz=1us指令周期=(1~4)機(jī)器周期=1~4us2.7復(fù)位操作和復(fù)位電路2.7.1復(fù)位操作單片機(jī)的初始化操作,擺脫死鎖狀態(tài)。(CPU硬件復(fù)位)引腳RST加上大于2個(gè)機(jī)器周期的高電平就可使MCS-51復(fù)位。復(fù)位時(shí),程序計(jì)數(shù)器PC為0000H,使單片機(jī)從0000H開(kāi)始執(zhí)行程序。除PC之外,復(fù)位操作還對(duì)其它一些寄存器有影響:見(jiàn)復(fù)位狀態(tài)表。2.7.2復(fù)位電路上電自動(dòng)復(fù)位電路+手動(dòng)復(fù)位電路上電自動(dòng)復(fù)位電路單片機(jī)與外圍接口芯片的退出復(fù)位的電平閥值有所差異,為保證系統(tǒng)同步起始工作,建議在程序初始延遲一定時(shí)間(如20~50mS)再啟用接口芯片。P.26

RST

8051

R

C

+5V

+

RST

8051

R

R1

C

+5V

+

溫馨提示

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