单片机at89s51的概述Word格式.docx
《单片机at89s51的概述Word格式.docx》由会员分享,可在线阅读,更多相关《单片机at89s51的概述Word格式.docx(9页珍藏版)》请在冰豆网上搜索。
低功耗空闲和掉电形式
中断可从空闲形式唤醒系统
看门狗(WDT)及双数据指针
掉电标识和快速编程特性
灵敏的在线系统编程(ISP一字节或页写形式)
功能特性概述:
AT89S51提供以下标准功能:
4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,看门狗〔WDT〕,两个数据指针,两个16位定时/计数器,一个5向量两级中断构造,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作形式。
空闲方式停顿CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停顿工作并制止其它所有部件工作直到下一个硬件复位。
引脚功能说明:
Vcc:
电源电压
GND:
地
P0口:
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写‘1’可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口:
P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写‘1’,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,囚为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(In)。
Flash编程和程序校验期间P1接收低8位地址。
P2口:
P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写‘1’,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,囚为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(In)。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(如执行MOVX@Ri指令)时,P2口线卜的内容(也即特殊功能存放器〔SFR)区中P2存放器的内容),在整个访问期间不改变。
Flash编程或校验时,P2亦接收高位地址和其它控制信号。
P3口:
P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
作输入端时,被外部拉低的P3口将用上拉电阻输出电流〔In〕。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能。
P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
管脚
备选功能
RXD〔串行输入口〕
TXD〔串行输出口〕
〔外部中断0〕
〔外部中断1〕
T0〔记时器0外部输入〕
T1〔记时器1外部输入〕
〔外部数据存储器写选通〕
〔外部数据存储器读选通〕
RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
WDT溢出将使该引脚输出高电平,设置SFRAUXR的DISRTO位〔地址8EH〕可翻开或关闭该功能。
DISRTO位缺省为RESET输出高电平翻开状态。
ALE/PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,囚此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对Flash存储器编程期间,该引脚还用于输入编程脉冲〔PROG〕。
如有必要,可通过对特殊功能存放器〔SFR)区中的8EH单元的D0位置位,可禁正ALE操作。
该位置位后,只有一条MOVX和MOVC指令ALE才会被激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。
PSEN:
程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。
当访问外部数据存储器,没有两次有效的PSEN信号。
EA/VPP:
外部访问允许。
欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:
假设加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU那么执行内部程序存储器中的指令。
Flash存储器编程时,该引脚加上+12V的编程电压Vpp。
XTAL1:
振荡器反相放大器及内部时钟发生器的输入端。
XTAL2:
振荡器反相放大器的输出端。
特殊功能存放器:
特殊功能存放器的于片内的空间分布的这些地址并没有全部占用,没有占用的地址亦不可使用,读这些地址将得到一个随意的数值。
而写这些地址单元将不能得到预期的结果。
中断存放器:
各中断允许控制位于IE存放器,5个中断源的中断优先级控制位于IP存放器。
双时钟指针存放器:
为更方便地访问内部和外部数据存储器,提供了两个16位数据指针存放器:
DP0位于SFR(特殊功能存放器)区块中的地址82H,83H和DP1位于地址84H,85H,当SFR中的位DPS=0选择DP0,而DPS=1那么选择DP1。
用户应在访问相应的数据指针存放器前初始化DPS位。
电源空闲标志:
电源空闲标志〔POF〕在特殊功能存放器SFR中PCON的第4位(PCON.4},电源翻开时POF置‘1’,它可由软件设置睡眠状态并不为复位所影响。
程序存储器:
假设EA引脚接地(GND),全部程序均执行外部存储器。
在AT89S51,假设EA接至Vcc(电源+),程序首先执行地址从0000H-OFFFH〔4KB〕内部程序存储器,而执行地址为1000H-FFFFH(60KB)的外部程序存储器。
·
数据存储器:
AT89S51的具有128字节的内部RAM,这128字节可利用直接或间接寻址方式访问,堆栈操作可利用间接寻址方式进展,128字节均可设置为堆栈区空间。
看门狗定时器(WDT):
WDT是为理解决CPU程序运行时可能进入混乱或死循环而设置,它由一个14bit计数器和看门狗复位SFR(WDTRST)构成。
外部复位时,WDT默认为关闭状态,要翻开WDT,用户必须按顺序将01EH和0E1H写到WDTRST存放器〔SFR地址为OA6H},当启动了WDT,它会随晶体振荡器在每个机器周期计数,除硬件复位或WDT溢出复位外没有其它方法关闭WDT,当WDT溢出,将使RSF引脚输出高电平的复位脉冲。
使用看门狗〔WDT〕:
翻开WDT需按次序写01EH和0E1H到WDTRST存放器〔SFR的地址为0A6H〕,当WDT翻开后,需在一定的时候01EH和0E1H到WDTRST存放器以防止WDT计数溢出。
14位WDT计数器计数到达16383〔3FFFH〕,WDT将溢出并使器件复位。
WDT翻开时,它会随晶体振荡器在每个机器周期计数,这意味着用户必须在小于每个16383机器周期内复位WDT,也即写01EH和0E1H到WDTRST存放器,WDTRST为只写存放器。
WDT计数器既不可读也不可写,当WDT溢出时,通常将使RST引脚输出高电平的复位脉冲。
复位脉冲持续时间为98×
Tosc,而Tosc=1/Fosc〔晶体振荡频率〕。
为使WDT工作最优化,必须在适宜的程序代码时间段周期地复位WDT防止WDT溢出。
AnOverviewofAT89S51
TheAT89S51isalow-power,high-performanceCMOS8-bitmicrocontrollerwith4KbytesofIn-SystemProgrammableFlashmemory.ThedeviceismanufacturedusingAtmel'
shigh-densitynonvolatilememorytechnologyandiscompatiblewiththeindustry-standard80C51instructionsetandpinout.Theon-chipFlashallowstheprogrammemorytobereprogrammedin-systemorbyaconventionalnonvolatilememoryprogrammer.Bycombiningaversatile8-bitCPUwithIn-SystemProgrammableFlashonamonolithicchip,theAtmelAT89S51isapowerfulmicrocontrollerwhichprovidesahighly-flexibleandcost-effectivesolutiontomanyembeddedcontrolapplications.Features:
CompatiblewithMCS.-51Products
4KBytesofIn-SystemProgrammable(ISP)FlashMemory
Endurance:
1000Write/EraseCycles
4.0Vto5.5VOperatingRange
FullyStaticOperation:
0Hzto33MHz
Three-levelProgramMemoryLock
128x8-bitInternalRAM
32ProgrammableI/OLines
Two16-bitTimer/Counters
SixInterruptSources
FullDuplexUARTSerialChannel
Low-powerIdleandPower-downModes
InterruptRecoveryfromPower-downMode
WatchdogTimer
DualDataPointer
Power-offFlag
FastProgrammingTime
FlexibleISPProgramming(ByteandPageMode)
Green(Pb/Halide-free)PackagingOption
TheAT89S51providesthefollowingstandardfeatures:
4KbytesofFlash,128bytesofRAM,32I/Olines,Watchdogtimer,twodatapointers,two16-bittimer/counters,afive-vectortwo-levelinterruptarchitecture,afullduplexserialport,on-chiposcillator,andclockcircuitry.Inaddition,theAT89S51isdesignedwithstaticlogicforoperationdowntozerofrequencyandsupportstwosoftwareselectablepowersavingmodes.TheIdleModestopstheCPUwhileallowingtheRAM,timer/counters,serialport,andinterruptsystemtocontinuefunctioning.ThePower-downmodesavestheRAMcontentsbutfreezestheoscillator,disablingallotherchipfunctionsuntilthenextexternalinterruptorhardwarereset.
VCC:
Supplyvoltage(allpackagesexcept42-PDIP).
Ground(allpackagesexcept42-PDIP;
for42-PDIPGNDconnectsonlythelogiccoreandtheembeddedprogrammemory).
VDD:
Supplyvoltageforthe42-PDIPwhichconnectsonlythelogiccoreandtheembeddedprogrammemory.
PWRVDD:
Supplyvoltageforthe42-PDIPwhichconnectsonlytheI/OPadDrivers.TheapplicationboardMUSTconnectbothVDDandPWRVDDtotheboardsupplyvoltage.
PWRGND:
Groundforthe42-PDIPwhichconnectsonlytheI/OPadDrivers.PWRGNDandGNDareweaklyconnectedthroughthecommonsiliconsubstrate,butnotthroughanymetallink.TheapplicationboardMUSTconnectbothGNDandPWRGNDtotheboardground.
Port0:
Port0isan8-bitopendrainbi-directionalI/Oport.Asanoutputport,eachpincansinkeightTTLinputs.When1sarewrittentoport0pins,thepinscanbeusedashigh-impedanceinputs.
Port0canalsobeconfiguredtobethemultiplexedlow-orderaddress/databusduringaccessestoexternalprogramanddatamemory.Inthismode,POhasinternalpull-ups.
Port0alsoreceivesthecodebytesduringFlashprogrammingandoutputsthecodebytesduringprogramverification.Externalpull-upsarerequiredduringprogramverification.
Port1:
Port1isan8-bitbi-directionalI/Oportwithinternalpull-ups.ThePort1outputbufferscansink/sourcefourTTLinputs.When1sarewrittentoPort1pins,theyarepulledhighbytheinternalpull-upsandcanbeusedasinputs.Asinputs,Port1pinsthatareexternallybeingpulledlowwillsourcecurrent(lip)becauseoftheinternalpull-ups.
Port2:
Port2isan8-bitbi-directionalI/Oportwithinternalpull-ups.ThePort2outputbufferscansink/sourcefourTTLinputs.When1sarewrittentoPort2pins,theyarepulledhighbytheinternalpull-upsandcanbeusedasinputs.Asinputs,Port2pinsthatareexternallybeingpulledlowwillsourcecurrent(lip)becauseoftheinternalpull-ups.
Port2emitsthehigh-orderaddressbyteduringfetchesfromexternalprogrammemoryandduringaccessestoexternaldatamemorythatuse16-bitaddresses(MOVX@DPTR).Inthisapplication,Port2usesstronginternalpull-upswhenemitting1s.Duringaccessestoexternaldatamemorythatuse8-bitaddresses(MOVX@RI),Port2emitsthecontentsoftheP2SpecialFunctionRegister.
Port2alsoreceivesthehigh-orderaddressbitsandsomecontrolsignalsduringFlashprogrammingandverification.
Port3:
Port3isan8-bitbi-directionalI/Oportwithinternalpull-ups.ThePort3outputbufferscansink/sourcefourTTLinputs.When1sarewrittentoPort3pins,theyarepulledhighbytheinternalpull-upsandcanbeusedasinputs.Asinputs,Port3pinsthatareexternallybeingpulledlowwillsourcecurrent(lip)becauseofthepull-ups.
Port3receivessomecontrolsignalsforFlashprogrammingandverification.
Port3alsoservesthefunctionsofvariousspecialfeaturesoftheAT89S51,asshowninthefollowingtable.
P3portcanalsobeusedasanumberofspecialfeaturesAT89C51mouth,thefollowingtable:
Pin
Alternativefunction
RXD〔Serialinput〕
TXD〔Serialoutput〕
〔Externalinterrupt0〕
〔Externalinterrupt1〕
T0〔Timer0Externalinput〕
T1〔Timer1Externalinput〕
〔Externaldatamemorywritestrobe〕
〔Externaldatamemoryreadstrobe〕
Resetinput.Ahighonthispinfortwomachinecycleswhiletheoscillatorisrunningresetsthedevice.ThispindrivesHighfor98oscillatorperiodsaftertheWatchdogtimesout.TheDISRTObitinSFRAUXR(address8EH)canbeusedtodisablethisfeature.InthedefaultstateofbitDISRTO,theRESETHIGHoutfeatureisenabled.
AddressLatchEnable(ALE)isanoutputpulseforlatchingthelowbyteoftheaddressduringaccessestoexternalmemory.Thispinisalsotheprogrampulseinput(PROG)duringFlashprogramming.Innormaloperation,ALEisemittedataconstantrateof1/6theoscillatorfrequencyandmaybeusedforexternaltimingorclockingpurposes.Note,however,thatoneALEpulseisskippedduringeachaccesstoexternaldatamemory.
Ifdesired,ALEoperation