原创 STC89系列高性能单片机及其应用

2009-8-13 08:29 2652 10 10 分类: MCU/ 嵌入式
摘要   MCS51单片机是目前国内实用最广泛的一种单片机型,全球各单片机生产厂商在MCS51内核基础上,派生了大量的51内核系列单片机,极大地丰富了MCS51的种群。其中,STC公司推出了了STC89系列单片机,增加了大量的新功能,提高了51的性能,是MCS51家族中的佼佼者。文章主要介绍了该单片机种与MCS51的不同之处,并根据笔者的实践,提出了一些需要注意的地方。

"M%o| @K/g"^0关键词MCS51  单片机  ISP  IAP电子园51单片机学习网&ibmE&g cm}1F$Ja

电子园51单片机学习网U;iX){ x"^F s

引言电子园51单片机学习网8q*[3ia[

电子园51单片机学习网 ~/u9b |S)t

随着电子技术的迅速发展,单片机技术的出现给现代工业测控领域带来了一次新的技术革命。目前,单片机以其高可靠性、高性能价格比,在工业控制系统、数据采集系统、智能化仪器仪表、办公自动化等诸多领域得到极为广泛的应用,并已走入家庭,洗衣机、空调等,到处都可见到单片机的踪影。

?.nBPJ5QKwF0电子园51单片机学习网;WH ENjZ-c

在单片机家族的众多成员中,MCS51系列单片机以其优越的性能、成熟的技术及高可靠性和高性能价格比,迅速占领了工业测控和自动化工程应用的主要市场,成为国内单片机应用领域中的主流。世界各大单片机厂商都在MCS51上投入了大量的资金和人力,围绕51内核,衍生出许多品种,增强51单片机的各种功能。MCS51家族是目前在单片机领域发展最快的一个品种。电子园51单片机学习网5D'A3bfB0{

电子园51单片机学习网%[^"k6nB8b2zk

这里要向大家推荐的是新近由STC公司推出的高性价比的STC89系列单片机。电子园51单片机学习网S%v4~z!v lt|


/@?ju eRb0STC89系列单片机的性能电子园51单片机学习网)_"b-ux%g9w#pAi


2n|nF{)n"Bqt0STC89系列单片机是MCS-51系列单片机的派生产品。它们在指令系统、硬件结构和片内资源上与标准8052单片机完全兼容,DIP40封装系列与8051为pin-to-pin兼容。STC89系列单片机高速(最高时钟频率90MHz),低功耗,在系统/在应用可编程(ISP,IAP),不占用户资源。下表是STC89系列单片机资源一览表。电子园51单片机学习网N&e3tH7D%v$B0{ c



型  号电子园51单片机学习网l6i2t](PI


最高时钟

9Lu&Tt.a-r&O$r@9P0

频率Hz

'R-`lj\ |D(O"WA-jz0

Flash电子园51单片机学习网s?z&G z m


存储器

f3p_8eLg\9QT$c-y0

RAM

X*qK M4x4oa@0

串口UART

wP.U)FM$yE*tuY0

中断源

P1W/G#aN.i)f8~+?0

优先级电子园51单片机学习网D^-i7yXZs


数据指针

5[^3T A8a3m0

降低EMI

6}QY'vL`z'P0

低压复位

wzA O c0

看门狗电子园51单片机学习网0xwMaSS(pyM4p


双倍速电子园51单片机学习网's,{?;w.F


P4口

M.aW!h5qU0

SPI

/T8f!kno0

ISP电子园51单片机学习网 ~|7@M7M _nyhj


IAP电子园51单片机学习网7e&S3uJu,^;O&n+H


A/D电子园51单片机学习网/`o/s;[&i


5V

8^,@ Jw;i;\,mb#on!m0

3V

,Qgt7kIq;A0
电子园51单片机学习网-W UGt$HWR

STC89C516  RD电子园51单片机学习网en%[Q,\\??


40M

tw3Z(]*A#^0

 

zH2_3A7D+BfBK9k0

64K+8K

{'r5{&Q&pq{vM,|1W0

1KB

0g2V3fK i1o0

1ch+

9n;H*T{?8b:WQ0

8

8Qm7LHq)sM@6d0

4

NM__| Q;q0

2电子园51单片机学习网-j2lZ?xdKa


ü

CH^U5Ar4?w0

ü电子园51单片机学习网%rk? dm/H'w


ü

*HDF m'D:L&g0

ü

;q6xh9E{.QUHK0

 电子园51单片机学习网#}-t^ DPtXz


 

9xO!u9k T?O0

ü电子园51单片机学习网 T ~8[8@(|RR1ra#R/N]


ü电子园51单片机学习网!\w9a.N6qt


 电子园51单片机学习网@av\;OS S X:C hI&X


K'zo s(q&Nl ?0STC89LV516 RD电子园51单片机学习网Lt f \C


 电子园51单片机学习网 _4[ x"nL{


33M电子园51单片机学习网"D+Vs2F1m z'a


64K+8K电子园51单片机学习网;R'G/l7lb-E


1KB

!@/[{G)} UN)n:X-X0

1ch+

:sN'PLc:obO4`0

8

2Ii/B;k$h5nWn7dUx0

4

wrB)S^BCC0

2

9LV5OS~}KH:q ~#Y0

ü

$j[j9I3y!t0RB0

ü

I mu!R/c7{e3W0

ü

9W i T"^%XY,Js(FMu;Y0

ü电子园51单片机学习网:Ir b,l'q


 电子园51单片机学习网vuR4Mv1J-\@|C


 

GH5[U9y$?tAv#P0

ü电子园51单片机学习网l/k.wv+M @M;P&c


ü电子园51单片机学习网`;ao9^?X-{%Q


 

IK/BFoC-` ~0
电子园51单片机学习网J`5E/e,T

STC89C8    RD

ChW KL7rE#`i0

40M电子园51单片机学习网6lc"HO2E n]


 

sR:]o_w0

64K+8K电子园51单片机学习网d:BJ7}?.Yh]


1KB电子园51单片机学习网'Ws6J1b,Urx


1ch+电子园51单片机学习网 ?#SOR-`


8电子园51单片机学习网I CP2m&yp2S`o


4

7D G5JO,``sG;e_O-r0

2

q^N]#p~%J0

ü电子园51单片机学习网mI*UrR,s)d5\g


ü

p/R.r`y0s:X'x0

ü电子园51单片机学习网0KWEwa i!j f)n Y


ü电子园51单片机学习网+f6k q&PR.QevO.C


 

(D7B1spiA{j0

 

L,zV7C+E&P#sj1h0

ü电子园51单片机学习网fj#H6C-_


ü

2Y0Yr9r%N]0

 

(P8K2Z%^5\0

:p#\H4l0V$H p!EH$r0STC89LV8   RD电子园51单片机学习网4Y-Km~'h,e.?1M


 

{ F/l~;w/FI-Q0

33M

W @)l.[Zj/p!L5H0

64K+8K

f,l/d%k Wk(Z0

1KB

0dp"l vT1Bp[Nr0

1ch+电子园51单片机学习网3{)_$}7S,|Y


8电子园51单片机学习网+C%M3` p3L1S~-F3W


4

o6GZ[VA)o(t0

2电子园51单片机学习网 \1S r*S:[6]*]


ü

V;E&H$BTV1Z"U0

ü电子园51单片机学习网D'cC)s$}/pr


ü电子园51单片机学习网 _.W"m;P't


ü

"o(S [Jk-b!cO0

 

.Vs.Q&y9X#J0

 

5p2w'm3P!T0

ü

#@jc&o9l*D EF0

ü电子园51单片机学习网9C\8W,{o O"yIER


 电子园51单片机学习网_l j:@wJ2`[

电子园51单片机学习网a?8Y-SMwO6VP(C

STC89C8    RD2

.m w-kC$L*c O0

40M电子园51单片机学习网Os6]8Xv"b


 

c4?z!PC/P.I?0

64K+8K

9l!o+T vQ9` B0

1KB

B9Jvl+cz:I8b0

1ch+电子园51单片机学习网wVe+@M7g#\


10电子园51单片机学习网.R.KE2aP


4电子园51单片机学习网Gaom#N;[m}'I^7L


2电子园51单片机学习网$pSf d;U ]eB


ü电子园51单片机学习网N7|7RFo,S


ü

lJiI/U"PY6I%x Q1?0

ü电子园51单片机学习网n:}x3p[5Y,fg\M


ü

,Su z2r;bR W0

ü

[#g.w4u-[1A b1{$|0

ü

5BXqE2Ix0

ü

\6n6rbmy7}O o0

ü

q$Ed9C.g0

 

1M#CXxG S0
电子园51单片机学习网4^+I#~3TpAB*f

STC89LV58  RD2

WP+ULN F0

 电子园51单片机学习网"VwU8hwwg


33M电子园51单片机学习网 T%J2b@,y9D\F


64K+8K

+Alt?)h];g%IJ0

1KB

A8o`g OM lFw0

1ch+电子园51单片机学习网!g4f/?&^3DHT x


10

G9eM A4rk0

4

X!rVX1e Bt:wP0

2电子园51单片机学习网P u!D9{G{p{


ü电子园51单片机学习网b A'e6s aig


ü电子园51单片机学习网riN9b"a.QS/A|


ü

B M1\f$a-I1HS V5S&C0

ü电子园51单片机学习网UR(S@dQ`


ü

-q%S3y)},c^W,mj0

ü

2k pZ5^Y G0

ü

DP5Jl)o:Yq0

ü

3x,~v1I g0d2u0

 电子园51单片机学习网%Qt\:qju


f)G d)C.Q9D3Nj0STC89C54   RD2

/m-Bdh#q8Wr&M2k:Y#b0

40M电子园51单片机学习网J'k%kc"r{


 

Oa bv*t5J4I0

64K+8K电子园51单片机学习网I2|iu^l/M


1KB电子园51单片机学习网 Gn+[%PS/L'Xl


1ch+电子园51单片机学习网!DK2G$`+Zu


10电子园51单片机学习网F(X4DhC0]o


4

`;N+l["w X5O;k4rErq0

2电子园51单片机学习网E5c4EE#EB;@*K p


ü电子园51单片机学习网}.Kz@w'y


ü

A*sr3r y@ uF3J0

ü

| Zv#L c9r QPqe0

ü

6y vg&k8bAl [0

ü

/]6dh b5S7U(u#D0

ü

Ui"gJV_7IL4[/T7]0

ü

'e.f$On.?5h U0

ü电子园51单片机学习网 HWDTx


 

7j;FO mx r5W0

m YNLmo r0STC89LV54  RD2电子园51单片机学习网-[7Wp9Xap.s%i:@


 

2u0xy#|UC:c\0

33M

5Ks N-V0O?_@3n0

64K+8K电子园51单片机学习网NYr5x(}j+dC


1KB电子园51单片机学习网X5K#m*[CD.Mly


1ch+

Ld5XcZ(f0

10

;IHo/vzzv0

4

,D/];u[w7F!t*R1z5?0

2电子园51单片机学习网Rp'r"r"}!r+b%H?


ü

9~pk2p]0

ü电子园51单片机学习网'H3x/G2}P9O9l


ü

aCSs gb0

ü

~(F V%v3l0

ü电子园51单片机学习网2`y X\n


ü电子园51单片机学习网 D#Pf w)@q H i


ü

#N_X{#f0

ü

R5u[6wDg0

 

7q ua)kP W.Q1]0C0
电子园51单片机学习网CIy twpN r

STC89C52   RD2

(c.] S)S0cr0

40M

4c(z.Ko&z0

 电子园51单片机学习网kjS8IuY


64K+8K

J0H/K(?T|5t&s0

1KB电子园51单片机学习网%rb/Org8Fl*H


1ch+电子园51单片机学习网Q g7M'WU#O


10电子园51单片机学习网w9v1?TG;gV


4

2iD]Bo3{7L1k0

2电子园51单片机学习网*``Ys-z-K2E/Rt&c


ü

b&b:j2J TS1c)|Qj0

ü

9Q&]1Q^ `"K2OL4|0

ü电子园51单片机学习网?|4_O3iY


ü

2{bvj_e[c0

ü

K]CZ xM0

ü电子园51单片机学习网f ed3s5v,@Q


ü电子园51单片机学习网_Be5mWwVNT


ü电子园51单片机学习网 Z#T:[T.E*k#ZB-N


 

&zLd B]H%y0
电子园51单片机学习网3h)CP^hh3q

STC89LV52  RD2

h]*zL8^0}g0

 电子园51单片机学习网Bw,B9l!T8CG;C:Z


33M电子园51单片机学习网1N&|-QI&mf


64K+8K电子园51单片机学习网MT^op7Qa F


1KB

E7}5J iN+i8~k&^0

1ch+

(cBzd8]6V"Tx0

10

9X O)Z:VC e$UN0

4电子园51单片机学习网#n%Z.oND#s u~|2yS"f


2

JqP.`5S DM*^;J$v l0

ü

W8E#O pk5mm0

ü电子园51单片机学习网HONjyZ*q


ü电子园51单片机学习网#OQzYfI8?o(z+~M


ü

fb&\:SFJp0

ü电子园51单片机学习网J ax.eQ qjz+E


ü

8k;j8}RL2uC(EbN#J0

ü

DqW#t?6OG+D _O V-IA0

ü

f,P&N(P| ji6i0

 电子园51单片机学习网X y8d._;^ r


:Vl.p;^m_w1Z R0STC89C51

u Kec:U D#\ k*n0

40M电子园51单片机学习网&q(m)P7a'[^


 电子园51单片机学习网a@~2GIsZ8} y


64K+8K电子园51单片机学习网&u9l)l)Q ^%`X/S b'EJ `@


128

1wePk[0

1ch

e#d _v5IQ1M1N0

8

7KX9Hv\0

2

Ld@GrCO[0

1

[2M9}d+kI1ua0

ü

%Rcxp X1a,QB%D0

 

5ch(Pb3n0

 

/j$ofc y)e0

 电子园51单片机学习网(~dJ*N3{age5Dp


 

lN7x.dFvI0

 电子园51单片机学习网i u$~-]0E%F y


 电子园51单片机学习网_FhcwB,rR


 电子园51单片机学习网#h x_%W G%[H1mu


 电子园51单片机学习网0CQ2sc'flf&Z r+V


N-j9M-@ Z;Az Glk0STC89C516RD电子园51单片机学习网/Cs,F"Z*w


2.4-3.6V,45/90M

QjBp$b@&rf0

64K+8K电子园51单片机学习网"[S"|t~G


512

7[7wX sEk,h0

1ch+

p_9f._ w1uh\,D6m0

8电子园51单片机学习网,nA.\A.^c7S}]7|


4

JSiXN$Szy']Z0

2

1g#c}JK0

ü电子园51单片机学习网@,xV#w zl


 电子园51单片机学习网S(e1L!t-A)\


ü电子园51单片机学习网 c9H^0[S:c4f ^


ü电子园51单片机学习网Rj{ggA(w5K


 

&G6d/`!D HT Q0

 

0P!lw0lb`OM2oo0

ü

u!}Q\6yQ0

 电子园51单片机学习网)E4pw$b"@9oB N


ü

A6]Z&h%u ti0

主要特性

J-m.wj#]Io@0

-_n/X5q2p4T3Vqv0u     80C51核心处理器单元;

rC([F]/JGa0

V'_z*c(GW5A4LE@@0u     3V/5V工作电压,操作频率0~33MHz(STC89LE516AD最高可达90MHz);5V工作电压,操作频率0~40MHz;电子园51单片机学习网S4OXqI _t1A:T6F


4Qig7FPsU]1H!pl0u     大容量内部数据RAM:1K字节RAM;

Cm-v4U'M;m6S[4H0

Lt&pur4@]0u     64/32/16/8kB片内Flash程序存储器,具有在应用可编程(IAP) ,在系统可编程(ISP),可实现远程软件升级,无需编程器;

Uav(j o|3g%^ I0电子园51单片机学习网x1|t4Rmi;v&k)F

u     支持12时钟(默认)或6时钟模式;电子园51单片机学习网F/zY9ra ys"S Vg$V

电子园51单片机学习网:m5A8E } iFk

u     双DPTR数据指针;

3t7y m9g5HSmSR"q0电子园51单片机学习网u5D0B5Z8JRG

u     SPI(串行外围接口)和增强型UART;电子园51单片机学习网:Lm5K-I"o+V/c!d

电子园51单片机学习网T'{0r P1Z9~I*[

u     PCA(可编程计数器阵列),具有PWM的捕获/比较功能;电子园51单片机学习网zO-|`R

电子园51单片机学习网zq(S%]m OA

u     4个8位I/O口,含3个高电流P1口,可直接驱动LED;电子园51单片机学习网6n4H!Kf|+h|/v-IK


j IwU*mq9G,b0u     3个16位定时器/计数器;电子园51单片机学习网 v @9m*wV1fb8cl)O

电子园51单片机学习网u-gF_5Ae y9]

u     可编程看门狗定时器(WDT);

6D$d8nC(U$b F f0电子园51单片机学习网/z.C'k/}!h

u     低EMI方式(ALE禁止);

f3M?N[)};yC0

-bf2d&G/`j9F0u     兼容TTL和COMS逻辑电平;电子园51单片机学习网kZGY U


vWgc7B"O/R3[8V0u     掉电检测和低功耗模式等。

)F1J Wk g#BC0电子园51单片机学习网LQ;Wk;^nS {

下面主要介绍STC89系列单片机有特色之处及需要注意的地方。

)}A.eM.B%m:\ C#XX8E b0电子园51单片机学习网8CTs f.MOL0E

一、1k bit片内RAM(数据存储器)

HF X#f'U0

M5p$~Ztm4s`o1m0普通8051系列单片及片内RAM只有128(8051)或256(8052)字节,

GE+P7Jy"p0

{Rg a#\Q:F3|01、低128字节(地址:00H~7FH),可直接或间接寻址;电子园51单片机学习网~,y%nP:O3n{I(Qb


*_"Q{0K&D02、高128字节(地址:80H~FFH),只可间接寻址;

#uA]0B kT$U*oQu0

0QO:DM p,p2?p4Sx0STC89系列单片机另外增加了768字节的片内扩展RAM,以解决众多技术人员在编程时的RAM资源严重缺乏的问题。

~f4HogY] @0

n)t)Iw+l0768字节的片内扩展RAM(地址:000H~2FFH)与外部扩展RAM地址重叠,单片机可通过软件设置AUXR.1,决定是否使用片内扩展RAM,以防止可能的与外部扩展RAM的冲突,默认为使用片内扩展RAM。

F f1{\}0

h:K4PaUO^:R T0片内扩展RAM的访问采用间接寻址,可通过

@/TN TU"M5q.X_n7G0

4@Xl6a,_E'`2j0①、MOVX  A,@DPTR或MOVX  @DPTR ,A指令访问片内扩展RAM(00H~2FFH,共768字节);

:F*Z.lmi(bJOO0

4g*fw7I4OEy u0②、MOVX  A,@Ri或MOVX  @Ri,A指令访问片内扩展RAM(00H~FFH,共256字节)。

6Vfu%SV1dE&t0电子园51单片机学习网8h7qp YIp_n

当DPTR≥300H时,系统访问外部扩展RAM。

NN-a` FT"Rq7l RB0

}2\/n3_4h] `0注意:在使用第二种指令时,特别要注意是使用MOV还是MOVX,MOV访问的是片内RAM,MOVX访问的是片内扩展RAM,刚刚接触此类单片机的技术人员最容易在这里犯错误。电子园51单片机学习网`LB}*} ^qg5P


^ ^P$pg w VJ#\0二、64/32/16/8K片内Flash(程序存储器)与ISP功能电子园51单片机学习网?}Qh cA(}g


,M:x!Ff@x0STC89系列单片机按芯片型号分别有64/32/16/8K片内Flash,分为2个Flash存储块:Block0和Block1。2个Flash存储块在物理上Block0在前,Block1在后。通过REMAP功能可以将Flash块重定位。下图显示的是STC89C58的程序存储器结构

"Ug@ G&H~(D0

电子园51单片机学习网)FlZ`f'~'DX P


电子园51单片机学习网[%k"fp&Y D`


使用过SST89系列单片机的用户要注意与STC89区别:电子园51单片机学习网R+rGN^;M `


)he;Z"s&b}6[Q0①、Block1大小不同;电子园51单片机学习网;xn7[K!~6gz


3wV8vL8C0②、Block扇区大小不同;电子园51单片机学习网]6q'^$alD#k7j


ssnEjXK4r`N&r0③、指令及SFR的不同。

7r+Phc#M yd0电子园51单片机学习网.a|#Z2E,LQ

STC89有2个配置位SC0,SC1控制上电复位/外部复位后程序是从Block0还是Block1启动。

CNL lD)^6N|]0

R L%\ B~|RR0①对于STC89C58,SC0,SC1同时起作用:

`a-Wta0电子园51单片机学习网-Z|N@1ex_6N

SC1,SC0=0,0 程序是从Block0启动;

#u]Wj*F5M?0电子园51单片机学习网_bAI4u b.T

SC1,SC0=1,1 程序是从Block1启动,这时Block1物理上在后8K(E000H~FFFFH),逻辑上又影象到前8K(0000H~1FFFH),Block0前8K对于PC指针不可见。

:cp*kw&ji(oUwt0电子园51单片机学习网ld(t*Ymr8J(po

②对于STC89C16,只有SC0起作用:

G!R;Vk(Q@(f0

n [di!C3@F0SC0=0 程序是从Block0启动;

-E/L*g|(n7h0

K6?]t2M!UOjY-n0SC0=1 程序是从Block1启动,这时Block1逻辑上影象到前8K(0000H~1FFFH),将Block0前8K单元覆盖。电子园51单片机学习网/Y7zP~f'ro!WP.G




型     号电子园51单片机学习网"tSU mP&Ss


Block0地址空间

Kt;{7q2E kh4A;n0

Block1前4k地址电子园51单片机学习网5TO-u[^(p0TRrj


Block1后4k地址

"@ o3z-fR-Z l(KKb0
电子园51单片机学习网!uWA5rs2BB2wX7^4V

STC89C52RD2/89LV52RD2电子园51单片机学习网q[V _0`HG!M^


0000 - 1FFFH

k,zOQaW0

E000 - EFFFH电子园51单片机学习网 G|Yx(Zw N8qD7T6V!e


F000 - FFFFH

1E7U5\ Kw)zT F#_0

dzJ nV,h4F/\+B0STC89C54RD2/89LV54RD2电子园51单片机学习网6] T9n(z)R"kJ LL


0000 - 3FFFH

|cd~(]p0

E000 - EFFFH

$H4i6u DZR0

F000 - FFFFH电子园51单片机学习网^#U d4bH7e|~

电子园51单片机学习网(srFlg5s KTi

STC89C58RD2/89LV58RD2电子园51单片机学习网EEd~{]1BV


0000–7FFFH

6P"h"z-zE0

E000 - EFFFH

,L@~'^S0

F000 - FFFFH

;C9oEF^0m"a"n0

3A;dqI1g#T0STC89C58RD/89LV58RD

z$k(}1P2HX1E0lu0

0000–7FFFH电子园51单片机学习网(cG1D&n8E


E000 - EFFFH

q:\7N)p+T3J _-J0

F000 - FFFFH电子园51单片机学习网KvS1j @c y%nb(F


{ o'U3N%ed;O T_0STC89C516RD/89LV516RD电子园51单片机学习网 n\7ovw;G


0000 - FFFFH

,bnKB+itA5g V0

0000–0FFFH

e }!K'OiN C0

1000–1FFFH电子园51单片机学习网*{PBn%k3A3A!T/T^


:P }h P u ]0刚刚接触STC89系列单片机的技术人员可能对其REMAP功能不理解,通过了解ISP就会明白REMAP的作用。电子园51单片机学习网b FUf L5p&[Xwp

电子园51单片机学习网 `1a wU `%I&q*|7C

ISP主要应用于在线(或远程)升级,通过执行ISP引导码改写用户程序,无须编程器,无须亲临现场。STC89系列单片机在出厂时,片内已经烧录有ISP引导码,占用Block1的程序空间前2K字节,并设置为从Block1启动。启动时,首先执行ISP引导码,确认是程序下载,还是正常启动。无论是程序下载还是正常启动,ISP引导码最后总是将REMAP取消,恢复Block0在前8K的地址空间,进而执行Block0中的用户程序,即用户程序总是放在Block0的00H开始的单元,除非用户自行修改了ISP引导码。电子园51单片机学习网6gr1~E.H#H}R2n-`{HNu


^ iIt9v0U;H%Eo0三、STC89系列单片机IAP技术

c&A#T$WF5k] Y1V0电子园51单片机学习网uFnosp b,W3FM

IAP功能就是在应用可编程,利用该功能,就可将本不具有EEPROM的单片机具有相当于EEPROM的功能,而且存储空间远大于EEPROM。IAP不能对自身所在的Block编程,即当程序运行在Block0时,可编程的是Block1;当程序运行在Block1时,可编程的是Block0。根据这个特点,通过REMAP功能可设置在应用编程的Flash的大小。对STV89C58来说,

1JL;^$l8UE `8|X8y^0电子园51单片机学习网^;^#x J2f6S)@

①、当程序运行于Block0时,可拥有6~8k的Flash EEPROM(一般使用);电子园51单片机学习网II u8Y-m O


"]4a UI5Yi\n5W0②、当程序运行于Block1时,可拥有近32k的Flash EEPROM(需要技巧或更改ISP引导码);

WG Q_ b*oZ0电子园51单片机学习网 H@D8Pek V

技巧:对于想使用32KFlash EEPROM,又不想更改ISP引导码的用户,可以这样设计程序,在用户程序开始处,通过REMAP功能将Block1影象到前8K,并将影象指令之后的程序烧录在Block1中即可。程序流程定位:Block1(ISP引导码)àBlock0(用户程序REMAP部分)àBlock1(用户程序)

C0a^,s k~0

C ]6]8oo}N0  要使用IAP功能,必须启用IAP功能。STC89的超级Flash配置存储器SFCF的bit6位用来开关IAP功能,0关闭,1开启,程序启动时默认关闭。电子园51单片机学习网 X0s+S:DD2~P{4H

电子园51单片机学习网1bo*X){6|sB

    IAP功能所涉及到的SFR有:

r uo?W t)B"{ fE0

7m2hy JMQ$T0SFCF    DATA    0B1H    ;超级Flash配置存储器电子园51单片机学习网rWV3b4dK1rc(i


EU A!z/gQq~v0SFCM    DATA    0B2H    ;超级Flash命令存储器电子园51单片机学习网#D"} at"j@Em


j+dCd-ZC0SFAL    DATA    0B3H    ;超级Flash地址低字节存储器

Sk(at f[ f$E_0电子园51单片机学习网%s~9HzDq

SFAH    DATA    0B4H    ;超级Flash地址高字节存储器电子园51单片机学习网 h*K)Q6z1\.D

电子园51单片机学习网 H8Q2F \I~r

SFDT    DATA    0B5H    ;超级Flash数据存储器

be)x jrXaM0

_;J]ZaQ9C2q6jw0SFST    DATA    0B6H    ;超级Flash状态存储器电子园51单片机学习网ga`3Eo a7h3aJ-o#|


~+vp6O@]^3a0()IAP的主要功能有:

z_e)L].YtS0电子园51单片机学习网#[K4C e5|Z

(1)片擦除。命令格式:电子园51单片机学习网!W C-n&w |8b6Q)Nu


qn*?U |b]m0ORL SFCF,#040H      ;启动IAP电子园51单片机学习网#@}j.\ zv4Mhl


KG8d(B$w"H w4^0MOV SFDT,#55H

!L7y3@[E2nk nk5qt0

N ^+}"^0w0MOV SFCM,#01H       ;写入命令字电子园51单片机学习网9M/S]7|{I:e w"x e


ipCt:hL8r}9IX0;查询SFST.2,等待芯片擦除结束,

(X#U'{9J8I\:aye0电子园51单片机学习网"Smd,o&N[2?;q

(2)块擦除。命令格式:电子园51单片机学习网$np$TF(bBjC


v.u9^c@P j&U0ORL SFCF,#040H      ;启动IAP

|5Un2~$y R H _Bxb0电子园51单片机学习网 S.rF[P?+J J.S

MOV SFAH,#0F0H/#00H ;擦队block0/block1

V8A5F(^&oAjp0电子园51单片机学习网4W(eaiW.N0g&xB

MOV SFDT,#55H

)X_*{^j h0电子园51单片机学习网eEi1t%G7k

MOV SFCM,#0DH       ;写放命令字

'S$E"S$R:bT{ p wr0

0v^1pToS1E0;查询SFST.2,等待芯片擦除结束,电子园51单片机学习网;WM?*~!a?

电子园51单片机学习网Q#us)J,~J

(3)扇区擦除。命令格式:

FXgl m~A7f y8k0

-s_}~:b I}f0ORL SFCF,#040H      ;启动IAP电子园51单片机学习网g4`G Z9MU

电子园51单片机学习网&Zr+@~8BVv&ya5a

MOV SFAH,区段地址高字节

8i2}/Zkq3NB0

PDP} Z1h%_X0MOV SFAL,区段地址低字节电子园51单片机学习网ZA3Iyf]'B+iq3Bk


{ muD:Pg0MOV SFCM,#0BH       ;写入命令字电子园51单片机学习网7}M7Q:N0c+],JnW


lu]/H Z*wh}*@O0;查询SFST.2,等待芯片擦除结束,

4a p$V8uh0电子园51单片机学习网b3r(uE.?3uRa(R4J

(4)字节编程。命令格式:

S-_f&ml#M~H4Zf0电子园51单片机学习网-o y#e.qqu*Ynn7H

ORL SFCF,#040H      ;启动IAP

zk{'vM0\0电子园51单片机学习网9Z%~ H&ry_s

MOV SFAH,要编程地址高字节电子园51单片机学习网Xa_\#pi


F#w6z4c@|0MOV SFAL,要编程地址低字节电子园51单片机学习网q7uk%b3QF7iu4U

电子园51单片机学习网.d4E#u/{j#W.{

MOV SFDT,要编程的数据

v;oQC]!Q0k E{.e0

Td3Q3j%pc{)H3|+Fm0MOV SFCM,#0EH       ;写放命令字电子园51单片机学习网._SU;bp

电子园51单片机学习网Px'M5k;e+B C3c%V

;查询SFST.2,等待芯片擦除结束,电子园51单片机学习网`&t-y:`jz


:cZ(r?NP0(5)字节校验。命令格式:电子园51单片机学习网]/IC%i6Rg"C


1X$Sb [2_PCLb0ORL SFCF,#040H      ;启动IAP电子园51单片机学习网gI}C^'c


V [V5ou0MOV SFAH,要校验数据的地址高字节

HE0N{D N0Og*AM8B0

|.nu-L.ZAt$r h.|0MOV SFAH,要校验数据的地址低字节

1C#nBhh"i0电子园51单片机学习网j.@ Nb {,t4U,Ik

MOV SFCM,#0CH       ;写放命令字电子园51单片机学习网#j u H4J?


wBJbo%t8} H)O0o0NOP

6} s&\ka9O0

[I&R0th sVK6Y(a0MOV A,SFDT          ;A保存规定单元地址读出的内容电子园51单片机学习网 p|x2[1~|(W;]

电子园51单片机学习网_'f%]!Yz#O.b

()、使用IAP需要注意:电子园51单片机学习网!~2iLgN3^

电子园51单片机学习网"{*M @f+~ v1B

1、启动IAP请使用ORL指令,尽量不要使用MOV指令,否则(尤其对初次使用本单片机者)及易造成系统软件复位、程序存储器REMAP等;电子园51单片机学习网zC1F9r[g$B


^|z,q?]'M02、IAP编程的数据读出,请使用字节校验指令,避免使用MOVC指令。MOVC指令在IAP中较数场合(尤其是有地址重叠的地方)不能读出正确的数值;

ZY*? CA,{{0电子园51单片机学习网Py5E8B1f2d ?

3、IAP编程不要忘记打开IAP功能(数据读出时也需要)。

E{8j s!t!u0

i];k(in+t^2k'cp0()IAP功能的用途:

0D.[+kU iHD!G0

6WWr]:G7cT&C0jbm0    ①、通过IAP功能可以不需编程器就可做单片机实验。这对初次学习单片机的人们,尤其对学校单片机的教学带来极大的方便,是一种最低成本的单片机开发手段。

!TO.z F%j^0电子园51单片机学习网nmg4jZzv N0s

    ②、可以对产品的软件进行升级。不需外加监控芯片,只是通过串行口便可将PC机内的产品升级软件下载到产品中去,而实现产品软件升级换代。在自己的实验室便可通过Modem对远方的产品进行软件升级。这将是以后电子产品的必然趋势。电子园51单片机学习网 x+lu!v(E2\AE

电子园51单片机学习网3Kk@XI{ d(o

    ③、还可以在线对产品参数进行修改。可实现在线对现场历史数据的存储、曲线参数校正等功能。适用于一些需经常改变数据的应用产品(如计费器、门禁系统及需要升级的产品等)及需远距离改变设备参数的产品(遥控设备等)。电子园51单片机学习网)KF`he\NTY


p6Mt7Z#t6Y0四、可编程计数器阵列电子园51单片机学习网_OYe5||

电子园51单片机学习网eW4e)H.vh

8051单片机片内有2个定时器/计数器,8052则有三个,满足一般拥护的需求,但在某些特殊场合却略显资源紧张,STC89额外提供了一个可以无须CPU参与、独立工作的可编程计数器阵列(PCA)。电子园51单片机学习网 iEMvw}@3M


0E }G{o%d It0STC89的可编程计数器阵列(PCA)是一个16比特的定时器,拥有5个16比特捕捉/比较模块,每个模块均可有以下几种模式:

D,kY{#zy |0电子园51单片机学习网Y V'X9{&f/A

n       上升沿和/或下降沿捕捉;

G^b*tW m hQ ]'lZ W0

yq(P,V$K&_h$U'\0n       软件定时器;

3h3h_+T7D*RG0电子园51单片机学习网C*T:~gaXs

n       高速输出;

L}w/tC#c0

] w%{:Lz{;MN0n       看门狗定时器(仅模块4);电子园51单片机学习网XqC4c(iY'uu,I?

电子园51单片机学习网-Y$~6t?1hg [5uB

n       脉宽调制器(PWM)

x5yl9RbNz0电子园51单片机学习网!Ot\;a,`4@ A

可编程计数器阵列的时钟可如下选择:电子园51单片机学习网{tZ7tw


点击看大图电子园51单片机学习网(f ]t t~#J0[


1t)W,y4t0B m/x0可编程计数器阵列在很少的CPU开销下比普通的定时器/计数器提供了更多的定时功能。它的优点包括减少软件开销及提高精度。

oU.zr(C0电子园51单片机学习网*k,u M|B g5b.KU

PCA可提供除波特率发生器外,T0,T1,T2定时器所能提供的功能。

JJt?[ZrY0

D{ M.f)h3[0PCA捕捉功能可以同时捕捉输入脉冲的上升沿及下降沿,非常适合用来检测脉冲宽度和频率;在软件解码PT2262时,具有相当好的表现,省却了大量的CPU管理时间。电子园51单片机学习网T^&}4Z0Gz


W&n#H]%Aw$_2|I0由于具有上升沿捕捉功能,PCA还可以用作上升沿的中断,以弥补8052只有下降沿中断的缺陷,在8052中有时你不得不另加一个反相器以符合MCS51的要求。

#Z ~vB9J"gY0电子园51单片机学习网,h,{!_jr:Ao

PWM功能可用于控制电动机调速等。电子园51单片机学习网 J_MD FBr0e#Y I


dF)v8U#DD0`0五、复位电路

"[ J*y(lO)Yy0

a yRx8r#{}{8j0STC89在8051基础上增加了多个复位功能,以提高单片机的抗干扰能力。

}4ToGJr U0电子园51单片机学习网#}_iK(rs T]6y H

1、上电复位:基本同8051相似,但同时增加了一项功能,就是软件可编程在复位时从REST脚输出32个复位脉冲,去复位外部设备,保证外部设备的同步,省却外部复位电路;电子园51单片机学习网 pI#p3g&Y1B

电子园51单片机学习网1h'rlzRO(iR,m3[ISe

2、软件复位:8051没有软件复位功能,技术人员一般需要自行设置较多SFR值,模拟软件复位,STC89只需改变一个位状态即可完成软件复位,减少软件开销。电子园51单片机学习网6W};l9p1]

电子园51单片机学习网Ck*xy H-`

3、欠压检测与复位

T G6S#V9t/B5S0

aoy)u'q%C _0  8051没有欠压检测功能,在遭遇欠压时,单片机无法正常工作,端口状态不定,极易造成外围设备的损坏。STC89的欠压检测与复位可在一定程度上避免此类事件发生。STC89在检测到欠压条件时产生一个中断通知或产生一个复位信号,复位单片机。欠压中断通知是一个很实用的功能,由于掉电通知到掉电还有以段时间,它可以让程序在即将掉电时,及时保存那些必要的参数,避免以写不必要的损失。电子园51单片机学习网-a0yO r:\


/^g;x;U^0结束语电子园51单片机学习网9Z;hwb PF#g

电子园51单片机学习网3f:Jf3^,wrS\8I

   STC89的优点不是三言两语就能说的清楚的,更多的信息可参考STC89数据手册。电子园51单片机学习网6P5~ zCO(TS

电子园51单片机学习网_r aX7{;\co

STC89在8051基础上增加了许多功能,极大地提高了MCS51家族的性能。STC89由美国设计,在台湾生产,是目前在相同性能条件下价格最优的一个品种。STC89的高性能、低价格,必定能为使用MCS51家族产品的技术人员带来相当的技术和经济的效益。当然,对于一个新的品种,它的新特性、新功能和可靠性还有待于我们去实践、去发掘。电子园51单片机学习网*Fa9B%b'\S&Mlo-bq


t UZ IPK,s0参考:1、STC89C51 DATASHEET;电子园51单片机学习网\ A+V$K&bb t(m

电子园51单片机学习网NP2u c6W6J]

      2、STC89系列单片机使用指南;电子园51单片机学习网8o Y$a/]/]$n)Ny

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
10
关闭 站长推荐上一条 /3 下一条