STC89C52單片機(jī)硬件結(jié)構(gòu)_第1頁(yè)
STC89C52單片機(jī)硬件結(jié)構(gòu)_第2頁(yè)
STC89C52單片機(jī)硬件結(jié)構(gòu)_第3頁(yè)
STC89C52單片機(jī)硬件結(jié)構(gòu)_第4頁(yè)
STC89C52單片機(jī)硬件結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩68頁(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)介

1、4.1 STC89C52單片機(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)8051 3.工作電壓:5.53.4V(5V單片機(jī))/2.03.8V(3V單片機(jī))。 4.工作頻率:040MHz,相當(dāng)于普通8051

2、單片機(jī)的080MHz,實(shí)際工作頻率可達(dá)48MHz。 5.用戶應(yīng)用程序空間:8KB片內(nèi)Flash程序存儲(chǔ)器,擦寫(xiě)次數(shù)10萬(wàn)次以上。 6.片上集成512B RAM數(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.硬件

3、看門(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.工作溫度范圍:075(商業(yè)級(jí))/4085(工業(yè)級(jí))。 16.封裝形式有:LQFP-44、PDIP-40、PLCC-44、PQFP-44。由于LQFP-44具有體積小、擴(kuò)展了P4口、

4、外部中斷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),寬溫度范圍為4085,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.超低功耗:掉電模式,典型電流

5、損耗0.1A;空閑模式,典型電流損耗為2mA;正常工作模式,典型電流損耗4mA7mA。,STC89C52RC單片機(jī)的工作模式有如下幾種: 1.掉電模式:RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止,中斷返回后,繼續(xù)執(zhí)行原程序。典型功耗0.1A。 2.空閑模式:CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。典型功耗2mA。 3.正常工作模式:?jiǎn)纹瑱C(jī)正常執(zhí)行程序的工作模式,典型功耗4mA7mA。,選用STC89C52系列單片機(jī)的一個(gè)主要原因: 由于這種單片機(jī)可以利用全雙工異步串行口(P3.0/P3.1)進(jìn)行在系統(tǒng)編程(ISP),即無(wú)需專(zhuān)用編程器

6、/仿真器,就可通過(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所示。,大部分STC

7、89系列單片機(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.2 STC89C52單片機(jī)的外部引腳及功能,STC89C52目前有LQFP44、PQFP44、PDIP40、PLCC44等封裝形式,并且不同版本的引腳也不同,圖4- 3所示為各封裝形式的HD版本和90C版本的引腳圖。,圖4- 3(a)PDIP40的HD版本引腳圖 圖4-3(b)PDIP40的9

8、0C版本引腳圖,圖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編程器中將ALE pin選

9、擇為用作P4.5,在燒錄用戶程序時(shí)在STC-ISP編程器中該管腳默認(rèn)作ALE pin,具體設(shè)置如圖4- 4所示。,STC89C52RC單片機(jī)有5個(gè)端口P0、P1、P2、P3、P4,其中P4端口在LQFP44、PQFP44、PLCC44等封裝形式中才有,其它有很多引腳和控制信號(hào)共用引腳。下面就各引腳進(jìn)行說(shuō)明。 1. P0口引腳 P0.0P0.7:P0口即可作為輸入/輸出口,也可作為地址/數(shù)據(jù)復(fù)用總線使用。當(dāng)P0口作為輸入/輸出口時(shí),P0是一個(gè)8位準(zhǔn)雙向口,上電復(fù)位后處于開(kāi)漏模式。P0口內(nèi)部無(wú)上拉電阻,所以作I/O口必須外接10K4.7K的上拉電阻。當(dāng)P0作為地址/數(shù)據(jù)復(fù)用總線使用時(shí),是低8位地址

10、線A0-A7和數(shù)據(jù)線D0-D7共用,此時(shí)無(wú)需外接上拉電阻。,2. P1口引腳 P1.0P1.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。,3. P2口引腳 P2.0P2.7:P2口內(nèi)部帶上拉電阻的8位雙向I/O端口。即可作為輸入

11、/輸出口,也可作為高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.0P3.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í),

12、因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸入一個(gè)電流。P3口除作為一般I/O口外,還有其他一些復(fù)用功能,如表4- 2所示。,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ù)位初始化操作??撮T(mén)狗計(jì)時(shí)

13、完成后,RST引腳輸出96個(gè)晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無(wú)效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平為有效。,4.3 STC89C52單片機(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ù)存

14、儲(chǔ)器。,4.3.1 STC89C52單片機(jī)程序存儲(chǔ)器 單片機(jī)程序存儲(chǔ)器存放程序和表格之類(lèi)的固定常數(shù)。片內(nèi)為8KB的Flash,地址為0000H1FFFH。16位地址線,可外擴(kuò)的程序存儲(chǔ)器空間最大為64KB,地址為0000HFFFFH。使用時(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ǔ)器空間2000HFFFFH內(nèi)的程序。 EA=0時(shí),只能執(zhí)行片外程序存儲(chǔ)器(0000HFFFFH)中的程序,不

15、理會(huì)片內(nèi)8KB Flash存儲(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ù)子程序。,表4- 3 程序存儲(chǔ)器空間的8個(gè)中斷入口地址,4.3.2 STC89C52單片

16、機(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)廣大用戶的

17、呼聲,在一些單片機(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é)、可

18、位尋址區(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ù)

19、據(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.3 STC89C52單片機(jī)特殊功能寄存器 STC89C52中的CPU對(duì)片內(nèi)各功能部件的控制是采用特殊功能寄存器集中控制方式。特殊功能寄存器SFR的單元地址映射在片內(nèi)RAM的80H-FFH區(qū)域

20、中,離散地分布在該區(qū)域,其中字節(jié)地址以0H或8H結(jié)尾的特殊功能寄存器可以進(jìn)行位操作。,表4- 4 單片機(jī)內(nèi)核特殊功能寄存器,表4- 5 單片機(jī)系統(tǒng)管理特殊功能寄存器,表4- 6 單片機(jī)中斷管理特殊功能寄存器,表4- 7 單片機(jī)I/O口特殊功能寄存器,表4- 8 單片機(jī)串行口特殊功能寄存器,表4- 9 單片機(jī)定時(shí)器特殊功能寄存器,表4- 10 單片機(jī)看門(mén)狗特殊功能寄存器,表4- 11 單片機(jī)ISP/IAP特殊功能寄存器,以下介紹部分特殊功能寄存器,其它各特殊功能寄存器的功能將在相應(yīng)的章節(jié)介紹。 1、AUXR 擴(kuò)展RAM及ALE管理特殊功能寄存器(見(jiàn)表4- 12) (1)擴(kuò)展RAM的管理由AUXR

21、特殊功能寄存器的第EXTRAM位來(lái)設(shè)置。 普通89C51/89C52系列單片機(jī)的內(nèi)部RAM只有128(89C51)/256(89C52)供用戶使用,而STC89C52RC系列單片機(jī)內(nèi)部擴(kuò)展了256字節(jié)的RAM。,(2)當(dāng)EXTRAM=0時(shí),內(nèi)部擴(kuò)展RAM可存取,此時(shí)使用MOVX A,Ri/MOVX Ri,A指令來(lái)固定訪問(wèn)00H-FFH內(nèi)部擴(kuò)展的RAM空間,當(dāng)超過(guò)FFH的外部RAM則用MOVX A,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)橥?/p>

22、部擴(kuò)展了I/O或者用片選去選多個(gè)RAM區(qū),有時(shí)與此內(nèi)部擴(kuò)展的RAM邏輯地址上有沖突,于是將此位設(shè)置為”1”,禁止訪問(wèn)此內(nèi)部擴(kuò)展的RAM就可以了。,特別說(shuō)明:請(qǐng)盡量用MOVX A,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í)

23、,ALE引腳僅在執(zhí)行MOVX或MOVC指令時(shí)才輸出信號(hào),好處是降低了系統(tǒng)對(duì)外界的電磁干擾。,2、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ù)椐指針的快速切換。,3、堆棧指針SP SP指示堆棧頂部在內(nèi)部RAM塊中的位置。該

24、微處理器的堆棧結(jié)構(gòu)是向上生長(zhǎng)型。單片機(jī)復(fù)位后,SP為07H,使得堆棧實(shí)際上從08H單元開(kāi)始,由于08H1FH單元分別是屬于13組的工作寄存器區(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ù)傳送大

25、多都通過(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(Program Status Word)(見(jiàn)表4- 14),PSW包含了程序運(yùn)行狀態(tài)的信息,其中4位保存當(dāng)前指令執(zhí)行后的狀態(tài),供程序查詢和判斷。PSW中各個(gè)位的功能: (1)Cy(PSW.7)進(jìn)位標(biāo)志位 Cy可寫(xiě)為C。在算術(shù)和邏輯運(yùn)算時(shí),若有進(jìn)位/借位,Cy1;否則,Cy0。在位處理器中,它是位累加

26、器。 (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í),Ac1;否則,Ac0。,6、程序狀態(tài)字寄存器PSW(Program Status Word)(見(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。,6、程序狀態(tài)字寄存器PSW(Program Status Word)(見(jiàn)表4- 14),(5)

27、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ù)目煽啃浴?4.4 STC89C52單片機(jī)I/O口,STC89C52RC單片機(jī)所有I/O端口均有3種工作類(lèi)型:準(zhǔn)雙向口/弱上拉(標(biāo)準(zhǔn)8051輸出模式)、僅為輸入(高阻)或開(kāi)漏輸出功能。,4.4.1 P0端口 P0口是一個(gè)雙功

28、能的8位并行端口,字節(jié)地址為80H,位地址為80H87H。端口的各位具有完全相同但又相互獨(dú)立的電路結(jié)構(gòu)。 P0口上電復(fù)位后處于開(kāi)漏模式,當(dāng)P0管腳作I/O口時(shí),需外加10K4.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.2

29、 P1/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)

30、閉而“極弱上拉”維持開(kāi)狀態(tài),為了把這個(gè)引腳強(qiáng)拉為低,外部裝置必須有足夠的灌電流能力使引腳上的電壓降到門(mén)檻電壓以下。,輸出1,1,弱上拉管提供電流,輸出0,0,灌電流,導(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到1,0到1,如果用戶向3V單片機(jī)的引腳上加5V電壓,將

31、會(huì)有電流從引腳流向Vcc,這樣導(dǎo)致額外的功率消耗。因此,建議不要在準(zhǔn)雙向口模式中向3V單片機(jī)引腳施加5V電壓,如使用的話,要加限流電阻,或用二極管做輸入隔離,或用三極管做輸出隔離。準(zhǔn)雙向口帶有一個(gè)干擾抑制電路。準(zhǔn)雙向口讀外部狀態(tài)前,要先鎖存為“1”,才可讀到外部正確的狀態(tài)。,4.4.3 5V單片機(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è)0330的限流

32、電阻到3.3V器件I/O口,相應(yīng)的3.3V器件I/O口外部加10K上拉電阻到3.3V器件的Vcc,這樣高電平是3.3V,低電平是0V,輸入輸出一切正常。其配置見(jiàn)圖4- 9。,4.5 STC89C52單片機(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ī)定了

33、幾種周期,即時(shí)鐘周期、機(jī)器周期和指令周期,也稱(chēng)為時(shí)序定時(shí)單位。,1. 時(shí)鐘周期 也稱(chēng)為振蕩周期,定義為時(shí)鐘脈沖的倒數(shù),是計(jì)算機(jī)中最基本的、最小的時(shí)間單位。可以這么理解,時(shí)鐘周期就是單片機(jī)外接晶振的倒數(shù),例如12M的晶振,它的時(shí)鐘周期就是1/12 us。 顯然,對(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è)階段,每一階段完成一

34、項(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):S1S6。每個(gè)狀態(tài)又分兩拍:P1和P2。因此,一個(gè)機(jī)器周期中的12個(gè)時(shí)鐘周期表示為S1P1、S1P2、S2P1、S2P2

35、、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

36、.2 STC89C52單片機(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í)鐘

37、方式 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-

38、16所示。,圖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所示。,4.5.3 STC89C52單片機(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引腳施加一

溫馨提示

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