第4章 STC89C52單片機(jī)硬件結(jié)構(gòu)_第1頁
第4章 STC89C52單片機(jī)硬件結(jié)構(gòu)_第2頁
第4章 STC89C52單片機(jī)硬件結(jié)構(gòu)_第3頁
第4章 STC89C52單片機(jī)硬件結(jié)構(gòu)_第4頁
第4章 STC89C52單片機(jī)硬件結(jié)構(gòu)_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、Tankertanker Design 第四章第四章 STC89C52單片機(jī)硬件結(jié)構(gòu)單片機(jī)硬件結(jié)構(gòu) 4.1 STC89C52單片機(jī)的內(nèi)部組織結(jié)構(gòu)及特點(diǎn) 4.2 STC89C52單片機(jī)的外部引腳及功能 4.3 STC89C52單片機(jī)存儲器結(jié)構(gòu) 4.4 STC89C52單片機(jī)I/O口 4.5 STC89C52單片機(jī)的時(shí)鐘與復(fù)位 4.6 STC89C52單片機(jī)的省電工作模式 Tankertanker Design 4.1 STC89C52單片機(jī)的內(nèi)部組織結(jié)構(gòu)及特點(diǎn)單片機(jī)的內(nèi)部組織結(jié)構(gòu)及特點(diǎn) STC89C52RC單片機(jī)是宏晶科技推出的新一代高速/低功耗/ 超強(qiáng)抗干擾的單片機(jī),指令代碼完全兼容傳統(tǒng)805

2、1單片機(jī) ,12時(shí)鐘/機(jī)器周期和6時(shí)鐘/機(jī)器周期可以任意選擇。HD 版本和90C版本內(nèi)部集成MAX810專用復(fù)位電路。 STC89C52RC單片機(jī)內(nèi)部硬件結(jié)構(gòu)框圖如圖4- 1所示。 Tankertanker Design Tankertanker Design 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單片機(jī)的0 80MHz,實(shí)際工作頻率可達(dá)48MHz。 5.用戶應(yīng)用程序空

3、間:8KB片內(nèi)Flash程序存儲器,擦寫次數(shù) 10萬次以上。 6.片上集成512B RAM數(shù)據(jù)存儲器。 Tankertanker Design 7.通用I/O口(35/39個),復(fù)位后為:P1、P2、P3、P4是準(zhǔn) 雙向口/弱上拉(與普通MCS-51傳統(tǒng)I/O口功能一樣);P0 口是開漏輸出口,作為總線擴(kuò)展時(shí)用,不用加上拉電阻; P0口作為I/O口用時(shí),需加上拉電阻。 8.ISP在系統(tǒng)可編程/IAP在應(yīng)用可編程,無需專用編程器/仿真 器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程 序,8KB程序3s即可完成一片。 9.芯片內(nèi)置EEPROM功能。 10.硬件看門狗(WDT)。

4、 11.內(nèi)部集成MAX810專用復(fù)位電路(HD版本和90C版本才有 ),外部晶體20M以下時(shí),可不需要外部復(fù)位電路。 Tankertanker Design 12.共3個16位定時(shí)器/計(jì)數(shù)器,兼容普通MCS-51單片機(jī)的定時(shí) 器,其中定時(shí)器T0還可以當(dāng)成2個8位定時(shí)器使用。 13.外部中斷4路,下降沿中斷或低電平觸發(fā)中斷,掉電模式 可由外部中斷低電平觸發(fā)中斷方式喚醒。 14.通用異步串行口(UART),還可用定時(shí)器軟件實(shí)現(xiàn)多個 UART。 15.工作溫度范圍:075(商業(yè)級)/4085( 工業(yè)級)。 16.封裝形式有:LQFP-44、PDIP-40、PLCC-44、PQFP-44。由 于LQF

5、P-44具有體積小、擴(kuò)展了P4口、外部中斷2和3及定 時(shí)器T2的功能。PDIP-40的封裝與傳統(tǒng)的89C52芯片兼容。 Tankertanker Design 除此之外,STC89C52RC單片機(jī)自身還有很多獨(dú)特的優(yōu)點(diǎn): 1.加密性強(qiáng),無法解密。 2.超強(qiáng)抗干擾。主要表現(xiàn)在:高抗靜電(ESD保護(hù)),可以輕 松抗御2KV/4KV快速脈沖干擾(EFT測試),寬電壓、不怕 電源抖動,寬溫度范圍為4085,I/O口經(jīng)過特 殊處理,單片機(jī)內(nèi)部的電源供電系統(tǒng)、時(shí)鐘電路、復(fù)位電 路及看門狗電路經(jīng)過特殊處理。 3.采用三大降低單片機(jī)時(shí)鐘對外部電磁輻射的措施:禁止ALE 輸出;如選6時(shí)鐘/機(jī)器周期,外部時(shí)鐘頻率

6、可降一半;單 片機(jī)時(shí)鐘振蕩器增益可設(shè)為1/2gain。 4.超低功耗:掉電模式,典型電流損耗0.1A;空閑模式, 典型電流損耗為2mA;正常工作模式,典型電流損耗 4mA7mA。 Tankertanker Design STC89C52RC單片機(jī)的工作模式有如下幾種: 1.掉電模式:RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切 工作停止,直到下一個中斷或硬件復(fù)位為止,中斷返回后 ,繼續(xù)執(zhí)行原程序。典型功耗0.1A。 2.空閑模式:CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串 口、中斷繼續(xù)工作。典型功耗2mA。 3.正常工作模式:單片機(jī)正常執(zhí)行程序的工作模式,典型功 耗4mA7mA。 Tanke

7、rtanker Design 選用STC89C52系列單片機(jī)的一個主要原因: 由于這種單片機(jī)可以利用全雙工異步串行口(P3.0/P3.1) 進(jìn)行在系統(tǒng)編程(ISP),即無需專用編程器/仿真器,就 可通過串口直接下載用戶程序,因此省卻了每次編程必須 插拔單片機(jī)到專用編程器上的麻煩,可以直接將STC單片 機(jī)固定焊接在PCB板上,進(jìn)行程序的下載調(diào)試。 Tankertanker Design STC89系列單片機(jī)大部分具有在系統(tǒng)可編程(ISP)特性, ISP的好處就是省去購買通用編程器,單片機(jī)在用戶系統(tǒng)上 即可下載/燒錄用戶程序,而無須將單片機(jī)從已生產(chǎn)好的 產(chǎn)品上拆下,再用通用編程器將程序代碼燒錄進(jìn)單

8、片機(jī)內(nèi) 部。有些程序尚未定型的產(chǎn)品可以一邊生產(chǎn),一邊完善, 加快了產(chǎn)品進(jìn)入市場的速度,減小了新產(chǎn)品由于軟件缺陷 帶來的風(fēng)險(xiǎn)。由于可以將程序直接下載進(jìn)單片機(jī)看運(yùn)行結(jié) 果也可以不用仿真器。STC單片機(jī)在線編程典型線路如圖4- 2所示。 Tankertanker Design 大部分STC89系列單片機(jī)在銷售給用戶之前已在單片機(jī)內(nèi)部固化有ISP 系統(tǒng)引導(dǎo)程序,配合PC端的控制程序即可將用戶的程序代碼下載進(jìn)單 片機(jī)內(nèi)部,故無須編程器(速度比通用編程器快)。注意:不要用通用 編程器編程,否則有可能將單片機(jī)內(nèi)部已固化的ISP系統(tǒng)引導(dǎo)程序擦除 ,造成無法使用STC提供的ISP軟件下載用戶的程序代碼。 Tan

9、kertanker Design 4.2 STC89C52單片機(jī)的外部引腳及功能單片機(jī)的外部引腳及功能 STC89C52目前有LQFP44、PQFP44、PDIP40、PLCC44等封裝 形式,并且不同版本的引腳也不同,圖4- 3所示為各封裝 形式的HD版本和90C版本的引腳圖。 圖圖4- 3 3(a)PDIP40的的HD版本引腳圖版本引腳圖 圖圖4-3(b)PDIP40的的90C版本引腳版本引腳 圖圖 Tankertanker Design 圖圖4-3(c)LQFP44的的HD版本引腳圖版本引腳圖 圖圖4-3(d)LQFP44的的90C版本引腳版本引腳 圖圖 Tankertanker Des

10、ign 圖圖4-3(e)PLCC44的的HD版本引腳圖版本引腳圖 圖圖4-3(f)PLCC44的的90C版本引腳圖版本引腳圖 Tankertanker Design STC89C52RC單片機(jī)的HD版本和 90C版本的區(qū)別是: HD版本有ALE引腳,無 P4.6/P4.5/P4.4口。而90C版本 無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選擇 為用作

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

12、。 當(dāng)P0作為地址/數(shù)據(jù)復(fù)用總線使用時(shí),是低8位地址線A0- A7和數(shù)據(jù)線D0-D7共用,此時(shí)無需外接上拉電阻。 Tankertanker Design 2. P1口引腳 P1.0P1.7:P1口是一個帶內(nèi)部上拉電阻的8位雙向I/O口。 P1的輸出緩沖器可驅(qū)動(吸收或者輸出電流方式)4個TTL 輸入。對端口寫入1時(shí),通過內(nèi)部的上拉電阻把端口拉到 高電位,這時(shí)可用作輸入口。P1口作輸入口使用時(shí),因?yàn)?有內(nèi)部上拉電阻,那些被外部拉低的引腳會輸出一個電流 。 其中,P1.0和P1.1還可以作為定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸 入(P1.0/T2)和定時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX) ,具體

13、參見表4- 1。 引腳號功能特性 P1.0T2(定時(shí)/計(jì)數(shù)器2外部計(jì)數(shù)輸入),時(shí)鐘輸出 P1.1T2EX(定時(shí)器/計(jì)數(shù)器2捕獲/重裝觸發(fā)和方向控制) Tankertanker Design 3. P2口引腳 P2.0P2.7:P2口內(nèi)部帶上拉電阻的8位雙向I/O端口。即可作 為輸入/輸出口,也可作為高8位地址總線使用(A8-A15)。 當(dāng)P2口作為輸入/輸出口時(shí),P2是一個8位準(zhǔn)雙向口。在訪 問外部程序存儲器和16位地址的外部數(shù)據(jù)存儲器(如執(zhí)行 “MOVX DPTR”指令)時(shí),P2送出高8位地址。在訪問8 位地址的外部數(shù)據(jù)存儲器(如執(zhí)行“MOVX R1”指令) 時(shí),P2口引腳上的內(nèi)容就是專用寄

14、存器SFR區(qū)中的P2寄存 器的內(nèi)容,在整個訪問期間不會改變。 Tankertanker Design 4. P3口引腳 P3.0P3.7:P3是一個帶內(nèi)部 上拉電阻的8位雙向I/O端口 。P3的輸出緩沖器可驅(qū)動( 吸收或輸出電流方式)4個 TTL輸入。對端口寫入1時(shí), 通過內(nèi)部的上拉電阻把端口 拉到高電位,這時(shí)可用作輸 入口。P3做輸入口使用時(shí), 因?yàn)橛袃?nèi)部的上拉電阻,那 些被外部信號拉低的引腳會 輸入一個電流。P3口除作為 一般I/O口外,還有其他一些 復(fù)用功能,如表4- 2所示。 引腳號復(fù)用功能 P3.0RXD(串行輸入口) P3.1TXD(串行輸出口) P3.2 INT0 (外部中斷0)

15、 P3.3 INT1 (外部中斷1) P3.4T0(定時(shí)器0的外部輸入) P3.5T1(定時(shí)器1的外部輸入) P3.6WR(外部數(shù)據(jù)存儲器寫選通) P3.7 RD(外部數(shù)據(jù)存儲器讀選通) Tankertanker Design 6. 電源與時(shí)鐘引腳 (1) VCC:電源正極 (2) Gnd:電源負(fù)極,接地 (3) XTAL1:片內(nèi)振蕩器反相放大器和時(shí)鐘發(fā)生器電路輸入 端。用片內(nèi)振蕩器時(shí),該腳接外部石英晶體和微調(diào)電容。 外接時(shí)鐘源時(shí),該腳接外部時(shí)鐘振蕩器的信號。 (4) XTAL2:片內(nèi)振蕩器反相放大器的輸出端。當(dāng)使用片內(nèi) 振蕩器,該腳連接外部石英晶體和微調(diào)電容。當(dāng)使用外部 時(shí)鐘源時(shí),本腳懸空。

16、 RST:復(fù)位輸入。當(dāng)輸入連續(xù)兩個機(jī)器周期以上高電平時(shí)為 有效,用來完成單片機(jī)的復(fù)位初始化操作。看門狗計(jì)時(shí)完 成后,RST引腳輸出96個晶振周期的高電平。特殊寄存器 AUXR(地址8EH)上的DISRTO位可以使此功能無效。 DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平為有效。 Tankertanker Design 4.3 STC89C52單片機(jī)存儲器結(jié)構(gòu)單片機(jī)存儲器結(jié)構(gòu) STC89C52RC存儲器的結(jié)構(gòu)特點(diǎn)之一是將程序存儲器和數(shù)據(jù)存 儲器分開(哈佛結(jié)構(gòu)),并有各自的訪問指令。 STC89C52RC系列單片機(jī)除可以訪問片上Flash存儲器外,還 可以訪問64KB的外部程序存儲器。STC89C52RC系

17、列單片機(jī) 內(nèi)部有512字節(jié)的數(shù)據(jù)存儲器,其在物理和邏輯上都分為 兩個地址空間:內(nèi)部RAM(256字節(jié))和內(nèi)部擴(kuò)展 RAM(256字節(jié)),另外還可以訪問在片外擴(kuò)展的64KB外部 數(shù)據(jù)存儲器。 Tankertanker Design 4.3.1 STC89C52單片機(jī)程序存儲器 單片機(jī)程序存儲器存放程序和表格之類的固定常數(shù)。片內(nèi)為 8KB的Flash,地址為0000H1FFFH。16位地址線,可外擴(kuò) 的程序存儲器空間最大為64KB,地址為0000HFFFFH。使 用時(shí)應(yīng)注意以下問題: (1)分為片內(nèi)和片外兩部分,訪問片內(nèi)的還是片外的程序 存儲器,由 EA 引腳電平確定。 EA=1時(shí),CPU從片內(nèi)0

18、000H開始取指令,當(dāng)PC值沒有超出 1FFFH時(shí),只訪問片內(nèi)Flash存儲器,當(dāng)PC值超出1FFFH自動 轉(zhuǎn)向讀片外程序存儲器空間2000HFFFFH內(nèi)的程序。 EA=0時(shí),只能執(zhí)行片外程序存儲器(0000HFFFFH)中 的程序,不理會片內(nèi)8KB Flash存儲器。 Tankertanker Design (2)程序存儲器某些固定單元用于各中斷源中斷服務(wù)程序入口。 STC89C52復(fù)位后,程序存儲器地址指針PC的內(nèi)容為0000H,于是程 序從程序存儲器的0000H開始執(zhí)行,一般在這個單元存放一條跳 轉(zhuǎn)指令,跳向主程序的入口地址。 除此之外,64KB程序存儲器空間中有8個特殊單元分別對應(yīng)于8

19、個 中斷源的中斷入口地址,見表4- 3。通常這8個中斷入口地址處 都放一條跳轉(zhuǎn)指令跳向?qū)?yīng)的中斷服務(wù)子程序,而不是直接存 放中斷服務(wù)子程序。因?yàn)閮蓚€中斷入口間的間隔僅有8個單元, 一般不夠存放中斷服務(wù)子程序。 Tankertanker Design 中斷源中斷向量地址 0003H T0000BH 0013H T1T1001BH UARTUART0023H T2002BH 0033H 003BH 表表4- 3 程序程序 存儲存儲 器空器空 間的間的8 個中個中 斷入斷入 口地口地 址址 Tankertanker Design 4.3.2 STC89C52單片機(jī)數(shù)據(jù)存儲器 STC89C52RC系列

20、單片機(jī)內(nèi)部集成了512字節(jié)RAM,可用于存 放程序執(zhí)行的中間結(jié)果和過程數(shù)據(jù)。內(nèi)部數(shù)據(jù)存儲器在物 理和邏輯上都分為兩個地址空間:內(nèi)部RAM(256字節(jié)) 和內(nèi)部擴(kuò)展RAM(256字節(jié))。此外,還可以訪問在片外 擴(kuò)展的64KB數(shù)據(jù)存儲器。STC89C52RC系列單片機(jī)的存儲器 分布如圖4- 5所示。(特別說明:圖中陰影部分的訪問是 由輔助寄存器AUXR(地址為8EH)的第EXTRAM位來設(shè)置 ,這部分在物理上是內(nèi)部RAM,邏輯上占用外部RAM地址 空間) Tankertanker Design Tankertanker Design 1. 片內(nèi)數(shù)據(jù)存儲器: 傳統(tǒng)的89C52單片機(jī)的內(nèi)部RAM只有2

21、56字節(jié)的空間可供使用 ,在此情況下STC公司響應(yīng)廣大用戶的呼聲,在一些單片 機(jī)內(nèi)部增加了RAM。STC89C52RC系列單片機(jī)內(nèi)部擴(kuò)展了 256個字節(jié)RAM。 于是STC89C52RC單片機(jī)內(nèi)部512字節(jié)的RAM有3個部分:(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)。 下面分別作出說明: Tankertanker Design (1)低128字節(jié)(00H-7FH)的空間即可以直接尋址也可間接尋址,內(nèi)部 低128字節(jié)RAM又可分為:工作寄存器組0(00H-07H)8字節(jié)、工作 寄存

22、器組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í) 通過不同的尋址方式加以區(qū)分:高128字節(jié)只能間接尋址,而特殊功 能寄存器區(qū)SFR只能直接尋址。 (3)內(nèi)部擴(kuò)展RAM,在物理上是內(nèi)部,但邏輯上是占用外部數(shù)據(jù)存儲器 的部分空間,需要用MOVX來訪問。內(nèi)部擴(kuò)展RAM是否可以被訪問是 由輔助寄存器AUXR(

23、地址為8EH)的第EXTRAM位來設(shè)置。關(guān)于擴(kuò)展 RAM的管理將在第4.3.3節(jié)的AUXR特殊功能寄存器部分詳細(xì)介紹。 Tankertanker Design 2.片外數(shù)據(jù)存儲區(qū) 當(dāng)片內(nèi)RAM不夠用時(shí),需外擴(kuò)數(shù)據(jù)存儲器,STC89C52最多可 外擴(kuò)64KB的RAM。注意,片內(nèi)RAM與片外RAM兩個空間是 相互獨(dú)立的,片內(nèi)RAM與片外RAM的低256字節(jié)的地址是 相同的,但由于使用的是不同的訪問指令,所以不會發(fā)生 沖突。 另外說明下,只有在訪問真正的外部數(shù)據(jù)存儲器期間,WR 或RD信號才有效。但當(dāng)MOVX指令訪問物理上在內(nèi)部,邏 輯上在外部的片內(nèi)擴(kuò)展RAM時(shí),這些信號將被忽略。 Tankerta

24、nker Design 4.3.3 STC89C52單片機(jī)特殊功能寄存器 STC89C52中的CPU對片內(nèi)各功能部件的控制是采用特殊功能 寄存器集中控制方式。特殊功能寄存器SFR的單元地址映 射在片內(nèi)RAM的80H-FFH區(qū)域中,離散地分布在該區(qū)域, 其中字節(jié)地址以0H或8H結(jié)尾的特殊功能寄存器可以進(jìn)行位 操作。 Tankertanker Design 表表4- 4 單片機(jī)內(nèi)核特殊功能寄存器單片機(jī)內(nèi)核特殊功能寄存器 序號符號功能介紹字節(jié)地址位地址復(fù)位值 1ACC累加器E0HE7-E0HE7-E0H0000 0000 2BB寄存器F0HF7-F0HF7-F0H0000 0000 3PSW程序狀態(tài)

25、字寄存器D0HD7-D0HD7-D0H0000 0000 4SP堆棧指針81H0000 0111 5DP0L 數(shù)據(jù)地址指針DPTR0低8位82H0000 0000 6DP0H 數(shù)據(jù)地址指針DPTR0高8位83H0000 0000 7DP1L 數(shù)據(jù)地址指針DPTR1低8位84H 8DP1H 數(shù)據(jù)地址指針DPTR1高8位85H Tankertanker Design 表表4- 5 單片機(jī)系統(tǒng)管理特殊功能寄存器單片機(jī)系統(tǒng)管理特殊功能寄存器 序號符號功能介紹字節(jié)地址位地址復(fù)位值 1PCON電源控制寄存器87H0 xx1 0000 2AUXR輔助寄存器8EHxxxx xx00 3 AUXR 1 輔助寄存

26、器1A2Hxxxx 0 xx0 Tankertanker Design 表表4- 6 單片機(jī)中斷管理特殊功能寄存器單片機(jī)中斷管理特殊功能寄存器 序 號 符號功能介紹 字節(jié) 地址 位地址復(fù)位值 1IE中斷允許控制寄存器A8HAFH-A8HAFH-A8H0000 0000 2IP低中斷優(yōu)先級控制寄存器B8HBFH-B8HBFH-B8Hxx00 0000 3IPH高中斷優(yōu)先級控制寄存器B7H0000 0000 4TCON T0、T1定時(shí)器/計(jì)數(shù)器控制寄存 器 88H8FH-88H8FH-88H0000 0000 5SCON串行口控制寄存器98H9FH-98H9FH-98H0000 0000 6T2C

27、ON T2定時(shí)器/計(jì)數(shù)器控制寄存器C8HCFH-C8HCFH-C8H0000 0000 7XICON擴(kuò)展中斷控制寄存器C0HC7H-C0HC7H-C0H0000 0000 Tankertanker Design 表表4- 7 單片機(jī)單片機(jī)I/O口特殊功能寄存器口特殊功能寄存器 序號符號功能介紹字節(jié)地址位地址復(fù)位值 1P0P0口鎖存器80H87H-80H87H-80H1111 1111 2P1P1口鎖存器90H97H-90H97H-90H1111 1111 3P2P2口鎖存器A0HA7H-A0HA7H-A0H1111 1111 4P3P3口鎖存器B0HB7H-B0HB7H-B0H1111 111

28、1 5P4P4口鎖存器E8HE7H-E0HE7H-E0Hxxxx 1111 Tankertanker Design 表表4- 8 單片機(jī)串行口特殊功能寄存器單片機(jī)串行口特殊功能寄存器 序 號 符號功能介紹 字節(jié) 地址 位地址復(fù)位值 1*SCON串行口控制寄存器98H9FH-98H9FH-98H0000 0000 2SBUF串行口鎖存器99Hxxxx xxxx 3SADEN串行從機(jī)地址掩模寄存器B9H0000 0000 4SADDR 串行從機(jī)地址控制寄存器A9H0000 0000 Tankertanker Design 表表4- 9 單片機(jī)定時(shí)器特殊功能寄存器單片機(jī)定時(shí)器特殊功能寄存器 序號符號

29、功能介紹字節(jié)地址位地址復(fù)位值 1*TCONT0、T1定時(shí)/計(jì)數(shù)控制寄存器88H8FH-88H8FH-88H0000 0000 2TMODT0、T1定時(shí)/計(jì)數(shù)方式控制寄存器89H0000 0000 3TL0定時(shí)器/計(jì)數(shù)器0(低8位)8AH0000 0000 4TH0定時(shí)器/計(jì)數(shù)器0(低8位)8CH0000 0000 5TL1定時(shí)器/計(jì)數(shù)器1(高8位)8BH0000 0000 6TH1定時(shí)器/計(jì)數(shù)器1(高8位)8DH0000 0000 7*T2CON定時(shí)器/計(jì)數(shù)器2控制寄存器C8H0000 0000 8T2MOD定時(shí)器/計(jì)數(shù)器2模式寄存器C9Hxxxx xx00 9 RCAP2 L 外部輸入(P1

30、.1)計(jì)數(shù)器/自動再裝 入模式時(shí)初值寄存器低八位 CAH0000 0000 10 RCAP2 H 外部輸入(P1.1)計(jì)數(shù)器/自動再裝 入模式時(shí)初值寄存器高八位 CBH0000 0000 11TL2定時(shí)器/計(jì)數(shù)器2(低8位)CCH0000 0000 12TH2定時(shí)器/計(jì)數(shù)器2(高8位)CDH0000 0000 Tankertanker Design 表表4- 10 單片機(jī)看門狗特殊功能寄存器單片機(jī)看門狗特殊功能寄存器 序號符號功能介紹字節(jié)地址位地址復(fù)位值 1WDT_CONTR看門狗控制寄存器E1hxx00 0000 Tankertanker Design 表表4- 11 單片機(jī)單片機(jī)ISP/I

31、AP特殊功能寄存器特殊功能寄存器 序 號 符號功能介紹字節(jié)地址位地址復(fù)位值 1ISP_DATAISP/IAP數(shù)據(jù)寄存器E2h1111 1111 2 ISP_ADDR H ISP/IAP 地址高8位E3h0000 0000 3ISP_ADDRL ISP/IAP 地址低8位E4h0000 0000 4ISP_CMDISP/IAP命令寄存器E5hxxxx x000 5ISP_TRIGISP/IAP 命令觸發(fā)寄存器E6hxxxx xxxx 6ISP_CONTR ISP/IAP 控制寄存器E7h000 x x000 Tankertanker Design 以下介紹部分特殊功能寄存器,其它各特殊功能寄存器

32、的功能將在 相應(yīng)的章節(jié)介紹。 1、AUXR 擴(kuò)展RAM及ALE管理特殊功能寄存器(見表4- 12) (1)擴(kuò)展RAM的管理由AUXR特殊功能寄存器的第EXTRAM位來設(shè) 置。 普通89C51/89C52系列單片機(jī)的內(nèi)部RAM只有128(89C51)/256( 89C52)供用戶使用,而STC89C52RC系列單片機(jī)內(nèi)部擴(kuò)展了256字 節(jié)的RAM。 符號功能介紹 字節(jié) 地址 位地址 復(fù)位 值 AUXR輔助寄存器8EH EXTR AM ALE OFF xxxx xx00 Tankertanker Design (2)當(dāng)EXTRAM=0時(shí),內(nèi)部擴(kuò)展RAM可存取,此時(shí)使用 MOVX A,Ri/MOVX

33、 Ri,A指令來固定訪問00H-FFH內(nèi)部擴(kuò) 展的RAM空間,當(dāng)超過FFH的外部RAM則用MOVX A,DPTR/MOVX DPTR,A指令來訪問; 當(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或者用片選去選多個RAM區(qū) ,有時(shí)與此內(nèi)部擴(kuò)展的RAM邏輯地址上有沖突,于是將此 位設(shè)置為”1”,禁止訪問此內(nèi)部擴(kuò)展的RAM就可以了。 符號功能介紹 字節(jié) 地址 位地址 復(fù)位 值 AUXR輔助寄存器8EH EXTR AM ALE OFF xxxx xx00 Tankertank

34、er Design 特別說明:請盡量用MOVX A,Ri/MOVX Ri,A指令訪問內(nèi)部 擴(kuò)展RAM,這樣只能訪問256字節(jié)的擴(kuò)展RAM,可與很多 單片機(jī)兼容,以達(dá)到完全兼容以前老產(chǎn)品的目的。 另外,在訪問內(nèi)部擴(kuò)展RAM之前,用戶還需在燒錄用戶程序 時(shí)在STC-ISP編程器中設(shè)置允許內(nèi)部擴(kuò)展AUX-RAM訪問,如 圖4- 6所示。 Tankertanker Design (3)當(dāng)ALEOFF=0時(shí),在12時(shí)鐘模式時(shí)ALE腳輸出固定的1/6 晶振頻率信號,在6時(shí)鐘模式時(shí)輸出固定的1/3晶振頻率信 號。 當(dāng)ALEOFF=1時(shí),ALE引腳僅在執(zhí)行MOVX或MOVC指令時(shí)才 輸出信號,好處是降低了系統(tǒng)

35、對外界的電磁干擾。 符號功能介紹 字節(jié) 地址 位地址 復(fù)位 值 AUXR輔助寄存器8EH EXTR AM ALE OFF xxxx xx00 Tankertanker Design 2、AUXR1 雙數(shù)據(jù)指針控制特殊功能寄存器(見表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單元,不可用位操作指令快速訪問 。但由于DPS位位于bit0,故對AUXR1寄存器用INC指令,DPS位 便會反轉(zhuǎn),由0變成1或由1變成

36、0,即可實(shí)現(xiàn)雙數(shù)椐指針的快速 切換。 符 號 功能介紹 字節(jié) 地址 位地址 復(fù)位 值 AU XR 1 輔助寄存器A2HGF2DPS xxxx 0 xx0 Tankertanker Design 3、堆棧指針SP SP指示堆棧頂部在內(nèi)部RAM塊中的位置。該微處理器的堆棧 結(jié)構(gòu)是向上生長型。單片機(jī)復(fù)位后,SP為07H,使得堆棧 實(shí)際上從08H單元開始,由于08H1FH單元分別是屬于1 3組的工作寄存器區(qū),最好在復(fù)位后把SP值改置為60H或 更大的值,避免堆棧與工作寄存器沖突。 堆棧操作只有兩種:數(shù)據(jù)壓入(PUSH)堆棧和數(shù)據(jù)彈出( POP)堆棧。數(shù)據(jù)壓入堆棧,SP自動加1;數(shù)據(jù)彈出堆棧, SP自動

37、減1。 堆棧是為子程序調(diào)用和中斷操作而設(shè),主要用來保護(hù)斷點(diǎn)地 址和現(xiàn)場狀態(tài)。 Tankertanker Design 4、累加器A 使用最頻繁的寄存器,可寫為Acc。A的進(jìn)位標(biāo)志Cy是特殊的 ,因?yàn)樗瑫r(shí)又是位處理機(jī)的位累加器。累加器A的作用 是ALU單元的輸入數(shù)據(jù)源之一,又是ALU運(yùn)算結(jié)果存放單元 。數(shù)據(jù)傳送大多都通過累加器A,相當(dāng)于數(shù)據(jù)的中轉(zhuǎn)站。 5、寄存器B 為執(zhí)行乘法和除法而設(shè)。在不執(zhí)行乘、除法操作的情況下, 可把它當(dāng)作一個普通寄存器來使用。執(zhí)行乘法時(shí),兩乘數(shù) 分別在A、B中,執(zhí)行乘法指令后,乘積在BA中;執(zhí)行除法 時(shí),被除數(shù)取自A,除數(shù)取自B,商存放在A中,余數(shù)存放 在B中。 Tan

38、kertanker Design 6、程序狀態(tài)字寄存器PSW(Program Status Word)(見表4- 14) PSW包含了程序運(yùn)行狀態(tài)的信息,其中4位保存當(dāng)前指令執(zhí)行后的 狀態(tài),供程序查詢和判斷。PSW中各個位的功能: (1)Cy(PSW.7)進(jìn)位標(biāo)志位 Cy可寫為C。在算術(shù)和邏輯運(yùn)算時(shí),若有進(jìn)位/借位,Cy1;否則 ,Cy0。在位處理器中,它是位累加器。 (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。 符號字節(jié)地址位地址復(fù)位值 PSWD0HCyAcF0RS1RS0OVP0000 0000 Ta

39、nkertanker Design 6、程序狀態(tài)字寄存器PSW(Program Status Word)(見表4- 14) (3)F0(PSW.5)用戶設(shè)定標(biāo)志位 由用戶使用的一個狀態(tài)標(biāo)志位,可用指令來使它置1或清0,控制 程序的流向。用戶應(yīng)充分利用它。 (4)RS1、RS0(PSW.4、PSW.3)4組工作寄存器區(qū)選擇 選擇片內(nèi)RAM區(qū)中的4組工作寄存器區(qū)中的某一組為當(dāng)前工作寄 存區(qū)見表4- 15。 符號字節(jié)地址位地址復(fù)位值 PSWD0HCyAcF0RS1RS0OVP0000 0000 Tankertanker Design 6、程序狀態(tài)字寄存器PSW(Program Status Word

40、)(見表4- 14) (5)OV(PSW.2)溢出標(biāo)志位 當(dāng)執(zhí)行算術(shù)指令時(shí),用來指示運(yùn)算結(jié)果是否產(chǎn)生溢出。如果結(jié)果 產(chǎn)生溢出,OV=1;否則,OV=0。 (6)PSW.1位 保留位 (7)P(PSW.0)奇偶標(biāo)志位 指令執(zhí)行完,累加器A中“1”的個數(shù)是奇數(shù)還是偶數(shù)。P=1,表 示A中“1”的個數(shù)為奇數(shù)。P=0,表示A中“1”的個數(shù)為偶數(shù) 。此標(biāo)志位對串行通信有重要的意義,常用奇偶檢驗(yàn)的方法來 檢驗(yàn)數(shù)據(jù)串行傳輸?shù)目煽啃浴?符號字節(jié)地址位地址復(fù)位值 PSWD0HCyAcF0RS1RS0OVP0000 0000 Tankertanker Design 4.4 STC89C52單片機(jī)單片機(jī)I/O口口

41、STC89C52RC單片機(jī)所有I/O端口均有3種工作類型: 準(zhǔn)雙向口/弱上拉(標(biāo)準(zhǔn)8051輸出模式)、僅為輸 入(高阻)或開漏輸出功能。 Tankertanker Design 4.4.1 P0端口 P0口是一個雙功能的8位并行端口,字節(jié)地址為80H,位地址 為80H87H。端口的各位具有完全相同但又相互獨(dú)立的電 路結(jié)構(gòu)。 P0口上電復(fù)位后處于開漏模式,當(dāng)P0管腳作I/O口時(shí),需外加 10K4.7K的上拉電阻,當(dāng)P0管腳作為地址/數(shù)據(jù)復(fù)用總線使 用時(shí),不用外加上拉電阻。 Tankertanker Design 當(dāng)P0口線鎖存器為0時(shí),開漏輸出關(guān)閉所有上拉晶體管。 當(dāng)P0口作為一個邏輯輸出時(shí),這

42、種配置方式必須有外部上 拉電阻,一般通過電阻外接到Vcc。如果外部有上拉電阻 ,開漏的I/O口還可以讀外部狀態(tài),即此時(shí)被配置為開漏 模式的I/O口還可以作為輸入I/O口。這種方式的下拉與準(zhǔn) 雙向口相同。輸出口線配置如圖4- 7所示,開漏端口帶有 一個干擾抑制電路。 Tankertanker Design 4.4.2 P1/P2/P3/P4端口 STC89C52RC系列單片機(jī)的P1/P2/P3/P4上電復(fù)位后為準(zhǔn)雙向口 /弱上拉(傳統(tǒng)8051的I/O口)模式。 準(zhǔn)雙向口輸出類型可用作輸出和輸入功能而不需重新配置口 線輸出狀態(tài)。這是因?yàn)楫?dāng)口線輸出為1時(shí)驅(qū)動能力很弱, 允許外部裝置將其拉低。當(dāng)引腳輸

43、出為低時(shí),它的驅(qū)動能 力很強(qiáng),可吸收相當(dāng)大的電流。準(zhǔn)雙向口有3個上拉晶體 管適應(yīng)不同的需要。 即:要想獲得較大的驅(qū)動能力,采用低電平輸出。 Tankertanker Design 在3個上拉晶體管中,有1個上拉晶體管稱為“弱上拉”,當(dāng) 口線寄存器為1且引腳本身也為1時(shí)打開。此上拉提供基本 驅(qū)動電流使準(zhǔn)雙向口輸出為1。如果一個引腳輸出為1而由 外部裝置下拉到低時(shí),弱上拉關(guān)閉而“極弱上拉”維持開 狀態(tài),為了把這個引腳強(qiáng)拉為低,外部裝置必須有足夠的 灌電流能力使引腳上的電壓降到門檻電壓以下。 輸出11 弱上拉管提供電流 輸出0 0 灌電流,導(dǎo)通 Tankertanker Design 第2個上拉晶體

44、管,稱為“極弱上拉”,當(dāng)口線鎖存為1時(shí)打 開。當(dāng)引腳懸空時(shí),這個極弱的上拉源產(chǎn)生很弱的上拉電 流將引腳上拉為高電平。 第3個上拉晶體管稱為“強(qiáng)上拉”。當(dāng)口線鎖存器由0到1跳 變時(shí),這個上拉用來加快準(zhǔn)雙向口由邏輯0到邏輯1轉(zhuǎn)換。 當(dāng)發(fā)生這種情況時(shí),強(qiáng)上拉打開約2個時(shí)鐘以使引腳能夠 迅速地上拉到高電平。準(zhǔn)雙向口輸出如圖4- 8所示。 輸出1懸空 極弱上拉管上拉電流 0到1 0到1 Tankertanker Design 如果用戶向3V單片機(jī)的引腳上加5V電壓,將會有電流從引腳 流向Vcc,這樣導(dǎo)致額外的功率消耗。因此,建議不要在 準(zhǔn)雙向口模式中向3V單片機(jī)引腳施加5V電壓,如使用的話 ,要加限流電

45、阻,或用二極管做輸入隔離,或用三極管做 輸出隔離。準(zhǔn)雙向口帶有一個干擾抑制電路。準(zhǔn)雙向口讀 外部狀態(tài)前,要先鎖存為“1”,才可讀到外部正確的狀 態(tài)。 Tankertanker Design 4.4.3 5V單片機(jī)連接3V器件 STC89C52RC的5V單片機(jī)的P0口的灌電流最大為12mA,其他I/O 口的灌電流最大為6mA。P0口驅(qū)動能力是其它端口的2倍。8 個LSTTL輸入。 當(dāng)STC89C52RC系列5V單片機(jī)連接3.3V器件時(shí),為防止3.3V器件 承受不了5V,可將相應(yīng)的5V單片機(jī)P0口先串一個0330的限 流電阻到3.3V器件I/O口,相應(yīng)的3.3V器件I/O口外部加10K上 拉電阻到

46、3.3V器件的Vcc,這樣高電平是3.3V,低電平是0V, 輸入輸出一切正常。其配置見圖4- 9。 Tankertanker Design 4.5 STC89C52單片機(jī)的時(shí)鐘與復(fù)位單片機(jī)的時(shí)鐘與復(fù)位 4.5.1 傳統(tǒng)51單片機(jī)時(shí)序 單片機(jī)工作時(shí),是在統(tǒng)一的時(shí)鐘脈沖控制下一拍一拍地進(jìn)行 的。時(shí)鐘電路產(chǎn)生單片機(jī)工作時(shí)所必需的控制信號,在時(shí) 鐘信號的控制下,嚴(yán)格按時(shí)序執(zhí)行指令。由于指令的字節(jié) 數(shù)不同,取這些指令所需要的時(shí)間也就不同,即使是字節(jié) 數(shù)相同的指令,由于執(zhí)行操作有較大的差別,不同的指令 執(zhí)行時(shí)間也不一定相同,即所需的拍節(jié)數(shù)不同。為了便于 對CPU時(shí)序進(jìn)行分析,一般按指令的執(zhí)行過程規(guī)定了幾種

47、 周期,即時(shí)鐘周期、機(jī)器周期和指令周期,也稱為時(shí)序定 時(shí)單位。 Tankertanker Design 1. 時(shí)鐘周期 也稱為振蕩周期,定義為時(shí)鐘脈沖的倒數(shù),是計(jì)算機(jī)中最基 本的、最小的時(shí)間單位??梢赃@么理解,時(shí)鐘周期就是單 片機(jī)外接晶振的倒數(shù),例如12M的晶振,它的時(shí)鐘周期就 是1/12 us。 顯然,對同一種機(jī)型的單片機(jī),時(shí)鐘頻率越高,單片機(jī)的工 作速度就越快。但是,由于不同的單片機(jī)硬件電路和器件 的不完全相同,所以其所需要的時(shí)鐘頻率范圍也不一定相 同。在單片機(jī)中把一個時(shí)鐘周期定義為一個節(jié)拍(用P表 示),二個節(jié)拍定義為一個狀態(tài)周期(用S表示)。 Tankertanker Design 2

48、. 機(jī)器周期 在單片機(jī)中,為了便于管理,常把一條指令的執(zhí)行過程劃分 為若干個階段,每一階段完成一項(xiàng)工作。例如,取指令、 存儲器讀、存儲器寫等,這每一項(xiàng)工作稱為一個基本操作 。完成一個基本操作所需要的時(shí)間稱為機(jī)器周期。 一般情況下,一個機(jī)器周期由若干個S周期(狀態(tài)周期)組 成。51系列單片機(jī)的一個機(jī)器周期由6個S周期(狀態(tài)周期 )組成。前面已說過一個時(shí)鐘周期定義為一個節(jié)拍(用P 表示),二個節(jié)拍定義為一個狀態(tài)周期(用S表示),51 單片機(jī)的機(jī)器周期由6個狀態(tài)周期組成,也就是說一個機(jī) 器周期=6個狀態(tài)周期=12個時(shí)鐘周期。 Tankertanker Design 由圖4- 10可知:1個機(jī)器周期包

49、括12個時(shí)鐘周期,分6個狀態(tài) :S1S6。每個狀態(tài)又分兩拍:P1和P2。因此,一個機(jī)器 周期中的12個時(shí)鐘周期表示為S1P1、S1P2、S2P1、S2P2、 、S6P2。 Tankertanker Design 3. 指令周期 指令周期是執(zhí)行一條指令所需要的時(shí)間,一般由若干個機(jī)器 周期組成。指令不同,所需的機(jī)器周期數(shù)也不同。對于一 些簡單的單字節(jié)指令,在取指令周期中,指令取出到指令 寄存器后,立即譯碼執(zhí)行,不再需要其它的機(jī)器周期。對 于一些比較復(fù)雜的指令,例如轉(zhuǎn)移指令、乘法指令,則需 要兩個或者兩個以上的機(jī)器周期。 通常含一個機(jī)器周期的指令稱為單周期指令,包含兩個機(jī)器 周期的指令稱為雙周期指令

50、。51單片機(jī)的指令系統(tǒng)中,按 它們的長度可分為單字節(jié)指令、雙字節(jié)指令和三字節(jié)指令 。 從指令執(zhí)行時(shí)間看:單字節(jié)和雙字節(jié)指令一般為單機(jī)器周期 和雙機(jī)器周期;三字節(jié)指令都是雙機(jī)器周期;乘、除指令 占用四個機(jī)器周期。 Tankertanker Design 4.5.2 STC89C52單片機(jī)時(shí)鐘電路 單片機(jī)工作時(shí),是在統(tǒng)一的時(shí)鐘脈沖控制下一拍一拍地進(jìn)行 的。這個脈沖是由單片機(jī)控制器中的時(shí)序電路發(fā)出的。單 片機(jī)的時(shí)序就是CPU在執(zhí)行指令時(shí)所需控制信號的時(shí)間順 序,為了保證各部件間的同步工作,單片機(jī)內(nèi)部電路應(yīng)在 唯一的時(shí)鐘信號下嚴(yán)格地控制時(shí)序進(jìn)行工作。 CPU發(fā)出的時(shí)序信號有兩類,一類用于對片內(nèi)各個功能

51、部件 控制,用戶無須了解;另一類用于對片外存儲器或I/O口 的控制,這部分時(shí)序?qū)τ诜治觥⒃O(shè)計(jì)硬件接口電路至關(guān)重 要。 時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影 響單片機(jī)系統(tǒng)的穩(wěn)定性。常用的時(shí)鐘電路有兩種方式,一 種是內(nèi)部時(shí)鐘方式,另一種是外部時(shí)鐘方式。 Tankertanker Design 1內(nèi)部時(shí)鐘方式 STC89C52內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,輸入 端為芯片引腳XTAL1,輸出端為引腳XTAL2。這兩個引腳跨接石 英晶體振蕩器和微調(diào)電容,構(gòu)成一個穩(wěn)定的自激振蕩器。 2外部時(shí)鐘方式 此方式利用外部振蕩脈沖接入XTAL1或XTAL2。對于STC89C52RC 系

52、列單片機(jī),因內(nèi)部時(shí)鐘發(fā)生器的信號取自反相器的輸入端, 故采用外部時(shí)鐘源時(shí),接線方式為外部時(shí)鐘源直接接到XTAL1 端,XTAL2端懸空。 用現(xiàn)成的外部振蕩器產(chǎn)生脈沖信號,常用于多片單片機(jī)同時(shí)工作 ,以便于多片單片機(jī)之間的同步,一般采用內(nèi)部時(shí)鐘方式產(chǎn)生 工作時(shí)序,如圖4- 11所示。 Tankertanker Design 時(shí)鐘電路中的R、C的參數(shù)值的設(shè)置情況如表4- 16所示。 晶振增益控制晶振增益控制OSCDN=full gainOSCDN=full gain 晶振晶振 頻率頻率 4MHz4MHz6MHz6MHz12M-12M- 25MHz25MHz 26M-26M- 30MHz30MHz

53、31M-31M- 35MHz35MHz 36M-36M- 39MHz39MHz 40M-40M- 43MHz43MHz 44M-44M- 48MHz48MHz C2C2、 C3C3 =100=100 pFpF 47pF-47pF- 100pF100pF =47pF=47pF=10pF=10pF=10pF=10pF=10pF=10pF=10pF=10pF=5pF=5pF R1R1不用不用不用不用不用不用6.8K6.8K5.1K5.1K4.7K4.7K3.3K3.3K3.3K3.3K 晶振增益控制晶振增益控制OSCDN=1/2 gainOSCDN=1/2 gain 晶振晶振 頻率頻率 4MHz4M

54、Hz6MHz6MHz12M-12M- 25MHz25MHz 26M-26M- 30MHz30MHz 31M-31M- 35MHz35MHz 36M-36M- 39MHz39MHz 40M-40M- 43MHz43MHz 44M-44M- 48MHz48MHz C2C2、 C3C3 =100=100 pFpF 47pF-47pF- 100pF100pF =47pF=47pF=10pF=10pF不用不用不用不用不用不用不用不用 R1R1不用不用不用不用不用不用6.8K6.8K5.1K5.1K4.7K4.7K3.3K3.3K3.3K3.3K Tankertanker Design 圖4- 12 振蕩

55、器增益設(shè)置 Tankertanker Design STC89C52RC系列單片機(jī)是真正的6T單片機(jī),傳統(tǒng)的8051為 每個機(jī)器周期12個時(shí)鐘周期,如將該單片機(jī)設(shè)為雙倍速即 每個機(jī)器周期為6個時(shí)鐘周期,則可將單片機(jī)外部時(shí)鐘頻 率降低一半,有效降低單片機(jī)時(shí)鐘對外界的干擾。同時(shí) STC89C52RC系列兼容普通12T的單片機(jī)。STC89C52RC系列 的HD版本的單片機(jī)推薦工作時(shí)鐘頻率如表4- 17所示。 內(nèi)部時(shí)鐘方式:外接晶振內(nèi)部時(shí)鐘方式:外接晶振外部時(shí)鐘方式:直接由外部時(shí)鐘方式:直接由XTAL1輸入輸入 12T模式模式6T模式模式12T模式模式6T模式模式 2MHz48MHz2MHz36MHz

56、2MHz48MHz2MHz36MHz Tankertanker Design 4.5.3 STC89C52單片機(jī)的復(fù)位電路 復(fù)位是單片機(jī)的初始化操作。單片機(jī)啟運(yùn)運(yùn)行時(shí),都需要先 復(fù)位,其作用是使CPU和系統(tǒng)中其他部件處于一個確定的 初始狀態(tài),并從這個狀態(tài)開始工作。因而,復(fù)位是一個很 重要的操作方式。但單片機(jī)本身是不能自動進(jìn)行復(fù)位的, 必須配合相應(yīng)的外部電路才能實(shí)現(xiàn)。 STC89C52RC系列單片機(jī)有4種復(fù)位方式:外部RST引腳復(fù)位、 軟件復(fù)位、掉電復(fù)位、上電復(fù)位、看門狗復(fù)位。 Tankertanker Design 1)外部RST引腳復(fù)位 外部RST引腳復(fù)位就是從外部向RST引 腳施加一定寬度

57、的復(fù)位脈沖,從而 實(shí)現(xiàn)單片機(jī)的復(fù)位。將RST復(fù)位引腳 拉高并維持至少24個時(shí)鐘加10us后 ,單片機(jī)會進(jìn)入復(fù)位狀態(tài),將RST復(fù) 位引腳拉回低電平后,單片機(jī)結(jié)束 復(fù)位狀態(tài)并從用戶程序區(qū)的0000H 處開始正常工作。采用阻容復(fù)位電 路時(shí),電容C1為10uF,電阻R1為 10K。電路如圖4- 13所示。 Tankertanker Design 2)軟件復(fù)位 用戶應(yīng)用程序在運(yùn)行過程中,有時(shí)會有特殊需求,需要實(shí)現(xiàn) 單片機(jī)系統(tǒng)軟復(fù)位(熱啟動之一),傳統(tǒng)的8051單片機(jī)由 于硬件上未支持此功能,用戶必須用軟件模擬實(shí)現(xiàn),實(shí)現(xiàn) 起來較麻煩?,F(xiàn)STC新推出的增強(qiáng)型8051根據(jù)客戶要求增 加了ISP_CONTR特殊

58、功能寄存器,實(shí)現(xiàn)了此功能。用戶只 需簡單的控制ISP_CONTR特殊功能寄存器的其中兩位 SWBS/SWRST就可以系統(tǒng)復(fù)位了。 Tankertanker Design 3)掉電復(fù)位/上電復(fù)位 當(dāng)電源電壓VCC低于上電復(fù)位/掉電復(fù)位電路的檢測門檻電壓 時(shí),所有的邏輯電路都會復(fù)位。當(dāng)VCC重新恢復(fù)正常電壓 時(shí),HD版本的單片機(jī)延遲2048個時(shí)鐘(90版本單片機(jī)延遲 32768個時(shí)鐘)后,上電復(fù)位/掉電復(fù)位結(jié)束。進(jìn)入掉電模 式時(shí),上電復(fù)位/掉電復(fù)位功能被關(guān)閉。 Tankertanker Design 4)看門狗復(fù)位 在工業(yè)控制、汽車電子、航空航天等需要高可靠性的系統(tǒng)中 ,為了防止“系統(tǒng)在異常情況下,受到干擾,MCU/CPU程 序跑飛,導(dǎo)致系統(tǒng)長時(shí)間異常工作”,通常是引進(jìn)看門狗 ,如果MCU/CPU不在規(guī)定的時(shí)間內(nèi)按要求訪問看門狗,就 認(rèn)為MCU/CPU處于異常狀態(tài),看門狗就會強(qiáng)迫MCU/CPU復(fù) 位,使系統(tǒng)重新從頭開始按規(guī)律執(zhí)行用戶程序。 STC89C52RC系列單片機(jī)為此功能增加了特殊功能寄存器 WDT_CONTR看門狗控制寄存器。 Tankertanker Design 4.5.4 STC89C52單片機(jī)的復(fù)位狀態(tài) 1. 復(fù)位后各寄存器的起始狀態(tài) 復(fù)位時(shí),PC初始化為0000H,程序從0000H單元開始執(zhí)行。復(fù)

溫馨提示

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

評論

0/150

提交評論