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

本章知識(shí)點(diǎn)AT89S52單片機(jī)的硬件組成中央處理器CPUAT89S52單片機(jī)存儲(chǔ)器及存儲(chǔ)空間并行輸入/輸出接口時(shí)鐘電路與時(shí)序復(fù)位操作與復(fù)位電路第2章AT89S52單片機(jī)的硬件結(jié)構(gòu)2.1AT89S52單片機(jī)的硬件組成

片內(nèi)硬件組成結(jié)構(gòu)如圖2-1所示。把作為控制應(yīng)用所必需的基本功能部件都集成在一個(gè)尺寸有限的集成電路芯片上。

有如下功能部件和特性:(1)8位微處理器(CPU);(2)數(shù)據(jù)存儲(chǔ)器(256BRAM);(3)程序存儲(chǔ)器(8KBFlashROM);(4)4個(gè)8位可編程并行I/O口(P0口、P1口、P2口和P3口);(5)1個(gè)全雙工的異步串行口;(6)3個(gè)可編程的16位定時(shí)器/計(jì)數(shù)器(T0、T1和T2);(7)1個(gè)看門(mén)狗定時(shí)器;(8)中斷系統(tǒng)具有6個(gè)中斷源、6個(gè)中斷向量;(9)特殊功能寄存器(SFR)32個(gè);(10)低功耗模式有空閑模式和掉電模式,且具有掉電模式下的中斷恢復(fù)模式;(11)3個(gè)程序加密鎖定位。圖2-1

AT89S52單片機(jī)片內(nèi)結(jié)構(gòu)AT89S52單片機(jī)的硬件組成下面介紹圖2-1中片內(nèi)各功能部件。(1)CPU(微處理器)

8位的CPU,與通用CPU基本相同,同樣包括了運(yùn)算器和控制器兩大部分,還有面向控制的位處理功能。(2)數(shù)據(jù)存儲(chǔ)器(RAM)片內(nèi)為為256B,片外最多可擴(kuò)64KB。片內(nèi)256B的RAM以高速RAM的形式集成,可加快單片機(jī)運(yùn)行的速度和降低功耗。(3)程序存儲(chǔ)器(FlashROM)用來(lái)存儲(chǔ)程序。AT89S52片內(nèi)有8KB的Flash存儲(chǔ)器;如果片內(nèi)程序存儲(chǔ)器容量不夠,片外最多可外擴(kuò)至64KB程序存儲(chǔ)器,即“片內(nèi)+片外”的程序存儲(chǔ)器總?cè)萘坎怀^(guò)64KB。

(4)定時(shí)器/計(jì)數(shù)器:片內(nèi)有3個(gè)16位的定時(shí)器/計(jì)數(shù)器,具有4種工作方式。(5)中斷系統(tǒng):具有6個(gè)中斷源,2級(jí)中斷優(yōu)先權(quán)。(6)串行口1個(gè)全雙工的異步串行口,4種工作方式??蛇M(jìn)行串行通信,擴(kuò)展并行I/O口,可與多個(gè)單片機(jī)構(gòu)成多機(jī)系統(tǒng)。(7)P0口、P1口、P2口和P3口4個(gè)8位并行I/O口。(8)特殊功能寄存器(SFR)共有32個(gè)特殊功能寄存器,用于CPU對(duì)片內(nèi)各外設(shè)部件進(jìn)行管理、控制和監(jiān)視。特殊功能寄存器實(shí)際上是片內(nèi)各外設(shè)部件的控制寄存器和狀態(tài)寄存器,這些特殊功能寄存器映射在片內(nèi)RAM區(qū)的80H~FFH的地址區(qū)間內(nèi)。(9)1個(gè)看門(mén)狗定時(shí)器WDT

當(dāng)單片機(jī)由于干擾而使程序陷入死循環(huán)或跑飛狀態(tài)時(shí),可引起單片機(jī)復(fù)位,使程序恢復(fù)正常運(yùn)行。2.2AT89S52的引腳功能

(a)DIP封裝的引腳分布(40引腳(b)PLCC封裝的引腳分布(44引腳)引腳按其功能可分為如下3類:(1)電源及時(shí)鐘引腳—VCC、VSS;XTAL1、XTAL2。(2)控制引腳—

PSEN*、ALE/PROG*、EA*

/VPP、RST(3)I/O口引腳——P0、P1、P2、P3,為4個(gè)8位I/O口(一)電源及時(shí)鐘引腳1.電源引腳(1)VCC(40腳):+5V電源。(2)VSS(20腳):數(shù)字地。

2.時(shí)鐘引腳

(1)XTAL1(19腳):片內(nèi)振蕩器反相放大器和時(shí)鐘發(fā)生器電路輸入端。用片內(nèi)振蕩器時(shí),該腳接外部石英晶體和微調(diào)電容。外接時(shí)鐘源時(shí),該腳接外部時(shí)鐘振蕩器的信號(hào)。(2)XTAL2(18腳):片內(nèi)振蕩器反相放大器的輸出端。當(dāng)使用片內(nèi)振蕩器,該腳連接外部石英晶體和微調(diào)電容。當(dāng)使用外部時(shí)鐘源時(shí),本腳懸空。(二)控制引腳(1)RST(RESET,9腳)復(fù)位信號(hào)輸入,在引腳加上持續(xù)時(shí)間大于2個(gè)機(jī)器周期的高電平,可使單片機(jī)復(fù)位。正常工作,此腳電平應(yīng)≤0.5V。(2)

EA*/VPP(EnableAddress/VoltagePulseofPrograming,31腳)

EA*:引腳第一功能:外部程序存儲(chǔ)器訪問(wèn)允許控制端。(3)ALE/PROG*(AddressLatchEnable/PROGramming,30腳)

ALE為地址鎖存控制信號(hào)端,為第一功能。(4)PSEN*(ProgramStrobeENable,29腳)

片外程序存儲(chǔ)器讀選通信號(hào),低電平有效。(三)并行I/O口引腳(1)P0口:P0.7~P0.0引腳為漏極開(kāi)路的8位并行雙向I/O口。當(dāng)AT89S52擴(kuò)展外部存儲(chǔ)器及I/O接口芯片時(shí),P0口為分時(shí)復(fù)用的低8位地址/數(shù)據(jù)總線。在向P0口寫(xiě)入“1”后就成為高阻態(tài)的輸入口。當(dāng)P0口作為通用I/O口使用時(shí),需外加上拉電阻,這時(shí)為準(zhǔn)雙向口。(2)P1口:P1.7~P1.0引腳準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻,可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。(3)P2口:P2.7~P2.0引腳準(zhǔn)雙向I/O口,引腳內(nèi)部接有上拉電阻,可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。當(dāng)AT89S52訪問(wèn)外部存儲(chǔ)器及I/O口時(shí),P2口作為高8位地址總線使用,輸出高8位地址。當(dāng)P2口不作為高8位地址總線時(shí),可作為通用的I/O口使用。(4)P3口:P3.7~P3.0

準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻。

P3口的第一功能是作為通用的I/O口使用,可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。P3口還可提供第二功能。第二功能定義見(jiàn)表2-1,應(yīng)熟記。綜上所述,P0口可作為總線口,為雙向口。作為通用的I/O口使用時(shí),為準(zhǔn)雙向口,這時(shí)需加上拉電阻。P1口、P2口、P3口均為準(zhǔn)雙向口。并行I/O口引腳并行I/O口引腳綜上所述,P0口可作為總線口,為雙向口。作為通用的I/O口使用時(shí),為準(zhǔn)雙向口,這時(shí)需加上拉電阻。P1口、P2口、P3口均為準(zhǔn)雙向口。注意:準(zhǔn)雙向口與雙向口的差別。準(zhǔn)雙向口僅有兩個(gè)狀態(tài)。而P0口作為總線使用,口線內(nèi)無(wú)上拉電阻,處于高阻“懸浮”態(tài)。故P0口為雙向三態(tài)I/O口。為什么P0口要有高阻“懸浮”態(tài)?準(zhǔn)雙向I/O口則無(wú)高阻的“懸浮”狀態(tài)。2.3AT89S52單片機(jī)的CPUCPU由運(yùn)算器和控制器構(gòu)成(一)運(yùn)算器對(duì)操作數(shù)進(jìn)行算術(shù)、邏輯和位操作運(yùn)算。主要包括算術(shù)邏輯運(yùn)算單元ALU、累加器A、位處理器、程序狀態(tài)字寄存器PSW及兩個(gè)暫存器等。1.算術(shù)邏輯運(yùn)算單元ALU可對(duì)8位變量邏輯運(yùn)算(與、或、異或、循環(huán)、求補(bǔ)和清零),還可算術(shù)運(yùn)算(加、減、乘、除)ALU還有位操作功能,對(duì)位變量進(jìn)行位處理,如置“1”、清“0”、求補(bǔ)、測(cè)試轉(zhuǎn)移及邏輯“與”、“或”等。2.累加器A使用最頻繁的寄存器,可寫(xiě)為Acc?!癆”與“Acc”書(shū)寫(xiě)上的差別,將在第3章介紹。位于片內(nèi)的特殊功能寄存器區(qū)。作用如下:(1)ALU單元的輸入數(shù)據(jù)源之一,又是ALU運(yùn)算結(jié)果存放單元。(2)數(shù)據(jù)傳送大多都通過(guò)累加器A,相當(dāng)于數(shù)據(jù)的中轉(zhuǎn)站。為解決“瓶頸堵塞”問(wèn)題,AT89S52增加了一部分可以不經(jīng)過(guò)累加器的傳送指令。A的進(jìn)位標(biāo)志Cy是特殊的,因?yàn)樗瑫r(shí)又是位處理機(jī)的位累加器3.程序狀態(tài)字寄存器PSWPSW(ProgramStatusWord)位于片內(nèi)特殊功能寄存器區(qū),字節(jié)地址為D0H。包含了程序運(yùn)行狀態(tài)的信息,其中4位保存當(dāng)前指令執(zhí)行后的狀態(tài),供程序查詢和判斷。格式如圖2-5所示。圖2-5PSW的格式PSWPSW中各個(gè)位的功能:(1)Cy(PSW.7)進(jìn)位標(biāo)志位

可寫(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。(3)F0(PSW.5)用戶設(shè)定標(biāo)志位

由用戶使用的一個(gè)狀態(tài)標(biāo)志位,可用指令來(lái)使它置1或清0,控制程序的流向。用戶應(yīng)充分利用。PSWPSW(4)RS1、RS0(PSW.4、PSW.3)4組工作寄存器區(qū)選擇

選擇片內(nèi)RAM區(qū)中的4組工作寄存器區(qū)中的某一組為當(dāng)前工作寄存區(qū)見(jiàn)表2-2。(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ù)目煽啃浴?/p>

PSW控制器控制器包括:程序計(jì)數(shù)器、指令寄存器、指令譯碼器、定時(shí)及控制邏輯電路等。功能是控制指令的讀入、譯碼和執(zhí)行,從而對(duì)各功能部件進(jìn)行定時(shí)和邏輯控制。

程序計(jì)數(shù)器PC是一個(gè)獨(dú)立的16位計(jì)數(shù)器,不可訪問(wèn)。單片機(jī)復(fù)位時(shí),PC中內(nèi)容為0000H,從程序存儲(chǔ)器0000H單元取指令,開(kāi)始執(zhí)行程序。PC工作過(guò)程是:CPU讀指令時(shí),PC的內(nèi)容作為所取指令的地址,程序存儲(chǔ)器按此地址輸出指令字節(jié),同時(shí)PC自動(dòng)加1。2.4AT89S51存儲(chǔ)器的結(jié)構(gòu)

存儲(chǔ)器的結(jié)構(gòu)特點(diǎn)之一是將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi)(哈佛結(jié)構(gòu)),并有各自的訪問(wèn)指令。

存儲(chǔ)器空間可分為4類。AT89S51存儲(chǔ)器的結(jié)構(gòu)64KB程序存儲(chǔ)器空間中有5個(gè)特殊單元分別對(duì)應(yīng)于5個(gè)中斷源的中斷入口地址,見(jiàn)表2-3。通常這5個(gè)中斷入口地址處都放一條跳轉(zhuǎn)指令跳向?qū)?yīng)的斷服務(wù)子程序,而不是直接存放中斷服務(wù)子程序。數(shù)據(jù)存儲(chǔ)器空間1.片內(nèi)數(shù)據(jù)存儲(chǔ)器2.片外數(shù)據(jù)存儲(chǔ)器當(dāng)片內(nèi)128B的RAM不夠用時(shí),需外擴(kuò),最多可外擴(kuò)64KB的RAM。注意,片內(nèi)RAM與片外RAM兩個(gè)空間是相互獨(dú)立的,片內(nèi)RAM與片外RAM的低128B的地址是相同的,但由于使用的是不同的訪問(wèn)指令,所以不會(huì)發(fā)生沖突。特殊功能寄存器(SFR)特殊功能寄存器(SFR)特殊功能寄存器(SFR)堆棧指針SP指示堆棧頂部在內(nèi)部RAM塊中的位置。堆棧結(jié)構(gòu)—向上生長(zhǎng)型。單片機(jī)復(fù)位后,SP為07H,使得堆棧實(shí)際上從08H單元開(kāi)始,由于08H~1FH單元分別是屬于1~3組的工作寄存器區(qū),最好在復(fù)位后把SP值改置為60H或更大的值,避免堆棧與工作寄存器沖突。堆棧是為子程序調(diào)用和中斷操作而設(shè),主要用來(lái)保護(hù)斷點(diǎn)和現(xiàn)場(chǎng)。特殊功能寄存器(SFR)看門(mén)狗定時(shí)器WDTWDT包含一個(gè)14位計(jì)數(shù)器和看門(mén)狗定時(shí)器復(fù)位寄存器——

(WDTRST)。當(dāng)CPU由于干擾,程序陷入死循環(huán)或跑飛狀態(tài)時(shí),WDT提供了一種使程序恢復(fù)正常運(yùn)行的有效手段。位地址空間位地址空間特殊功能寄存器位地址字節(jié)地址D7D6D5D4D3D2D1D0BF7HF6HF5HF4HF3HF2HF1HF0HF0HAccE7HE6HE5HE4HE3HE2HE1HE0HE0HPSWD7HD6HD5HD4HD3HD2HD1HD0HD0HIP———BCHBBHBAHB9HB8HB8HP3B7HB6HB5HB4HB3HB2HB1HB0HB0HIEAFH——ACHABHAAHA9HA8HA8HP2A7HA6HA5HA4HA3HA2HA1HA0HA0HSCON9FH9EH9DH9CH9BH9AH99H98H98HP197H96H95H94H93H92H91H90H90HTCON8FH8EH8DH8CH8BH8AH89H88H88HP087H86H85H84H83H82H81H80H80H表2-6SFR中的位地址分布位地址空間

作為對(duì)AT89S51存儲(chǔ)器結(jié)構(gòu)的總結(jié),圖2-7為各類存儲(chǔ)器的結(jié)構(gòu)圖。從圖中可清楚看出各類存儲(chǔ)器在存儲(chǔ)器空間的位置。2.5AT89S51的并行I/O端口2.5.1P0口圖2-8P0口某一位的位電路結(jié)構(gòu)P0口P0口的特點(diǎn)P0口為雙功能口——地址/數(shù)據(jù)復(fù)用口和通用I/O口。(1)當(dāng)P0口用作地址/數(shù)據(jù)復(fù)用口時(shí),是一個(gè)真正的雙向口,

輸出低8位地址和輸出/輸入8位數(shù)據(jù)。(2)當(dāng)P0口用作通用I/O口時(shí),由于需要在片外接上拉電阻,端口不存在高阻抗(懸浮)狀態(tài),因此是一個(gè)準(zhǔn)雙向口。為保證引腳信號(hào)的正確讀入,應(yīng)首先向鎖存器寫(xiě)1。單片機(jī)復(fù)位后,鎖存器自動(dòng)被置1;當(dāng)P0口由原來(lái)輸出轉(zhuǎn)變?yōu)檩斎霑r(shí),應(yīng)先置鎖存器為1,方可執(zhí)行輸入操作。P0口大多作為地址/數(shù)據(jù)復(fù)用口使用,就不能再作為通用I/O口使用。P1口P1口圖2-9

P1口某一位的位電路結(jié)構(gòu)P1口P1口的特點(diǎn)由于內(nèi)部上拉電阻,無(wú)高阻抗輸入狀態(tài),故為準(zhǔn)雙向口。P1口“讀引腳”輸入時(shí),必須先向鎖存器寫(xiě)入1。P2口P2口圖2-10P2口某一位的位電路結(jié)構(gòu)P2口P2口的特點(diǎn)作為地址輸出線時(shí),P2口高8位地址,P0口輸出的低8位地址尋址64KB地址空間。作為通用I/O口時(shí),P2口為準(zhǔn)雙向口。功能與P1口一樣。一般情況下,P2口大多作為高8位地址總線口使用,這時(shí)就不能再作為通用I/O口。P3口P3口圖2-11

P3口某一位的位電路結(jié)構(gòu)P3口P1~P3口驅(qū)動(dòng)LED發(fā)光二極管P0口與P1、P2、P3口相比,P0口的驅(qū)動(dòng)能力較大,每位可驅(qū)動(dòng)8個(gè)LSTTL輸入,而P1、P2、P3口的每一位的驅(qū)動(dòng)能力,只有P0口的一半。當(dāng)P0口某位為高電平時(shí),可提供400A的電流;當(dāng)P0口某位為低電平(0.45V)時(shí),可提供3.2mA的灌電流。如低電平允許提高,灌電流可相應(yīng)加大。所以,任何一個(gè)口要想獲得較大的驅(qū)動(dòng)能力,只能用低電平輸出。P1~P3口驅(qū)動(dòng)LED發(fā)光二極管(a)不恰當(dāng)?shù)倪B接:高電平驅(qū)動(dòng)(b)恰當(dāng)?shù)倪B接:低電平驅(qū)動(dòng)圖2-12

發(fā)光二極管與AT89S51并行口的直接連接2.6時(shí)鐘電路與時(shí)序

時(shí)鐘電路產(chǎn)生AT89S51工作時(shí)所必需的控制信號(hào),在時(shí)鐘信號(hào)的控制下,嚴(yán)格按時(shí)序執(zhí)行指令。

執(zhí)行指令時(shí),CPU首先到程序存儲(chǔ)器中取出需要執(zhí)行的指令操作碼,然后譯碼,并由時(shí)序電路產(chǎn)生一系列控制信號(hào)完成指令所規(guī)定的操作。CPU發(fā)的時(shí)序信號(hào)兩類,一類用對(duì)片內(nèi)各個(gè)功能部件控制,用戶無(wú)須了解;另一類用于對(duì)片外存儲(chǔ)器或I/O口的控制,這部分時(shí)序?qū)τ诜治?、設(shè)計(jì)硬件接口電路至關(guān)重要。2.6.1時(shí)鐘電路設(shè)計(jì)

圖2-13

內(nèi)部時(shí)鐘方式電路2.外部時(shí)鐘方式圖2-14

AT89S51的外部時(shí)鐘方式電路2.6.2機(jī)器周期、指令周期與指令時(shí)序各種指令時(shí)序與時(shí)鐘周期相關(guān)。1.時(shí)鐘周期時(shí)鐘控制信號(hào)的基本時(shí)間單位。若晶振頻率為fosc,則時(shí)鐘周期Tosc=1/fosc。如fosc=6MHz,Tosc=166.7ns。2.機(jī)器周期CPU完成一個(gè)基本操作所需時(shí)間為機(jī)器周期。執(zhí)行一條指令分為幾個(gè)機(jī)器周期。每個(gè)機(jī)器周期完成一個(gè)基本操作,如取指令、讀或?qū)憯?shù)據(jù)等。每12個(gè)時(shí)鐘周期為1個(gè)機(jī)器周期。機(jī)器周期、指令周期與指令時(shí)序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,如圖2-16所示。圖2-16AT89S51的機(jī)器周期機(jī)器周期、指令周期與指令時(shí)序3.指令周期執(zhí)行一條指令所需的時(shí)間。簡(jiǎn)單的單字節(jié)指令,取出指令立即執(zhí)行,只需一個(gè)機(jī)器周期的時(shí)間。而有些復(fù)雜的指令,如轉(zhuǎn)移、乘、除指令則需兩個(gè)或多個(gè)機(jī)器周期。從指令執(zhí)行時(shí)間看:

單字節(jié)和雙字節(jié)指令一般為單機(jī)器周期和雙機(jī)器周期;

三字節(jié)指令都是雙機(jī)器周期;

乘、除指令占用4個(gè)機(jī)器周期。2.7復(fù)位操作和復(fù)位電路

單片機(jī)的初始化操作,給復(fù)位腳RST加上大于2個(gè)機(jī)器周期(即24個(gè)時(shí)鐘振蕩周期)的高電平就使AT89S51復(fù)位。

復(fù)位時(shí),PC初始化為0000H,程序從0000H單元開(kāi)始執(zhí)行。除系統(tǒng)的正常初始化外,當(dāng)程序出錯(cuò)(如程序跑飛)或操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),需按復(fù)位鍵使RST腳為高電平,使AT89S51擺脫“跑飛”或“死鎖”狀態(tài)而重新啟動(dòng)程序。2.7復(fù)位操作和復(fù)位電路2.7復(fù)位操作和復(fù)位電路復(fù)位電路設(shè)計(jì)圖2-17

片內(nèi)復(fù)位電路結(jié)構(gòu)

圖2-18

上電復(fù)位電路2.7復(fù)位操作和復(fù)位電路圖2-19

按鍵電平復(fù)位電路圖2-20

按鍵脈沖復(fù)位電路2.8AT89S52單片機(jī)的最小應(yīng)用系統(tǒng)AT89S52本身片內(nèi)有8KB閃爍存儲(chǔ)器,256B的RAM單元,4個(gè)I/O口,外接時(shí)鐘電路和復(fù)位電路即構(gòu)成了一個(gè)AT89S52單片機(jī)最小應(yīng)用系統(tǒng)。該最小應(yīng)用系統(tǒng)只能作為小型的數(shù)字量的測(cè)控單元。圖2-19AT89S52單片機(jī)的最小應(yīng)用系統(tǒng)2.9看門(mén)狗定時(shí)器(WDT)功能簡(jiǎn)介單片機(jī)應(yīng)用系統(tǒng)受到干擾可能會(huì)引起程序“跑飛”或“死循環(huán)”,會(huì)使系統(tǒng)失控。如果操作人員在場(chǎng),可按人工復(fù)位按鈕,強(qiáng)制系統(tǒng)復(fù)位。但操作人員不可能一直監(jiān)視著系統(tǒng),即使監(jiān)視著系統(tǒng),也往往是在引起不良后果之后才進(jìn)行人工復(fù)位。能不能不要人來(lái)監(jiān)視,使系統(tǒng)擺脫失控狀態(tài),重新從0000H地址處執(zhí)行程序呢?這時(shí)可采用“看門(mén)狗”技術(shù)?!翱撮T(mén)狗”技術(shù)就是使用一個(gè)“看門(mén)狗”定時(shí)器來(lái)對(duì)系統(tǒng)時(shí)鐘不斷計(jì)數(shù),監(jiān)視程序的運(yùn)行。當(dāng)看門(mén)狗啟動(dòng)運(yùn)行后,為防止看門(mén)狗定時(shí)器的不必要溢出而引起單片機(jī)的非正常的復(fù)位,應(yīng)定期地把看門(mén)狗清0,以保證看門(mén)狗不溢出。2.9看門(mén)狗定時(shí)器(WDT)功能簡(jiǎn)介“看門(mén)狗”部件,包含1個(gè)14位看門(mén)狗定時(shí)器和看門(mén)狗復(fù)位寄存器(表2-4中的特殊功能寄存器WDTRST,地址A6H)。開(kāi)啟看門(mén)狗定時(shí)器后,14位定時(shí)器會(huì)自動(dòng)對(duì)系統(tǒng)時(shí)鐘12分頻后的信號(hào)計(jì)數(shù),即每16384(214)個(gè)機(jī)器周期溢出一次,并產(chǎn)生一個(gè)高電平復(fù)位信號(hào),使單片機(jī)復(fù)位。采用12MHz的系統(tǒng)時(shí)鐘時(shí),則每16384μs產(chǎn)生一個(gè)復(fù)位信號(hào)。當(dāng)由于干擾,使單片機(jī)程序“跑飛”或陷入“死循環(huán)”時(shí),單片機(jī)也就不能正常運(yùn)行程序來(lái)定時(shí)地把看門(mén)狗定時(shí)器清0,看門(mén)狗定時(shí)器計(jì)滿溢出時(shí),將在AT89S52的RST引腳上輸出一個(gè)正脈沖(寬度為98個(gè)時(shí)鐘周期),使單片機(jī)復(fù)位,在系統(tǒng)的復(fù)位入口0000H處重新開(kāi)始執(zhí)行主程序,從而使程序擺脫“跑飛”或“死

溫馨提示

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