【正文】
2 或EXF2激活中斷,標(biāo)志位也必須由軟件清0。定時器0和定時器1標(biāo)志位TF0 和TF1在計(jì)數(shù)溢出的那個周期的S5P2被置位。它們的值一直到下一個周期被電路捕捉下來。然而,定時器2的標(biāo)志位TF2在計(jì)數(shù)溢出的那個周期的S2P2被置位,在同一個周期被電路捕捉下來。AT89S51譯文AT89S51 (8位微控制單片機(jī),片內(nèi)含4K bytes可系統(tǒng)編程的存儲器)AT89S51是美國ATMEL公司生產(chǎn)的低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k bytes的可系統(tǒng)編程的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。它集Flash程序存儲器既可在線編程(ISP)也可用傳統(tǒng)方法進(jìn)行編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強(qiáng)大,低價位AT89S51單片機(jī)可為您提供許多高性價比的應(yīng)用場介,可靈活應(yīng)用于各種控制領(lǐng)域。主要性能參數(shù):與MCS51 產(chǎn)品指令系統(tǒng)完全兼:容4k字節(jié)在線系統(tǒng)編程(ISP) Flash閃速存儲器1000次擦寫周期4. 05. 5V的工作電壓范圍全靜態(tài)工作模式:0Hz33MHz三級程序加密鎖1288字節(jié)內(nèi)部RAM32個可編程I/O口線2個16位定時/計(jì)數(shù)器6個中斷源全雙工串行UART通道低功耗空閑和掉電模式中斷可從空閑模式喚醒系統(tǒng)看門狗(WDT)及雙數(shù)據(jù)指針掉電標(biāo)識和快速編程特性靈活的在線系統(tǒng)編程(ISP一字節(jié)或頁寫模式)功能特性概述: AT89S51提供以下標(biāo)準(zhǔn)功能:4k字節(jié)Flash閃速存儲器,128字節(jié)內(nèi)部RAM, 32個I/O口線,看門狗(WDT),兩個數(shù)據(jù)指針,兩個16位定時/計(jì)數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時,AT89S51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復(fù)位。引腳功能說明: Vcc: 電源電壓 GND:地 P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能驅(qū)動8個TTL邏輯門電路,對端口寫‘1’可作為高阻抗輸入端用。 在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。 在Flash編程時,P0 口接收指令字節(jié),而在程序校驗(yàn)時,輸出指令字節(jié),校驗(yàn)時,要求外接上拉電阻。 P1口:P1是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫‘1’,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,囚為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(In)。 Flash編程和程序校驗(yàn)期間 P 1接收低8位地址。 P2口:P2是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫‘1’,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,囚為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(In)。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX @DPTR指令)時,P2口送出高 8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX @Ri指令)時,P2口線卜的內(nèi)容(也即特殊功能寄存器(SFR)區(qū)中P2寄存器的內(nèi)容),在整個訪問期間不改變。 Flash編程或校驗(yàn)時,P2亦接收高位地址和其它控制信號。 P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對P3 口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。作輸入端時,被外部拉低的P3 口將用上拉電阻輸出電流(In)。 P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能。P3 口還接收一些用于Flash閃速存儲器編程和程序校驗(yàn)的控制信號。RST:復(fù)位輸入。當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個機(jī)器周期以上高電平將使單片機(jī)復(fù)位。WDT溢出將使該引腳輸出高電平,設(shè)置SFR AUXR 的DISRTO位(地址8EH)可打開或關(guān)閉該功能。DISRTO位缺省為RESET輸出高電平打開狀態(tài)。ALE/PROG:當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部存儲器,ALE仍以時鐘振蕩頻率的1/6輸出固定的正脈沖信號,囚此它可對外輸出時鐘或用于定時目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。對Flash存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁正ALE操作。該位置位后,只有一條MOVX和MOVC指令A(yù)LE才會被激活。此外,該引腳會被微弱拉高,單片機(jī)執(zhí)行外部程序時,應(yīng)設(shè)置ALE無效。PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng)AT89S51由外部程序存儲器取指令(或數(shù)據(jù))時,每個機(jī)器周期兩次PSEN有效,即輸出兩個脈沖。當(dāng)訪問外部數(shù)據(jù)存儲器,沒有兩次有效的PSEN信號。EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000HFFFFH), EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器中的指令。Flash存儲器編程時,該引腳加上+12 V的編程電壓Vpp。XTAL 1:振蕩器反相放大器及內(nèi)部時鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。特殊功能寄存器: 特殊功能寄存器的于片內(nèi)的空間分布的這些地址并沒有全部占用,沒有占用的地址亦不可使用,讀這些地址將得到一個隨意的數(shù)值。而寫這些地址單元將不能得到預(yù)期的結(jié)果。中斷寄存器:各中斷允許控制位于IE寄存器,5個中斷源的中斷優(yōu)先級控制位于IP寄存器。雙時鐘指針寄存器: 為更方便地訪問內(nèi)部和外部數(shù)據(jù)存儲器,提供了兩個16位數(shù)據(jù)指針寄存器:DP0位于SFR(特殊功能寄存器)區(qū)塊中的地址82H, 83H和DP1位于地址84H, 85H,當(dāng)SFR中的位DPS=0選擇DP0,而DPS=1則選擇DP1。用戶應(yīng)在訪問相應(yīng)的數(shù)據(jù)指針寄存器前初始化DPS位。電源空閑標(biāo)志: 電源空閑標(biāo)志(POF)在特殊功能寄存器SFR中PCON的第4位(},電源打開時POF置‘1’,它可由軟件設(shè)置睡眠狀態(tài)并不為復(fù)位所影響。程序存儲器: 如果EA引腳接地(GND),全部程序均執(zhí)行外部存儲器。在AT89S51,假如EA接至Vcc(電源+),程序首先執(zhí)行地址從0000HOFFFH (4KB)內(nèi)部程序存儲器,而執(zhí)行地址為1000HFFFFH (60KB)的外部程序存儲器。數(shù)據(jù)存儲器:AT89S51的具有128字節(jié)的內(nèi)部RAM,這128字節(jié)可利用直接或間接尋址方式訪問,堆棧操作可利用間接尋址方式進(jìn)行,128字節(jié)均可設(shè)置為堆棧區(qū)空間??撮T狗定時器(WDT):WDT是為了解決CPU程序運(yùn)行時可能進(jìn)入混亂或死循環(huán)而設(shè)置,它由一個14bit計(jì)數(shù)器和看門狗復(fù)位SFR (WDTRST)構(gòu)成。外部復(fù)位時,WDT默認(rèn)為關(guān)閉狀態(tài),要打開WDT,用戶必須按順序?qū)?1EH和0E1H寫到WDTRST寄存器(SFR地址為OA6H},當(dāng)啟動了WDT,它會隨晶體振蕩器在每個機(jī)器周期計(jì)數(shù),除硬件復(fù)位或WDT溢出復(fù)位外沒有其它方法關(guān)閉WDT,當(dāng)WDT溢出,將使RSF引腳輸出高電平的復(fù)位脈沖。定時器0和定時器1:定時器0和1都是一個16位定時/計(jì)數(shù)器。AT89S52原文Features? Compatible with MCS51174。 Products? 8K Bytes of InSystem Programmable (ISP) Flash Memory? 1000 Write/Erase Cycles? Fully Static Operation: 0 Hz to 33 MHz? Threelevel Program Memory Lock? 256 x 8bit Internal RAM? 32 Programmable I/O Lines? Three 16bit Timer/Counters? Eight Interrupt Sources? Full Duplex UART Serial Channel? Lowpower Idle and Powerdown Modes? Interrupt Recovery from Powerdown Mode? Watchdog Timer ? Dual Data Pointer? Poweroff FlagDescriptionThe AT89S52 is a lowpower, highperformance CMOS 8bit microcontroller with 8K bytes of insystem programmable Flash memory. The device is manufactured using Atmel’s highdensity nonvolatile memory technology and is patible with the industry standard 80C51 instruction set and pinout. The onchip Flash allows the programmemory to be reprogrammed insystem or by a conventional nonvolatile memory bining a versatile 8bit CPU with in system programmable Flash on a monolithicchip, the Atmel AT89S52 is a powerful icrocontroller which provides a highlyflexible and costeffective solution to many embedded control AT89S52 provides the following tandard features: 8K bytes of Flash, 256 bytes of RAM, 32 I/O lines, Watchdog timer, two data pointers, three 16bit timer/counters, a sixvector twolevel interrupt architecture, a full duplex serial port, onchip oscillator,and clock circuitry. In addition, the AT89S52 is designed with static logic for operation down to zero frequency and supports two software selectable power saving Idle Mode stops the CPU while allowing the RAM, timer/counters, serial port, and interrupt system to continue functioning. The Powerdown mode saves the RAM contents but freezes the oscillator, disabling all other chip functions until the next interrupt or hardware reset.Pin ConfigurationsBlock DiagramPin DescriptionVCCSupply voltage.GNDGround.Port 0Port 0 is an 8bit open drain bidirectional I/O port. As an output port, each pin can sink eight TTL inputs. When 1s are written to port 0 pins, the pins can be used as high impedance Inputs.Port 0 can also be configured to be the multiplexed loworder address/data bus during ccesses to external program and data memory. In this mode, P0 has int ernal pull ups.Port 0 also receives the c