




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第四章STC89C52單片機(jī)硬件結(jié)構(gòu)4.1STC89C52單片機(jī)的內(nèi)部組織結(jié)構(gòu)及特點(diǎn)4.2STC89C52單片機(jī)的外部引腳及功能4.3STC89C52單片機(jī)存儲(chǔ)器結(jié)構(gòu)4.4STC89C52單片機(jī)I/O口4.5STC89C52單片機(jī)的時(shí)鐘與復(fù)位4.6STC89C52單片機(jī)的省電工作模式4.1STC89C52單片機(jī)的內(nèi)部組織結(jié)構(gòu)及特點(diǎn)STC89C52RC單片機(jī)是宏晶科技推出的新一代高速/低功耗/超強(qiáng)抗干擾的單片機(jī),指令代碼完全兼容傳統(tǒng)8051單片機(jī),12時(shí)鐘/機(jī)器周期和6時(shí)鐘/機(jī)器周期可以任意選擇。HD版本和90C版本內(nèi)部集成MAX810專(zhuān)用復(fù)位電路。STC89C52RC單片機(jī)內(nèi)部硬件結(jié)構(gòu)框圖如圖4-1所示。STC89C52RC單片機(jī)有如下功能部件和特性:1.增強(qiáng)型6時(shí)鐘/機(jī)器周期和12時(shí)鐘/機(jī)器周期任意設(shè)置。2.指令代碼完全兼容傳統(tǒng)80513.工作電壓:5.5~3.4V(5V單片機(jī))/2.0~3.8V(3V單片機(jī))。4.工作頻率:0~40MHz,相當(dāng)于普通8051單片機(jī)的0~80MHz,實(shí)際工作頻率可達(dá)48MHz。5.用戶應(yīng)用程序空間:8KB片內(nèi)Flash程序存儲(chǔ)器,擦寫(xiě)次數(shù)10萬(wàn)次以上。6.片上集成512BRAM數(shù)據(jù)存儲(chǔ)器。7.通用I/O口(35/39個(gè)),復(fù)位后為:P1、P2、P3、P4是準(zhǔn)雙向口/弱上拉(與普通MCS-51傳統(tǒng)I/O口功能一樣);P0口是開(kāi)漏輸出口,作為總線擴(kuò)展時(shí)用,不用加上拉電阻;P0口作為I/O口用時(shí),需加上拉電阻。8.ISP在系統(tǒng)可編程/IAP在應(yīng)用可編程,無(wú)需專(zhuān)用編程器/仿真器,可通過(guò)串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,8KB程序3s即可完成一片。9.芯片內(nèi)置EEPROM功能。10.硬件看門(mén)狗(WDT)。11.內(nèi)部集成MAX810專(zhuān)用復(fù)位電路(HD版本和90C版本才有),外部晶體20M以下時(shí),可不需要外部復(fù)位電路。12.共3個(gè)16位定時(shí)器/計(jì)數(shù)器,兼容普通MCS-51單片機(jī)的定時(shí)器,其中定時(shí)器T0還可以當(dāng)成2個(gè)8位定時(shí)器使用。13.外部中斷4路,下降沿中斷或低電平觸發(fā)中斷,掉電模式可由外部中斷低電平觸發(fā)中斷方式喚醒。14.通用異步串行口(UART),還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè)UART。15.工作溫度范圍:0℃~75℃(商業(yè)級(jí))/-40℃~+85℃(工業(yè)級(jí))。16.封裝形式有:LQFP-44、PDIP-40、PLCC-44、PQFP-44。由于LQFP-44具有體積小、擴(kuò)展了P4口、外部中斷2和3及定時(shí)器T2的功能。PDIP-40的封裝與傳統(tǒng)的89C52芯片兼容。除此之外,STC89C52RC單片機(jī)自身還有很多獨(dú)特的優(yōu)點(diǎn):1.加密性強(qiáng),無(wú)法解密。2.超強(qiáng)抗干擾。主要表現(xiàn)在:高抗靜電(ESD保護(hù)),可以輕松抗御2KV/4KV快速脈沖干擾(EFT測(cè)試),寬電壓、不怕電源抖動(dòng),寬溫度范圍為-40℃~+85℃,I/O口經(jīng)過(guò)特殊處理,單片機(jī)內(nèi)部的電源供電系統(tǒng)、時(shí)鐘電路、復(fù)位電路及看門(mén)狗電路經(jīng)過(guò)特殊處理。3.采用三大降低單片機(jī)時(shí)鐘對(duì)外部電磁輻射的措施:禁止ALE輸出;如選6時(shí)鐘/機(jī)器周期,外部時(shí)鐘頻率可降一半;單片機(jī)時(shí)鐘振蕩器增益可設(shè)為1/2gain。4.超低功耗:掉電模式,典型電流損耗<0.1μA;空閑模式,典型電流損耗為2mA;正常工作模式,典型電流損耗4mA~7mA。STC89C52RC單片機(jī)的工作模式有如下幾種:1.掉電模式:RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止,中斷返回后,繼續(xù)執(zhí)行原程序。典型功耗<0.1μA。2.空閑模式:CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。典型功耗2mA。3.正常工作模式:?jiǎn)纹瑱C(jī)正常執(zhí)行程序的工作模式,典型功耗4mA~7mA。選用STC89C52系列單片機(jī)的一個(gè)主要原因:
由于這種單片機(jī)可以利用全雙工異步串行口(P3.0/P3.1)進(jìn)行在系統(tǒng)編程(ISP),即無(wú)需專(zhuān)用編程器/仿真器,就可通過(guò)串口直接下載用戶程序,因此省卻了每次編程必須插拔單片機(jī)到專(zhuān)用編程器上的麻煩,可以直接將STC單片機(jī)固定焊接在PCB板上,進(jìn)行程序的下載調(diào)試。
STC89系列單片機(jī)大部分具有在系統(tǒng)可編程(ISP)特性,ISP的好處就是省去購(gòu)買(mǎi)通用編程器,單片機(jī)在用戶系統(tǒng)上即可下載/燒錄用戶程序,而無(wú)須將單片機(jī)從已生產(chǎn)好的產(chǎn)品上拆下,再用通用編程器將程序代碼燒錄進(jìn)單片機(jī)內(nèi)部。有些程序尚未定型的產(chǎn)品可以一邊生產(chǎn),一邊完善,加快了產(chǎn)品進(jìn)入市場(chǎng)的速度,減小了新產(chǎn)品由于軟件缺陷帶來(lái)的風(fēng)險(xiǎn)。由于可以將程序直接下載進(jìn)單片機(jī)看運(yùn)行結(jié)果也可以不用仿真器。STC單片機(jī)在線編程典型線路如圖4-2所示。大部分STC89系列單片機(jī)在銷(xiāo)售給用戶之前已在單片機(jī)內(nèi)部固化有ISP系統(tǒng)引導(dǎo)程序,配合PC端的控制程序即可將用戶的程序代碼下載進(jìn)單片機(jī)內(nèi)部,故無(wú)須編程器(速度比通用編程器快)。注意:不要用通用編程器編程,否則有可能將單片機(jī)內(nèi)部已固化的ISP系統(tǒng)引導(dǎo)程序擦除,造成無(wú)法使用STC提供的ISP軟件下載用戶的程序代碼。4.2STC89C52單片機(jī)的外部引腳及功能STC89C52目前有LQFP44、PQFP44、PDIP40、PLCC44等封裝形式,并且不同版本的引腳也不同,圖4-3所示為各封裝形式的HD版本和90C版本的引腳圖。圖4-3(a)PDIP40的HD版本引腳圖圖4-3(b)PDIP40的90C版本引腳圖圖4-3(c)LQFP44的HD版本引腳圖
圖4-3(d)LQFP44的90C版本引腳圖圖4-3(e)PLCC44的HD版本引腳圖圖4-3(f)PLCC44的90C版本引腳圖STC89C52RC單片機(jī)的HD版本和90C版本的區(qū)別是:HD版本有ALE引腳,無(wú)P4.6/P4.5/P4.4口。而90C版本無(wú)PSEN、EA管腳,有P4.4和P4.6引腳;90C版本的ALE/P4.5管腳既可作I/O口P4.5使用,也可被復(fù)用作ALE引腳使用,默認(rèn)是作為ALE管腳。如需作為P4.5口使用時(shí),只能選擇90C版本的單片機(jī),且需在燒錄用戶程序時(shí)在STC-ISP編程器中將ALEpin選擇為用作P4.5,在燒錄用戶程序時(shí)在STC-ISP編程器中該管腳默認(rèn)作ALEpin,具體設(shè)置如圖4-4所示。STC89C52RC單片機(jī)有5個(gè)端口P0、P1、P2、P3、P4,其中P4端口在LQFP44、PQFP44、PLCC44等封裝形式中才有,其它有很多引腳和控制信號(hào)共用引腳。下面就各引腳進(jìn)行說(shuō)明。1.P0口引腳
P0.0~P0.7:P0口即可作為輸入/輸出口,也可作為地址/數(shù)據(jù)復(fù)用總線使用。當(dāng)P0口作為輸入/輸出口時(shí),P0是一個(gè)8位準(zhǔn)雙向口,上電復(fù)位后處于開(kāi)漏模式。P0口內(nèi)部無(wú)上拉電阻,所以作I/O口必須外接10K~4.7K的上拉電阻。當(dāng)P0作為地址/數(shù)據(jù)復(fù)用總線使用時(shí),是低8位地址線[A0-A7]和數(shù)據(jù)線[D0-D7]共用,此時(shí)無(wú)需外接上拉電阻。2.P1口引腳P1.0~P1.7:P1口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口。P1的輸出緩沖器可驅(qū)動(dòng)(吸收或者輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫(xiě)入1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。P1口作輸入口使用時(shí),因?yàn)橛袃?nèi)部上拉電阻,那些被外部拉低的引腳會(huì)輸出一個(gè)電流。其中,P1.0和P1.1還可以作為定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和定時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體參見(jiàn)表4-1。引腳號(hào)功能特性P1.0T2(定時(shí)/計(jì)數(shù)器2外部計(jì)數(shù)輸入),時(shí)鐘輸出P1.1T2EX(定時(shí)器/計(jì)數(shù)器2捕獲/重裝觸發(fā)和方向控制)3.P2口引腳P2.0~P2.7:P2口內(nèi)部帶上拉電阻的8位雙向I/O端口。即可作為輸入/輸出口,也可作為高8位地址總線使用(A8-A15)。當(dāng)P2口作為輸入/輸出口時(shí),P2是一個(gè)8位準(zhǔn)雙向口。在訪問(wèn)外部程序存儲(chǔ)器和16位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行“MOVX@DPTR”指令)時(shí),P2送出高8位地址。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行“MOVX@R1”指令)時(shí),P2口引腳上的內(nèi)容就是專(zhuān)用寄存器SFR區(qū)中的P2寄存器的內(nèi)容,在整個(gè)訪問(wèn)期間不會(huì)改變。4.P3口引腳P3.0~P3.7:P3是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O端口。P3的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫(xiě)入1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。P3做輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸入一個(gè)電流。P3口除作為一般I/O口外,還有其他一些復(fù)用功能,如表4-2所示。引腳號(hào)復(fù)用功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INT0(外部中斷0)P3.3INT1(外部中斷1)P3.4T0(定時(shí)器0的外部輸入)P3.5T1(定時(shí)器1的外部輸入)P3.6WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)6.電源與時(shí)鐘引腳(1)VCC:電源正極(2)Gnd:電源負(fù)極,接地(3)XTAL1:片內(nèi)振蕩器反相放大器和時(shí)鐘發(fā)生器電路輸入端。用片內(nèi)振蕩器時(shí),該腳接外部石英晶體和微調(diào)電容。外接時(shí)鐘源時(shí),該腳接外部時(shí)鐘振蕩器的信號(hào)。(4)
XTAL2:片內(nèi)振蕩器反相放大器的輸出端。當(dāng)使用片內(nèi)振蕩器,該腳連接外部石英晶體和微調(diào)電容。當(dāng)使用外部時(shí)鐘源時(shí),本腳懸空。
RST:復(fù)位輸入。當(dāng)輸入連續(xù)兩個(gè)機(jī)器周期以上高電平時(shí)為有效,用來(lái)完成單片機(jī)的復(fù)位初始化操作。看門(mén)狗計(jì)時(shí)完成后,RST引腳輸出96個(gè)晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無(wú)效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平為有效。4.3STC89C52單片機(jī)存儲(chǔ)器結(jié)構(gòu)STC89C52RC存儲(chǔ)器的結(jié)構(gòu)特點(diǎn)之一是將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi)(哈佛結(jié)構(gòu)),并有各自的訪問(wèn)指令。STC89C52RC系列單片機(jī)除可以訪問(wèn)片上Flash存儲(chǔ)器外,還可以訪問(wèn)64KB的外部程序存儲(chǔ)器。STC89C52RC系列單片機(jī)內(nèi)部有512字節(jié)的數(shù)據(jù)存儲(chǔ)器,其在物理和邏輯上都分為兩個(gè)地址空間:內(nèi)部RAM(256字節(jié))和內(nèi)部擴(kuò)展RAM(256字節(jié)),另外還可以訪問(wèn)在片外擴(kuò)展的64KB外部數(shù)據(jù)存儲(chǔ)器。4.3.1STC89C52單片機(jī)程序存儲(chǔ)器單片機(jī)程序存儲(chǔ)器存放程序和表格之類(lèi)的固定常數(shù)。片內(nèi)為8KB的Flash,地址為0000H~1FFFH。16位地址線,可外擴(kuò)的程序存儲(chǔ)器空間最大為64KB,地址為0000H~FFFFH。使用時(shí)應(yīng)注意以下問(wèn)題:(1)分為片內(nèi)和片外兩部分,訪問(wèn)片內(nèi)的還是片外的程序存儲(chǔ)器,由EA引腳電平確定。EA=1時(shí),CPU從片內(nèi)0000H開(kāi)始取指令,當(dāng)PC值沒(méi)有超出1FFFH時(shí),只訪問(wèn)片內(nèi)Flash存儲(chǔ)器,當(dāng)PC值超出1FFFH自動(dòng)轉(zhuǎn)向讀片外程序存儲(chǔ)器空間2000H~FFFFH內(nèi)的程序。EA=0時(shí),只能執(zhí)行片外程序存儲(chǔ)器(0000H~FFFFH)中的程序,不理會(huì)片內(nèi)8KBFlash存儲(chǔ)器。(2)程序存儲(chǔ)器某些固定單元用于各中斷源中斷服務(wù)程序入口。STC89C52復(fù)位后,程序存儲(chǔ)器地址指針PC的內(nèi)容為0000H,于是程序從程序存儲(chǔ)器的0000H開(kāi)始執(zhí)行,一般在這個(gè)單元存放一條跳轉(zhuǎn)指令,跳向主程序的入口地址。除此之外,64KB程序存儲(chǔ)器空間中有8個(gè)特殊單元分別對(duì)應(yīng)于8個(gè)中斷源的中斷入口地址,見(jiàn)表4-3。通常這8個(gè)中斷入口地址處都放一條跳轉(zhuǎn)指令跳向?qū)?yīng)的中斷服務(wù)子程序,而不是直接存放中斷服務(wù)子程序。因?yàn)閮蓚€(gè)中斷入口間的間隔僅有8個(gè)單元,一般不夠存放中斷服務(wù)子程序。中斷源中斷向量地址0003HT0000BH0013HT1001BHUART0023HT2002BH0033H003BH表4-3程序存儲(chǔ)器空間的8個(gè)中斷入口地址4.3.2STC89C52單片機(jī)數(shù)據(jù)存儲(chǔ)器STC89C52RC系列單片機(jī)內(nèi)部集成了512字節(jié)RAM,可用于存放程序執(zhí)行的中間結(jié)果和過(guò)程數(shù)據(jù)。內(nèi)部數(shù)據(jù)存儲(chǔ)器在物理和邏輯上都分為兩個(gè)地址空間:內(nèi)部RAM(256字節(jié))和內(nèi)部擴(kuò)展RAM(256字節(jié))。此外,還可以訪問(wèn)在片外擴(kuò)展的64KB數(shù)據(jù)存儲(chǔ)器。STC89C52RC系列單片機(jī)的存儲(chǔ)器分布如圖4-5所示。(特別說(shuō)明:圖中陰影部分的訪問(wèn)是由輔助寄存器AUXR(地址為8EH)的第EXTRAM位來(lái)設(shè)置,這部分在物理上是內(nèi)部RAM,邏輯上占用外部RAM地址空間)1.片內(nèi)數(shù)據(jù)存儲(chǔ)器:傳統(tǒng)的89C52單片機(jī)的內(nèi)部RAM只有256字節(jié)的空間可供使用,在此情況下STC公司響應(yīng)廣大用戶的呼聲,在一些單片機(jī)內(nèi)部增加了RAM。STC89C52RC系列單片機(jī)內(nèi)部擴(kuò)展了256個(gè)字節(jié)RAM。于是STC89C52RC單片機(jī)內(nèi)部512字節(jié)的RAM有3個(gè)部分:(1)低128字節(jié)(00H-7FH)內(nèi)部RAM;(2)高128字節(jié)(80H-FFH)內(nèi)部RAM;(3)內(nèi)部擴(kuò)展的256字節(jié)RAM空間(00H-FFH)。下面分別作出說(shuō)明:(1)低128字節(jié)(00H-7FH)的空間即可以直接尋址也可間接尋址,內(nèi)部低128字節(jié)RAM又可分為:工作寄存器組0(00H--07H)8字節(jié)、工作寄存器組1(08H--0FH)8字節(jié)、工作寄存器組2(10H--17H)8字節(jié)、工作寄存器組3(18H--1FH)8字節(jié)、可位尋址區(qū)(20H--2FH)16字節(jié)、用戶RAM和堆棧區(qū)(30H--7FH)80字節(jié);(2)高128字節(jié)(80H-FFH)的空間和特殊功能寄存器區(qū)SFR的地址空間(80H-FFH)貌似共用相同的地址范圍,但物理上是獨(dú)立的,使用時(shí)通過(guò)不同的尋址方式加以區(qū)分:高128字節(jié)只能間接尋址,而特殊功能寄存器區(qū)SFR只能直接尋址。(3)內(nèi)部擴(kuò)展RAM,在物理上是內(nèi)部,但邏輯上是占用外部數(shù)據(jù)存儲(chǔ)器的部分空間,需要用MOVX來(lái)訪問(wèn)。內(nèi)部擴(kuò)展RAM是否可以被訪問(wèn)是由輔助寄存器AUXR(地址為8EH)的第EXTRAM位來(lái)設(shè)置。關(guān)于擴(kuò)展RAM的管理將在第4.3.3節(jié)的AUXR特殊功能寄存器部分詳細(xì)介紹。2.片外數(shù)據(jù)存儲(chǔ)區(qū)當(dāng)片內(nèi)RAM不夠用時(shí),需外擴(kuò)數(shù)據(jù)存儲(chǔ)器,STC89C52最多可外擴(kuò)64KB的RAM。注意,片內(nèi)RAM與片外RAM兩個(gè)空間是相互獨(dú)立的,片內(nèi)RAM與片外RAM的低256字節(jié)的地址是相同的,但由于使用的是不同的訪問(wèn)指令,所以不會(huì)發(fā)生沖突。另外說(shuō)明下,只有在訪問(wèn)真正的外部數(shù)據(jù)存儲(chǔ)器期間,WR或RD信號(hào)才有效。但當(dāng)MOVX指令訪問(wèn)物理上在內(nèi)部,邏輯上在外部的片內(nèi)擴(kuò)展RAM時(shí),這些信號(hào)將被忽略。4.3.3STC89C52單片機(jī)特殊功能寄存器STC89C52中的CPU對(duì)片內(nèi)各功能部件的控制是采用特殊功能寄存器集中控制方式。特殊功能寄存器SFR的單元地址映射在片內(nèi)RAM的80H-FFH區(qū)域中,離散地分布在該區(qū)域,其中字節(jié)地址以0H或8H結(jié)尾的特殊功能寄存器可以進(jìn)行位操作。表4-4單片機(jī)內(nèi)核特殊功能寄存器序號(hào)符號(hào)功能介紹字節(jié)地址位地址復(fù)位值1ACC累加器E0HE7-E0H000000002BB寄存器F0HF7-F0H000000003PSW程序狀態(tài)字寄存器D0HD7-D0H000000004SP堆棧指針81H—000001115DP0L數(shù)據(jù)地址指針DPTR0低8位82H—000000006DP0H數(shù)據(jù)地址指針DPTR0高8位83H—000000007DP1L數(shù)據(jù)地址指針DPTR1低8位84H—8DP1H數(shù)據(jù)地址指針DPTR1高8位85H—表4-5
單片機(jī)系統(tǒng)管理特殊功能寄存器序號(hào)符號(hào)功能介紹字節(jié)地址位地址復(fù)位值1PCON電源控制寄存器87H—0xx100002AUXR輔助寄存器8EH—xxxxxx003AUXR1輔助寄存器1A2H—xxxx0xx0表4-6單片機(jī)中斷管理特殊功能寄存器序號(hào)符號(hào)功能介紹字節(jié)地址位地址復(fù)位值1IE中斷允許控制寄存器A8HAFH-A8H000000002IP低中斷優(yōu)先級(jí)控制寄存器B8HBFH-B8Hxx0000003IPH高中斷優(yōu)先級(jí)控制寄存器B7H—000000004TCONT0、T1定時(shí)器/計(jì)數(shù)器控制寄存器88H8FH-88H000000005SCON串行口控制寄存器98H9FH-98H000000006T2CONT2定時(shí)器/計(jì)數(shù)器控制寄存器C8HCFH-C8H000000007XICON擴(kuò)展中斷控制寄存器C0HC7H-C0H00000000表4-7單片機(jī)I/O口特殊功能寄存器序號(hào)符號(hào)功能介紹字節(jié)地址位地址復(fù)位值1P0P0口鎖存器80H87H-80H111111112P1P1口鎖存器90H97H-90H111111113P2P2口鎖存器A0HA7H-A0H111111114P3P3口鎖存器B0HB7H-B0H111111115P4P4口鎖存器E8HE7H-E0Hxxxx1111表4-8單片機(jī)串行口特殊功能寄存器序號(hào)符號(hào)功能介紹字節(jié)地址位地址復(fù)位值1*SCON串行口控制寄存器98H9FH-98H000000002SBUF串行口鎖存器99H—xxxxxxxx3SADEN串行從機(jī)地址掩模寄存器B9H—000000004SADDR串行從機(jī)地址控制寄存器A9H—00000000表4-9單片機(jī)定時(shí)器特殊功能寄存器序號(hào)符號(hào)功能介紹字節(jié)地址位地址復(fù)位值1*TCONT0、T1定時(shí)/計(jì)數(shù)控制寄存器88H8FH-88H000000002TMODT0、T1定時(shí)/計(jì)數(shù)方式控制寄存器89H—000000003TL0定時(shí)器/計(jì)數(shù)器0(低8位)8AH—000000004TH0定時(shí)器/計(jì)數(shù)器0(低8位)8CH—000000005TL1定時(shí)器/計(jì)數(shù)器1(高8位)8BH—000000006TH1定時(shí)器/計(jì)數(shù)器1(高8位)8DH—000000007*T2CON定時(shí)器/計(jì)數(shù)器2控制寄存器C8H000000008T2MOD定時(shí)器/計(jì)數(shù)器2模式寄存器C9H—xxxxxx009RCAP2L外部輸入(P1.1)計(jì)數(shù)器/自動(dòng)再裝入模式時(shí)初值寄存器低八位CAH—0000000010RCAP2H外部輸入(P1.1)計(jì)數(shù)器/自動(dòng)再裝入模式時(shí)初值寄存器高八位CBH—0000000011TL2定時(shí)器/計(jì)數(shù)器2(低8位)CCH—0000000012TH2定時(shí)器/計(jì)數(shù)器2(高8位)CDH—00000000表4-10
單片機(jī)看門(mén)狗特殊功能寄存器序號(hào)符號(hào)功能介紹字節(jié)地址位地址復(fù)位值1WDT_CONTR看門(mén)狗控制寄存器E1h—xx000000表4-11單片機(jī)ISP/IAP特殊功能寄存器序號(hào)符號(hào)功能介紹字節(jié)地址位地址復(fù)位值1ISP_DATAISP/IAP數(shù)據(jù)寄存器E2h—111111112ISP_ADDRHISP/IAP地址高8位E3h—000000003ISP_ADDRLISP/IAP地址低8位E4h—000000004ISP_CMDISP/IAP命令寄存器E5h—xxxxx0005ISP_TRIGISP/IAP命令觸發(fā)寄存器E6h—xxxxxxxx6ISP_CONTRISP/IAP控制寄存器E7h—000xx000以下介紹部分特殊功能寄存器,其它各特殊功能寄存器的功能將在相應(yīng)的章節(jié)介紹。1、AUXR擴(kuò)展RAM及ALE管理特殊功能寄存器(見(jiàn)表4-12)(1)擴(kuò)展RAM的管理由AUXR特殊功能寄存器的第EXTRAM位來(lái)設(shè)置。普通89C51/89C52系列單片機(jī)的內(nèi)部RAM只有128(89C51)/256(89C52)供用戶使用,而STC89C52RC系列單片機(jī)內(nèi)部擴(kuò)展了256字節(jié)的RAM。符號(hào)功能介紹字節(jié)地址位地址復(fù)位值A(chǔ)UXR輔助寄存器8EH——————EXTRAMALEOFFxxxxxx00(2)當(dāng)EXTRAM=0時(shí),內(nèi)部擴(kuò)展RAM可存取,此時(shí)使用MOVXA,@Ri/MOVX@Ri,A指令來(lái)固定訪問(wèn)00H-FFH內(nèi)部擴(kuò)展的RAM空間,當(dāng)超過(guò)FFH的外部RAM則用MOVXA,@DPTR/MOVX@DPTR,A指令來(lái)訪問(wèn);
當(dāng)EXTRAM=1時(shí),禁止內(nèi)部擴(kuò)展RAM的使用,外部的RAM可以存取,此時(shí)MOVX@DPTR和MOVX@Ri的使用同傳統(tǒng)的89C52。有些用戶系統(tǒng)因?yàn)橥獠繑U(kuò)展了I/O或者用片選去選多個(gè)RAM區(qū),有時(shí)與此內(nèi)部擴(kuò)展的RAM邏輯地址上有沖突,于是將此位設(shè)置為”1”,禁止訪問(wèn)此內(nèi)部擴(kuò)展的RAM就可以了。符號(hào)功能介紹字節(jié)地址位地址復(fù)位值A(chǔ)UXR輔助寄存器8EH——————EXTRAMALEOFFxxxxxx00特別說(shuō)明:請(qǐng)盡量用MOVXA,@Ri/MOVX@Ri,A指令訪問(wèn)內(nèi)部擴(kuò)展RAM,這樣只能訪問(wèn)256字節(jié)的擴(kuò)展RAM,可與很多單片機(jī)兼容,以達(dá)到完全兼容以前老產(chǎn)品的目的。另外,在訪問(wèn)內(nèi)部擴(kuò)展RAM之前,用戶還需在燒錄用戶程序時(shí)在STC-ISP編程器中設(shè)置允許內(nèi)部擴(kuò)展AUX-RAM訪問(wèn),如圖4-6所示。(3)當(dāng)ALEOFF=0時(shí),在12時(shí)鐘模式時(shí)ALE腳輸出固定的1/6晶振頻率信號(hào),在6時(shí)鐘模式時(shí)輸出固定的1/3晶振頻率信號(hào)。當(dāng)ALEOFF=1時(shí),ALE引腳僅在執(zhí)行MOVX或MOVC指令時(shí)才輸出信號(hào),好處是降低了系統(tǒng)對(duì)外界的電磁干擾。符號(hào)功能介紹字節(jié)地址位地址復(fù)位值A(chǔ)UXR輔助寄存器8EH——————EXTRAMALEOFFxxxxxx002、AUXR1雙數(shù)據(jù)指針控制特殊功能寄存器(見(jiàn)表4-13)(1)GF2通用功能用戶自定義位。由用戶根據(jù)需要自定義使用。(2)DPS是DPTR寄存器選擇位。當(dāng)DPS=0時(shí),選擇數(shù)據(jù)指針DPTR0;當(dāng)DPS=1時(shí),選擇數(shù)據(jù)指針DPTR1。AUXR1特殊功能寄存器位于A2H單元,不可用位操作指令快速訪問(wèn)。但由于DPS位位于bit0,故對(duì)AUXR1寄存器用INC指令,DPS位便會(huì)反轉(zhuǎn),由0變成1或由1變成0,即可實(shí)現(xiàn)雙數(shù)椐指針的快速切換。符號(hào)功能介紹字節(jié)地址位地址復(fù)位值A(chǔ)UXR1輔助寄存器A2H————GF2——DPSxxxx0xx03、堆棧指針SPSP指示堆棧頂部在內(nèi)部RAM塊中的位置。該微處理器的堆棧結(jié)構(gòu)是向上生長(zhǎng)型。單片機(jī)復(fù)位后,SP為07H,使得堆棧實(shí)際上從08H單元開(kāi)始,由于08H~1FH單元分別是屬于1~3組的工作寄存器區(qū),最好在復(fù)位后把SP值改置為60H或更大的值,避免堆棧與工作寄存器沖突。堆棧操作只有兩種:數(shù)據(jù)壓入(PUSH)堆棧和數(shù)據(jù)彈出(POP)堆棧。數(shù)據(jù)壓入堆棧,SP自動(dòng)加1;數(shù)據(jù)彈出堆棧,SP自動(dòng)減1。堆棧是為子程序調(diào)用和中斷操作而設(shè),主要用來(lái)保護(hù)斷點(diǎn)地址和現(xiàn)場(chǎng)狀態(tài)。4、累加器A使用最頻繁的寄存器,可寫(xiě)為Acc。A的進(jìn)位標(biāo)志Cy是特殊的,因?yàn)樗瑫r(shí)又是位處理機(jī)的位累加器。累加器A的作用是ALU單元的輸入數(shù)據(jù)源之一,又是ALU運(yùn)算結(jié)果存放單元。數(shù)據(jù)傳送大多都通過(guò)累加器A,相當(dāng)于數(shù)據(jù)的中轉(zhuǎn)站。5、寄存器B為執(zhí)行乘法和除法而設(shè)。在不執(zhí)行乘、除法操作的情況下,可把它當(dāng)作一個(gè)普通寄存器來(lái)使用。執(zhí)行乘法時(shí),兩乘數(shù)分別在A、B中,執(zhí)行乘法指令后,乘積在BA中;執(zhí)行除法時(shí),被除數(shù)取自A,除數(shù)取自B,商存放在A中,余數(shù)存放在B中。6、程序狀態(tài)字寄存器PSW(ProgramStatusWord)(見(jiàn)表4-14)PSW包含了程序運(yùn)行狀態(tài)的信息,其中4位保存當(dāng)前指令執(zhí)行后的狀態(tài),供程序查詢(xún)和判斷。PSW中各個(gè)位的功能:(1)Cy(PSW.7)進(jìn)位標(biāo)志位Cy可寫(xiě)為C。在算術(shù)和邏輯運(yùn)算時(shí),若有進(jìn)位/借位,Cy=1;否則,Cy=0。在位處理器中,它是位累加器。(2)Ac(PSW.6)輔助進(jìn)位標(biāo)志位在BCD碼運(yùn)算時(shí),用作十進(jìn)位調(diào)整。即當(dāng)D3位向D4位產(chǎn)生進(jìn)位或借位時(shí),Ac=1;否則,Ac=0。符號(hào)字節(jié)地址位地址復(fù)位值PSWD0HCyAcF0RS1RS0OV—P000000006、程序狀態(tài)字寄存器PSW(ProgramStatusWord)(見(jiàn)表4-14)(3)F0(PSW.5)用戶設(shè)定標(biāo)志位由用戶使用的一個(gè)狀態(tài)標(biāo)志位,可用指令來(lái)使它置1或清0,控制程序的流向。用戶應(yīng)充分利用它。(4)RS1、RS0(PSW.4、PSW.3)4組工作寄存器區(qū)選擇選擇片內(nèi)RAM區(qū)中的4組工作寄存器區(qū)中的某一組為當(dāng)前工作寄存區(qū)見(jiàn)表4-15。符號(hào)字節(jié)地址位地址復(fù)位值PSWD0HCyAcF0RS1RS0OV—P000000006、程序狀態(tài)字寄存器PSW(ProgramStatusWord)(見(jiàn)表4-14)(5)OV(PSW.2)溢出標(biāo)志位當(dāng)執(zhí)行算術(shù)指令時(shí),用來(lái)指示運(yùn)算結(jié)果是否產(chǎn)生溢出。如果結(jié)果產(chǎn)生溢出,OV=1;否則,OV=0。(6)PSW.1位
保留位(7)P(PSW.0)奇偶標(biāo)志位指令執(zhí)行完,累加器A中“1”的個(gè)數(shù)是奇數(shù)還是偶數(shù)。P=1,表示A中“1”的個(gè)數(shù)為奇數(shù)。P=0,表示A中“1”的個(gè)數(shù)為偶數(shù)。此標(biāo)志位對(duì)串行通信有重要的意義,常用奇偶檢驗(yàn)的方法來(lái)檢驗(yàn)數(shù)據(jù)串行傳輸?shù)目煽啃?。符?hào)字節(jié)地址位地址復(fù)位值PSWD0HCyAcF0RS1RS0OV—P000000004.4STC89C52單片機(jī)I/O口STC89C52RC單片機(jī)所有I/O端口均有3種工作類(lèi)型:準(zhǔn)雙向口/弱上拉(標(biāo)準(zhǔn)8051輸出模式)、僅為輸入(高阻)或開(kāi)漏輸出功能。4.4.1P0端口P0口是一個(gè)雙功能的8位并行端口,字節(jié)地址為80H,位地址為80H~87H。端口的各位具有完全相同但又相互獨(dú)立的電路結(jié)構(gòu)。P0口上電復(fù)位后處于開(kāi)漏模式,當(dāng)P0管腳作I/O口時(shí),需外加10K~4.7K的上拉電阻,當(dāng)P0管腳作為地址/數(shù)據(jù)復(fù)用總線使用時(shí),不用外加上拉電阻。當(dāng)P0口線鎖存器為0時(shí),開(kāi)漏輸出關(guān)閉所有上拉晶體管。當(dāng)P0口作為一個(gè)邏輯輸出時(shí),這種配置方式必須有外部上拉電阻,一般通過(guò)電阻外接到Vcc。如果外部有上拉電阻,開(kāi)漏的I/O口還可以讀外部狀態(tài),即此時(shí)被配置為開(kāi)漏模式的I/O口還可以作為輸入I/O口。這種方式的下拉與準(zhǔn)雙向口相同。輸出口線配置如圖4-7所示,開(kāi)漏端口帶有一個(gè)干擾抑制電路。4.4.2P1/P2/P3/P4端口STC89C52RC系列單片機(jī)的P1/P2/P3/P4上電復(fù)位后為準(zhǔn)雙向口/弱上拉(傳統(tǒng)8051的I/O口)模式。準(zhǔn)雙向口輸出類(lèi)型可用作輸出和輸入功能而不需重新配置口線輸出狀態(tài)。這是因?yàn)楫?dāng)口線輸出為1時(shí)驅(qū)動(dòng)能力很弱,允許外部裝置將其拉低。當(dāng)引腳輸出為低時(shí),它的驅(qū)動(dòng)能力很強(qiáng),可吸收相當(dāng)大的電流。準(zhǔn)雙向口有3個(gè)上拉晶體管適應(yīng)不同的需要。即:要想獲得較大的驅(qū)動(dòng)能力,采用低電平輸出。在3個(gè)上拉晶體管中,有1個(gè)上拉晶體管稱(chēng)為“弱上拉”,當(dāng)口線寄存器為1且引腳本身也為1時(shí)打開(kāi)。此上拉提供基本驅(qū)動(dòng)電流使準(zhǔn)雙向口輸出為1。如果一個(gè)引腳輸出為1而由外部裝置下拉到低時(shí),弱上拉關(guān)閉而“極弱上拉”維持開(kāi)狀態(tài),為了把這個(gè)引腳強(qiáng)拉為低,外部裝置必須有足夠的灌電流能力使引腳上的電壓降到門(mén)檻電壓以下。輸出11弱上拉管提供電流輸出00灌電流,導(dǎo)通第2個(gè)上拉晶體管,稱(chēng)為“極弱上拉”,當(dāng)口線鎖存為1時(shí)打開(kāi)。當(dāng)引腳懸空時(shí),這個(gè)極弱的上拉源產(chǎn)生很弱的上拉電流將引腳上拉為高電平。第3個(gè)上拉晶體管稱(chēng)為“強(qiáng)上拉”。當(dāng)口線鎖存器由0到1跳變時(shí),這個(gè)上拉用來(lái)加快準(zhǔn)雙向口由邏輯0到邏輯1轉(zhuǎn)換。當(dāng)發(fā)生這種情況時(shí),強(qiáng)上拉打開(kāi)約2個(gè)時(shí)鐘以使引腳能夠迅速地上拉到高電平。準(zhǔn)雙向口輸出如圖4-8所示。輸出1懸空極弱上拉管上拉電流0到10到1如果用戶向3V單片機(jī)的引腳上加5V電壓,將會(huì)有電流從引腳流向Vcc,這樣導(dǎo)致額外的功率消耗。因此,建議不要在準(zhǔn)雙向口模式中向3V單片機(jī)引腳施加5V電壓,如使用的話,要加限流電阻,或用二極管做輸入隔離,或用三極管做輸出隔離。準(zhǔn)雙向口帶有一個(gè)干擾抑制電路。準(zhǔn)雙向口讀外部狀態(tài)前,要先鎖存為“1”,才可讀到外部正確的狀態(tài)。4.4.35V單片機(jī)連接3V器件STC89C52RC的5V單片機(jī)的P0口的灌電流最大為12mA,其他I/O口的灌電流最大為6mA。P0口驅(qū)動(dòng)能力是其它端口的2倍。8個(gè)LSTTL輸入。當(dāng)STC89C52RC系列5V單片機(jī)連接3.3V器件時(shí),為防止3.3V器件承受不了5V,可將相應(yīng)的5V單片機(jī)P0口先串一個(gè)0~330Ω的限流電阻到3.3V器件I/O口,相應(yīng)的3.3V器件I/O口外部加10K上拉電阻到3.3V器件的Vcc,這樣高電平是3.3V,低電平是0V,輸入輸出一切正常。其配置見(jiàn)圖4-9。4.5STC89C52單片機(jī)的時(shí)鐘與復(fù)位4.5.1傳統(tǒng)51單片機(jī)時(shí)序單片機(jī)工作時(shí),是在統(tǒng)一的時(shí)鐘脈沖控制下一拍一拍地進(jìn)行的。時(shí)鐘電路產(chǎn)生單片機(jī)工作時(shí)所必需的控制信號(hào),在時(shí)鐘信號(hào)的控制下,嚴(yán)格按時(shí)序執(zhí)行指令。由于指令的字節(jié)數(shù)不同,取這些指令所需要的時(shí)間也就不同,即使是字節(jié)數(shù)相同的指令,由于執(zhí)行操作有較大的差別,不同的指令執(zhí)行時(shí)間也不一定相同,即所需的拍節(jié)數(shù)不同。為了便于對(duì)CPU時(shí)序進(jìn)行分析,一般按指令的執(zhí)行過(guò)程規(guī)定了幾種周期,即時(shí)鐘周期、機(jī)器周期和指令周期,也稱(chēng)為時(shí)序定時(shí)單位。1.時(shí)鐘周期也稱(chēng)為振蕩周期,定義為時(shí)鐘脈沖的倒數(shù),是計(jì)算機(jī)中最基本的、最小的時(shí)間單位??梢赃@么理解,時(shí)鐘周期就是單片機(jī)外接晶振的倒數(shù),例如12M的晶振,它的時(shí)鐘周期就是1/12us。顯然,對(duì)同一種機(jī)型的單片機(jī),時(shí)鐘頻率越高,單片機(jī)的工作速度就越快。但是,由于不同的單片機(jī)硬件電路和器件的不完全相同,所以其所需要的時(shí)鐘頻率范圍也不一定相同。在單片機(jī)中把一個(gè)時(shí)鐘周期定義為一個(gè)節(jié)拍(用P表示),二個(gè)節(jié)拍定義為一個(gè)狀態(tài)周期(用S表示)。2.機(jī)器周期在單片機(jī)中,為了便于管理,常把一條指令的執(zhí)行過(guò)程劃分為若干個(gè)階段,每一階段完成一項(xiàng)工作。例如,取指令、存儲(chǔ)器讀、存儲(chǔ)器寫(xiě)等,這每一項(xiàng)工作稱(chēng)為一個(gè)基本操作。完成一個(gè)基本操作所需要的時(shí)間稱(chēng)為機(jī)器周期。一般情況下,一個(gè)機(jī)器周期由若干個(gè)S周期(狀態(tài)周期)組成。51系列單片機(jī)的一個(gè)機(jī)器周期由6個(gè)S周期(狀態(tài)周期)組成。前面已說(shuō)過(guò)一個(gè)時(shí)鐘周期定義為一個(gè)節(jié)拍(用P表示),二個(gè)節(jié)拍定義為一個(gè)狀態(tài)周期(用S表示),51單片機(jī)的機(jī)器周期由6個(gè)狀態(tài)周期組成,也就是說(shuō)一個(gè)機(jī)器周期=6個(gè)狀態(tài)周期=12個(gè)時(shí)鐘周期。 由圖4-10可知:1個(gè)機(jī)器周期包括12個(gè)時(shí)鐘周期,分6個(gè)狀態(tài):S1~S6。每個(gè)狀態(tài)又分兩拍:P1和P2。因此,一個(gè)機(jī)器周期中的12個(gè)時(shí)鐘周期表示為S1P1、S1P2、S2P1、S2P2、…、S6P2。3.指令周期指令周期是執(zhí)行一條指令所需要的時(shí)間,一般由若干個(gè)機(jī)器周期組成。指令不同,所需的機(jī)器周期數(shù)也不同。對(duì)于一些簡(jiǎn)單的單字節(jié)指令,在取指令周期中,指令取出到指令寄存器后,立即譯碼執(zhí)行,不再需要其它的機(jī)器周期。對(duì)于一些比較復(fù)雜的指令,例如轉(zhuǎn)移指令、乘法指令,則需要兩個(gè)或者兩個(gè)以上的機(jī)器周期。通常含一個(gè)機(jī)器周期的指令稱(chēng)為單周期指令,包含兩個(gè)機(jī)器周期的指令稱(chēng)為雙周期指令。51單片機(jī)的指令系統(tǒng)中,按它們的長(zhǎng)度可分為單字節(jié)指令、雙字節(jié)指令和三字節(jié)指令。從指令執(zhí)行時(shí)間看:?jiǎn)巫止?jié)和雙字節(jié)指令一般為單機(jī)器周期和雙機(jī)器周期;三字節(jié)指令都是雙機(jī)器周期;乘、除指令占用四個(gè)機(jī)器周期。4.5.2STC89C52單片機(jī)時(shí)鐘電路單片機(jī)工作時(shí),是在統(tǒng)一的時(shí)鐘脈沖控制下一拍一拍地進(jìn)行的。這個(gè)脈沖是由單片機(jī)控制器中的時(shí)序電路發(fā)出的。單片機(jī)的時(shí)序就是CPU在執(zhí)行指令時(shí)所需控制信號(hào)的時(shí)間順序,為了保證各部件間的同步工作,單片機(jī)內(nèi)部電路應(yīng)在唯一的時(shí)鐘信號(hào)下嚴(yán)格地控制時(shí)序進(jìn)行工作。CPU發(fā)出的時(shí)序信號(hào)有兩類(lèi),一類(lèi)用于對(duì)片內(nèi)各個(gè)功能部件控制,用戶無(wú)須了解;另一類(lèi)用于對(duì)片外存儲(chǔ)器或I/O口的控制,這部分時(shí)序?qū)τ诜治?、設(shè)計(jì)硬件接口電路至關(guān)重要。時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。常用的時(shí)鐘電路有兩種方式,一種是內(nèi)部時(shí)鐘方式,另一種是外部時(shí)鐘方式。1.內(nèi)部時(shí)鐘方式STC89C52內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。這兩個(gè)引腳跨接石英晶體振蕩器和微調(diào)電容,構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。2.外部時(shí)鐘方式此方式利用外部振蕩脈沖接入XTAL1或XTAL2。對(duì)于STC89C52RC系列單片機(jī),因內(nèi)部時(shí)鐘發(fā)生器的信號(hào)取自反相器的輸入端,故采用外部時(shí)鐘源時(shí),接線方式為外部時(shí)鐘源直接接到XTAL1端,XTAL2端懸空。用現(xiàn)成的外部振蕩器產(chǎn)生脈沖信號(hào),常用于多片單片機(jī)同時(shí)工作,以便于多片單片機(jī)之間的同步,一般采用內(nèi)部時(shí)鐘方式產(chǎn)生工作時(shí)序,如圖4-11所示。時(shí)鐘電路中的R、C的參數(shù)值的設(shè)置情況如表4-16所示。晶振增益控制OSCDN=fullgain晶振頻率4MHz6MHz12M-25MHz26M-30MHz31M-35MHz36M-39MHz40M-43MHz44M-48MHzC2、C3=100pF47pF-100pF=47pF<=10pF<=10pF<=10pF<=10pF<=5pFR1不用不用不用6.8K5.1K4.7K3.3K3.3K晶振增益控制OSCDN=1/2gain晶振頻率4MHz6MHz12M-25MHz26M-30MHz31M-35MHz36M-39MHz40M-43MHz44M-48MHzC2、C3=100pF47pF-100pF=47pF<=10pF不用不用不用不用R1不用不用不用6.8K5.1K4.7K3.3K3.3K圖4-12振蕩器增益設(shè)置STC89C52RC系列單片機(jī)是真正的6T單片機(jī),傳統(tǒng)的8051為每個(gè)機(jī)器周期12個(gè)時(shí)鐘周期,如將該單片機(jī)設(shè)為雙倍速即每個(gè)機(jī)器周期為6個(gè)時(shí)鐘周期,則可將單片機(jī)外部時(shí)鐘頻率降低一半,有效降低單片機(jī)時(shí)鐘對(duì)外界的干擾。同時(shí)STC89C52RC系列兼容普通12T的單片機(jī)。STC89C52RC系列的HD版本的單片機(jī)推薦工作時(shí)鐘頻率如表4-17所示。內(nèi)部時(shí)鐘方式:外接晶振外部時(shí)鐘方式:直接由XTAL1輸入12T模式6T模式12T模式6T模式2MHz~48MHz2MHz~36MHz2MHz~48MHz2MHz~36MHz4.5.3STC89C52單片機(jī)的復(fù)位電路復(fù)位是單片機(jī)的初始化操作。單片機(jī)啟運(yùn)運(yùn)行時(shí),都需要先復(fù)位,其作用是使CPU和系統(tǒng)中其他部件處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。因而,復(fù)位是一個(gè)很重要的操作方式。但單片機(jī)本身是不能自動(dòng)進(jìn)行復(fù)位的,必須配合相應(yīng)的外部電路才能實(shí)現(xiàn)。STC89C52RC系列單片機(jī)有4種復(fù)位方式:外部RST引腳復(fù)位、軟件復(fù)位、掉電復(fù)位、上電復(fù)位、看門(mén)狗復(fù)位。1)外部RST引腳復(fù)位外部RST引腳復(fù)位就是從外部向RST引腳施加一定寬度的復(fù)位脈沖,從而實(shí)現(xiàn)單片機(jī)的復(fù)位。將RST復(fù)位引腳拉高并維持至少24個(gè)時(shí)鐘加10us后,單片機(jī)會(huì)進(jìn)入復(fù)位狀態(tài),將RST復(fù)位引腳拉回低電平后,單片機(jī)結(jié)束復(fù)位狀態(tài)并從用戶程序區(qū)的0000H處開(kāi)始正常工作。采用阻容復(fù)位電路時(shí),電容C1為10uF,電阻R1為10K。電路如圖4-13所示。2)軟件復(fù)位用戶應(yīng)用程序在運(yùn)行過(guò)程中,有時(shí)會(huì)有特殊需求,需要實(shí)現(xiàn)單片機(jī)系統(tǒng)軟復(fù)位(熱啟動(dòng)之一),傳統(tǒng)的8051單片機(jī)由于硬件上未支持此功能,用戶必須用軟件模擬實(shí)現(xiàn),實(shí)現(xiàn)起來(lái)較麻煩。現(xiàn)STC新推出的增強(qiáng)型8051根據(jù)客戶要求增加了ISP_CONTR特殊功能寄存器,實(shí)現(xiàn)了此功能。用戶只需簡(jiǎn)單的控制ISP_CONTR特殊功能寄存器的其中兩位SWBS/SWRST就可以系統(tǒng)復(fù)位了。3)掉電復(fù)位/上電復(fù)位當(dāng)電源電壓VCC低于上電復(fù)位/掉電復(fù)位電路的檢測(cè)門(mén)檻電壓時(shí),所有的邏輯電路都會(huì)復(fù)位。當(dāng)VCC重新恢復(fù)正常電壓時(shí),HD版本的單片機(jī)延遲2048個(gè)時(shí)鐘(90版本單片機(jī)延遲32768個(gè)時(shí)鐘)后,上電復(fù)位/掉電復(fù)位結(jié)束。進(jìn)入掉電模式時(shí),上電復(fù)位/掉電復(fù)位功能被關(guān)閉。4)看門(mén)狗復(fù)位在工業(yè)控制、汽車(chē)電子、航空航天等需要高可靠性的系統(tǒng)中,為了防止“系統(tǒng)在異常情況下,受到干擾,MCU/CPU程序跑飛,導(dǎo)致系統(tǒng)長(zhǎng)時(shí)間異常工作”,通常是引進(jìn)看門(mén)狗,如果MCU/CPU不在規(guī)定的時(shí)間內(nèi)按要求訪問(wèn)看門(mén)狗,就認(rèn)為MCU/CPU處于異常狀態(tài),看門(mén)狗就會(huì)強(qiáng)迫MCU/CPU復(fù)位,使系統(tǒng)重新從頭開(kāi)始按規(guī)律執(zhí)行用戶程序。STC89C52RC系列單片機(jī)為此功能增加了特殊功能寄存器WDT_CONTR看門(mén)狗控制寄存
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人房車(chē)出售合同范本
- 小型家裝合同范本
- 2025至2030年中國(guó)換檔桿上殼數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)干洗軟棉數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 眼外傷術(shù)后護(hù)理
- 紋身招學(xué)徒合同范本
- 合作辦學(xué)校合同范本
- 二零二五年度高空作業(yè)事故責(zé)任免除及應(yīng)急處理合同
- 二零二五年度教育培訓(xùn)機(jī)構(gòu)學(xué)費(fèi)收費(fèi)合同
- 醫(yī)學(xué)影像技術(shù)對(duì)骨質(zhì)疏松癥的預(yù)防與處理
- 理發(fā)店業(yè)務(wù)轉(zhuǎn)讓協(xié)議書(shū)范本
- 2024年江蘇省中學(xué)生生物學(xué)奧林匹克初賽理論試題
- 環(huán)境年度報(bào)告
- 生產(chǎn)流水線的規(guī)劃方案
- 小針刀療法教學(xué)課件
- 打造寫(xiě)生基地方案
- 寫(xiě)作:廣告詞-【中職專(zhuān)用】高二語(yǔ)文高效課堂(高教版2023·職業(yè)模塊)
- 爆發(fā)性心肌炎護(hù)理查房課件
- 銷(xiāo)售人員人才畫(huà)像
- 鑫宇鋅合金模具設(shè)計(jì)標(biāo)準(zhǔn)
- 整理我的小書(shū)桌(課件)小學(xué)勞動(dòng)二年級(jí)通用版
評(píng)論
0/150
提交評(píng)論