AT89C55文档格式.docx
- 文档编号:20383012
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:46
- 大小:234.14KB
AT89C55文档格式.docx
《AT89C55文档格式.docx》由会员分享,可在线阅读,更多相关《AT89C55文档格式.docx(46页珍藏版)》请在冰豆网上搜索。
13
:
-
M
X
AS
*
”匚
17
?
IB
23
19
22
nnmrmnrmnmrinnnn
匚匚uli匚匚匚匚亡匚匕匚匚匚Eu匚亡亡亡
PO.0MD輛PS,IjA&
l\
Pfi.3|AD>
^
Pf.4pD4|
PCJ.&
Pd.yMart
PQFP/TQFP
PLCC
IM"
CORNER
益工«
亠cQ.』nM営<
-2=.空H■NsLfn■♦&
C■*挣Le
—ftE:
二n-K□WEJ>
Li-里
的存a."
ULn
我二什
IUDEAU^RNCR
aG-in^u>
nuznA>
_■4n.>
m
二卩札4»
(Ao^i
piB5,?
■*oriafT-vpp3N&
JfcltfFROS
□FTTK
□P3-7(Ji»
)
□«
.*U1I)
□PS.5>
!
Al^]
irm■rrTT
nai
uu□UUUuUUlUIdHi料■QQ.C■创IE*
n-*n咚<
疋疋刊Ju柑AJh吐■=I"
ISI・d吐A
匚匚亡匸-ft47TLIL
FRpH
RXDL
mcD^IMI>
[l)
卜.I_別G匚
F3.1C卩氛护匚"
比FJ.4Cpa,5-e
□m.4
1w
□F0-6
lAOil
3Pi-ft
iKD(i
i^0n
□你冲"
□rhC
□>
fiLf•可耐
□F^Hi
lAib)
14.14)
□F2%5
IZ)
u-〔兀4-<
*uu
ULC61
Ma7a-*«
=
UOK
2工週
U3JMauwKuz:
二口u)uc亠
方框图:
该AT89C55的标准提供了以下功能:
20,000字节的闪存,256内存,32个字节/O线,三个
16位定时器/计数器,6向量两级中断结构,全双工串行端口,片上振荡器和时钟电路。
此外,AT89C55的目的是为降低到零频率静态逻辑,支持两种软件可选省电模式。
空闲模式停止的CPU,同时允许RAM工作,定时器/计数器,串行端口和中断系统继续运作。
运作。
在掉电模式保存RAM的内容,但冻结振荡器,禁用直到下一个硬件复位所有其他片上功能运作。
在掉电模式保存RAM的内容,但冻结振荡器,禁用直到下一个硬件复位所有其他片上功能。
引脚说明:
Vcc:
电源供电
GND:
地
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,
P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;
在程序校验时,输出指令字节。
程序校验
时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL
逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。
PortPin
AltematsFunctions
Pl0
T2(externalcourtinputtoTimerCounfterclock-out
P1.1
T2EX(Time^Counter2capturei-'
relDadtriggeranacirectiancontrol)
在flash编程和校验时,P1口接收低8位地址字节。
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部
程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出
高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX
@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。
PuriPin
A|(»
rnat»
FuncticriE
P3.0
RXD{serialinputpod)
P3J
7XD(urialoutputport)
P32
IMTC(asrlHTnalintenuptD
P3.3
INTfl[talQfnilirite^upl1)
P34
TO[limer3CarnalInputs
PM
T1[li-nGf1ftxt白fr13linpul)
P35
ternaldatame-yat为:
P3,7
RC-1axkarTialaiamenioryraad駅rob町
在flash编程和校验时,P3口也接收一些控制信号。
RST:
复位输入。
关于这两个机器周期针高,而振荡器运行重置设备。
ALE/PROG:
地址锁存控制信号(ale)是访问外部程序存储器时,锁存低8位地址的
输出脉冲。
在flash编程时,此引脚(PR°
G)也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,通
过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。
这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。
否则,ALE将被微弱拉高。
这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
PSEN:
程序存储允许()输出是外部程序存储器的读选通信号,当AT89C52由外
部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。
在此
期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP:
外部访问允许。
欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位被编程,复位时内部会锁存EA端状
^态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。
Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
XTAL1:
振荡器反相放大器及内部时钟发生器的输入端。
XTAL2:
振荡器反相放大器的输出端。
用户软件写入1秒不应该对这些非上市地点,因为
它们可用于未来的产品援引新功能。
在这种情况下,重置或新位无效值将始终为0。
定时器2:
控制和状态位载于登记T2CON(见表2)和T2MOD(见表4定时器2)。
登记册对(RCAP2H,RCAP2L的)是捕捉/定时器2装入寄存器的16位捕捉模式或16位自动重载模式。
中断寄存器:
个别中断使能位在IE名册。
两个优先事项可以设定6个中断源的IP每册。
数据存储器:
AT89C52有256个字节的内部RAM,高128个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128字节的RAM和特殊功能寄存器的地址的相同的,但物理上它们是分开的。
当一条指令访问7FH以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128字节RAM还是访问特殊功能寄存器。
如果指令是直接寻址方式则为访问特殊功能寄存器。
例如,下面的直接寻址指令访问特殊功能寄存器0A0H(即P2口)地址单元。
MOV0A0H,#data
间接寻址指令访问高128字节RAM,例如,下面的间接寻址中,R0的内容为0A0H,
则访问数据字节地址为0A0H,而不是P2口(0A0H).
MOV@R0,#data
堆栈操作也是间接寻址方式,所以,高128位数据RAM亦可作为堆栈区使用。
表1AT89S52特殊寄存器映象及复位值
Tabit1.AT09C5C:
SFRMapaid尺tie:
Value!
]FeH:
FchJ£
1H2E:
HODEHE1DCI-IOCFHOCCH事BIH山卯■]ABH3ACH的MMaenSCH
oommw
ACCMCOtX)m
PSWDOCCOO^I
T2C0NOKOtKXH)
TWODxxxxx>
oo
2皿-0Q00HW
^CAPZHOWOMM
T_200000004
TH2WOKXHK
IP
XXMBOM
P3
1111111!
I匡
JXQC-DOOT
P2fll111111
9CCI4XtCCOJO
S&
JF
XXKXX>
CXX
PI111111111
TCCIM
TMOCOCWOTW
TLO
OOKWCW)
TL1QOOQ[«
KR
THS(9QQOQQQ4
TH19W0Q0W
FC
1H11111
SP
3DOOOM1
DPLOOOOOT^O
□Pboooec-ooo
*PCOMOiOOCXKC
yFHJF7H□EFHIE*'
IOCFH3D'
HTCFHXTHOBFHOATH1AFHOATH和笳H
^TH
表2T2CON:
定时器/计数器2控制寄存器
gt)in2.T2CO\—Tin>
r/Cclmtpr2CortroIRsjisier
T2CONAddress二DCAnReae*诃町*-0000MODB
Eit.^kMiesfrabii
TF2
RCLH
TCLK
EXEM2
IR2
c/n
CF^L2
F
ti
4
1
d
Symbol
Fixictiori
"
imer2m托Flow仙gact却a.Trtrt:
r2overfamdm.Li3£
becl&
aredbysoftwareT^2mmIIiDlbeseiwhenether2C_K
*1firTCl-K■1.
EAF2
air*ar2asiemaliflagEetx>
n-enatha-jgcaptureorreloadis,causalby昔^agatr/atn『世tonenT2EKandEXEN2=1.
V^enTIrrer2intefnjpl悔wiablM.EXF2«
1willeau^ameCPUM^etorteCheTrrer2interrLptrtsubns.EXF2m'
jatte已电材〜日hyEOfTu虐懵FXF2CfkHOtCSL.M詞fint^rruptinliQ馆XrEXfr悼frmM定(DCFNs1.i
RCLK
docker启M昙'
2i-sisei.causesthe隧ilaipc1roli蛇2的曰Uowjju恪茁ItrnsettMtci©
A.wi紀Mlpoll
IAi:
€51and3RCIK•Ccaus&
sT1(MHrfl:
wmbels^cfni卄陌倍前俯
nar-Smtclo&
tc:
Flftbc.-'
iticnsetiauseiibeaerelpertto匕「li色『2总曲rl跆pjstcfotihtransTitdecknacnalportM&
deaiand3TCLK■0cauiM^uricriortrthgebeused知论:
naianicisck
EXIE^2
Tilmar2adeimEH@nab*VMbEriset矽lewaraplmr?
arreicji>
dtoocai*rasareullcfanpgaiu1?
tra-isfiDnonT2EXif~ir"
flr2i后natti=inghapdIncicitkIHpEFriwIportEXENJ?
=3eau>
<
i?
isTiirier2fcc^fdifrjffTbst
TR2
Sc&
it'
Stot;
coi-tioiIt*Timei2TRJ-1visitsHelln'
CjTE
Hnsre『3u巾leuaeectfairTirreii3.2/T2■0brfinerfunDaC.TS・jfarexfceriialeventcoLrter(fa1ingeci;
el"
ic^rcdk
CP-TTZS
心ptu-E辰疤leds^les.CPiR_2-1二初上曲s^CLiiefi:
doccurnnf宅百拘注t回isrlorfiacT2EXIF£
XEM2=1CPRL2=
OrajsePaUsmalirr^iOBJatsdccuvwrenTlirer2。
臂电ifmvsorreg&
tuEirariKtinariioccurb?
T2iEXwnenEXEt%2■1
'
."
Uh?
nFill"
er可匚.Kn「TCl<
=IiCiiEbifai£
cndtetCaridTiernerism-cedta自uHo—lcEd^iriTimer2□啪
定时器0和定时器1:
AT89C52的定时器0和定时器1的工作方式与AT89C51相同。
定时器2是一个16位定进/计数器。
它既可当定时器使用,也可作为外部事件计数器使用,
其工作方式由特殊功能寄存器T2C0N的C/T2位选择。
定时器2有三种工作方式:
捕获方
式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由T2C0N的控制
位来选择,如表3所示:
定时器2由两个8位寄存器TH2和TL2组成,在定时器工作方式中,每个机器周期TL2寄存器的值加1,由于一个机器周期由12个振荡时钟构成,因此,
计数速率的1/12.
在计数工作方式时,当T2引脚上外部输入信号产生由1至9的下降沿时,寄存器的值
加1,在这种工作方式下,每个机器周期的5SP2期间,对外部输入进行采样。
若在第一个
机器周期中采到的值为1,而在下一个机器周期中采到的值为9,则在紧跟综着的下一个周
期的S3P1期间寄存器加1•由于识别1至0的跳变需要2个机器周期(24个振荡周期),因此,最高计数速率为振荡频率的1/24.为确保采样的正确性,要求输入的电平在变化前至少
保持一个完整周期的时间,以保证输入信号至少被采样一次。
表3定时器2工作模式
Table3.Timer2OperatingModes
RCLK+TCLK
CP/RL2
MODE
16bitAuto-Reload
1SbitCapture
BaudRateGerieratQ'
(Offj
捕获方式:
在捕获方式下,通过T2CON控制位EXEN2来选择两种方式。
如果EXEN2=0,定时器2是一个16位定时器或计数器,计数溢出时,对T2CON的溢出标志TF2置位,同时激活
中断。
如果EXEN2=1,定时器2完成相同的操作,而当T2EX引脚外部输入信号发生1至0负跳变时,也出现TH2和TL2中的值分别被捕获到RCAP2H和RCAP2L中。
另外,T2EX引脚信号的跳变使得T2CON中的EXF2置位,与TF2相仿,EXF2也会激活中断。
捕获方式如下表所示:
图1定时器2的捕捉模式
1LTimer2inCaptureMode
■EXEN2
表4T2MOD-定时器2控制寄存器
T2MOOAdiiresa^ocflHF?
eaei^iue-xxxxxxoob
Not凰itAdct刖豹*
—
T20E
DCEN
6
5
Symbei
Function
ifnpiiernentefireMrvec*軸future
T*ner2OuipuiErtab1^W,
Whenset.thisbrt訓gwsTimer2beconfiguredasanw恢呵counter
•自动重装载(向上或向下计数器)方式:
当定时器2工作于16位自动重装载方式时,能对其编程为向上或向下计数方式,这个功能可通过特殊寄存器T2CON的DCEN位(允许向下计数)来选择的。
复位时,DCEN位
置“0”,定时器2默认设置为向上计数。
当DCEN置位时,定时器2既可向上计数也可向
下计数,这取决于T2EX引脚的值,参见下图,当DCEN=0时,定时器2自动设置为向上
计数,在这种方式下,T2CON中的EXEN2控制位有两种选择,若EXEN2=0,定时器2为
向上计数至0FFFFH溢出,置位TF2激活中断,同时把16位计数寄存器RCAP2H和RCAP2L重装载,RCAP2H和RCAP2L的值可由软件预置,如果中断允许,同样产生中断。
切换的EXF2置位时,定时器2溢出位,可作为第17位使用。
在这种运营模式,没有标志位EXF2中断。
图3定时器2自动重载(DCEN=1)
Figure3.TirwriAutoReloadMode<
DCEN=1)
T2EX刁M
图4定时器2波特率发生器模式
Figure4Timer2mBaudRaleGeneratorMode
TIMER1OVERFLOW
MOTE:
OSC.FREQ.ISDlVlOED0V£
NOT12
-SMOO1
■T
o—
-M6
-=■1<
TOLK
TFtAMSITIONDETECTOR
Rs
CLOCK
Tji
*■
GTR=o
CONTROL
RCAP2H
A
T?
EXPN
EXEN^
J~、
1rv
LI1\一
|CQNTHQL
TIMER2INTERROPT
-波特率发生器:
当T2CON中的TCLK和RCLK置位时,定时/计数器2作为波特率发生器使用。
如果定时/计数器2作为发送器或接收器,其发送和接收的波特率可以是不同的,定时器1用于
其它功能,如图7所示。
若RCLK和TCLK置位,则定时器2工作于波特率发生器方式。
波特率发生器的方式与自动重装载方式相仿,在此方式下,TH2翻转使定时器2的寄
存器用RCAP2H和RCAP2L中的16位数值重新装载,该数值由软件设置。
在方式1和方式3中,波特率由定时器2的溢出速率根据下式确定:
方式1和3的濾特率二
定吋器的溢岀率
is
定时器既能工作于定时方式也能工作于计数方式,在大多数的应用中,是工作在定时方
方式1和3的波特礬
式(C/T2=0)•定时器2作为波特率发生器时,与作为定时器的操作是不同的,通常作为定时器时,在每个状态时间(1/2振荡频率)寄存器的值加1。
波特率的计算公式如下:
32X[65536-ffi£
AT2H;
BCAf2L)]
式中(RCAP2H,RCAP2L)是RCAP2H和RCAP2L中的16位无符号数。
定时器2作为波特率发生器使用的电路如图4所示。
T2CON中的RCLK或TCLK=1时,
波特率工作方式才有效。
在波特率发生器工作方式中,TH2翻转不能使TF置们,故不能产
生中断。
但若EXEN2置位,且T2EX端产生由1至0的负跳变,则会使EX
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AT89C55