"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 | /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]/JGa0V'_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[4H0Lt&pur4@]0u 64/32/16/8kB片内Flash程序存储器,具有在应用可编程(IAP) ,在系统可编程(ISP),可实现远程软件升级,无需编程器;
Uav(j o|3g%^ I0电子园51单片机学习网x1|t4Rmi;v&k)Fu 支持12时钟(默认)或6时钟模式;电子园51单片机学习网F/zY9ra ys"S Vg$V
电子园51单片机学习网:m5A8E } iFku 双DPTR数据指针;
3t7y m9g5HSmSR"q0电子园51单片机学习网u5D0B5Z8JRGu SPI(串行外围接口)和增强型UART;电子园51单片机学习网:Lm5K-I"o+V/c!d
电子园51单片机学习网T'{0r P1Z9~I*[u PCA(可编程计数器阵列),具有PWM的捕获/比较功能;电子园51单片机学习网zO-|`R
电子园51单片机学习网zq(S%]m OAu 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/}!hu 低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'U0M5p$~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*oQu00QO:DM p,p2?p4Sx0STC89系列单片机另外增加了768字节的片内扩展RAM,以解决众多技术人员在编程时的RAM资源严重缺乏的问题。
~f4HogY] @0n)t)Iw+l0768字节的片内扩展RAM(地址:000H~2FFH)与外部扩展RAM地址重叠,单片机可通过软件设置AUXR.1,决定是否使用片内扩展RAM,以防止可能的与外部扩展RAM的冲突,默认为使用片内扩展RAM。
F f1{\}0h:K4PaUO^:R T0片内扩展RAM的访问采用间接寻址,可通过
@/TN TU"M5q.X_n7G04@Xl6a,_E'`2j0①、MOVX A,@DPTR或MOVX @DPTR ,A指令访问片内扩展RAM(00H~2FFH,共768字节);
:F*Z.lmi(bJOO04g*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单片机学习网[%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,LQSTC89有2个配置位SC0,SC1控制上电复位/外部复位后程序是从Block0还是Block1启动。
CNL lD)^6N|]0R L%\ B~|RR0①对于STC89C58,SC0,SC1同时起作用:
`a-Wta0电子园51单片机学习网-Z|N@1ex_6NSC1,SC0=0,0 程序是从Block0启动;
#u]Wj*F5M?0电子园51单片机学习网_bAI4u b.TSC1,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@(f0n [di!C3@F0SC0=0 程序是从Block0启动;
-E/L*g|(n7h0K6?]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*|7CISP主要应用于在线(或远程)升级,通过执行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,W3FMIAP功能就是在应用可编程,利用该功能,就可将本不具有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技巧:对于想使用32K的Flash EEPROM,又不想更改ISP引导码的用户,可以这样设计程序,在用户程序开始处,通过REMAP功能将Block1影象到前8K,并将影象指令之后的程序烧录在Block1中即可。程序流程定位:Block1(ISP引导码)àBlock0(用户程序REMAP部分)àBlock1(用户程序)
C0a^,s k~0C ]6]8oo}N0 要使用IAP功能,必须启用IAP功能。STC89的超级Flash配置存储器SFCF的bit6位用来开关IAP功能,0关闭,1开启,程序启动时默认关闭。电子园51单片机学习网 X0s+S:DD2~P{4H
电子园51单片机学习网1bo*X){6|sBIAP功能所涉及到的SFR有:
r uo?W t)B"{ fE07m2hy 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~9HzDqSFAH DATA 0B4H ;超级Flash地址高字节存储器电子园51单片机学习网 h*K)Q6z1\.D
电子园51单片机学习网 H8Q2F \I~rSFDT 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 nk5qt0N ^+}"^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.SMOV SFAH,#0F0H/#00H ;擦队block0/block1
V8A5F(^&oAjp0电子园51单片机学习网4W(eaiW.N0g&xBMOV SFDT,#55H
)X_*{^j h0电子园51单片机学习网eEi1t%G7kMOV SFCM,#0DH ;写放命令字
'S$E"S$R:bT{ p wr00v^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&ya5aMOV SFAH,区段地址高字节
8i2}/Zkq3NB0PDP} 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*Ynn7HORL SFCF,#040H ;启动IAP
zk{'vM0\0电子园51单片机学习网9Z%~ H&ry_sMOV SFAH,要编程地址高字节电子园51单片机学习网Xa_\#pi
F#w6z4c@|0MOV SFAL,要编程地址低字节电子园51单片机学习网q7uk%b3QF7iu4U
电子园51单片机学习网.d4E#u/{j#W.{MOV SFDT,要编程的数据
v;oQC]!Q0k E{.e0Td3Q3j%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,IkMOV 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+~ v1B1、启动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!u0i];k(in+t^2k'cp0(三)、IAP功能的用途:
0D.[+kU iHD!G06WWr]: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.vh8051单片机片内有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/An 上升沿和/或下降沿捕捉;
G^b*tW m hQ ]'lZ W0yq(P,V$K&_h$U'\0n 软件定时器;
3h3h_+T7D*RG0电子园51单片机学习网C*T:~gaXsn 高速输出;
L}w/tC#c0] w%{:Lz{;MN0n 看门狗定时器(仅模块4);电子园51单片机学习网XqC4c(iY'uu,I?
电子园51单片机学习网-Y$~6t?1hg [5uBn 脉宽调制器(PWM)
x5yl9RbNz0电子园51单片机学习网!Ot\;a,`4@ A可编程计数器阵列的时钟可如下选择:电子园51单片机学习网{tZ7tw
1t)W,y4t0B m/x0可编程计数器阵列在很少的CPU开销下比普通的定时器/计数器提供了更多的定时功能。它的优点包括减少软件开销及提高精度。
oU.zr(C0电子园51单片机学习网*k,u M|B g5b.KUPCA可提供除波特率发生器外,T0,T1,T2定时器所能提供的功能。
JJt?[ZrY0D{ 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:AoPWM功能可用于控制电动机调速等。电子园51单片机学习网 J_MD FBr0e#Y I
dF)v8U#DD0`0五、复位电路
"[ J*y(lO)Yy0a yRx8r#{}{8j0STC89在8051基础上增加了多个复位功能,以提高单片机的抗干扰能力。
}4ToGJr U0电子园51单片机学习网#}_iK(rs T]6y H1、上电复位:基本同8051相似,但同时增加了一项功能,就是软件可编程在复位时从REST脚输出32个复位脉冲,去复位外部设备,保证外部设备的同步,省却外部复位电路;电子园51单片机学习网 pI#p3g&Y1B
电子园51单片机学习网1h'rlzRO(iR,m3[ISe2、软件复位:8051没有软件复位功能,技术人员一般需要自行设置较多SFR值,模拟软件复位,STC89只需改变一个位状态即可完成软件复位,减少软件开销。电子园51单片机学习网6W};l9p1]
电子园51单片机学习网Ck*xy H-`3、欠压检测与复位
T G6S#V9t/B5S0aoy)u'q%C _0 8051没有欠压检测功能,在遭遇欠压时,单片机无法正常工作,端口状态不定,极易造成外围设备的损坏。STC89的欠压检测与复位可在一定程度上避免此类事件发生。STC89在检测到欠压条件时产生一个中断通知或产生一个复位信号,复位单片机。欠压中断通知是一个很实用的功能,由于掉电通知到掉电还有以段时间,它可以让程序在即将掉电时,及时保存那些必要的参数,避免以写不必要的损失。电子园51单片机学习网-a0yO r:\
/^g;x;U^0结束语电子园51单片机学习网9Z;hwb PF#g
电子园51单片机学习网3f:Jf3^,wrS\8ISTC89的优点不是三言两语就能说的清楚的,更多的信息可参考STC89数据手册。电子园51单片机学习网6P5~ zCO(TS
电子园51单片机学习网_r aX7{;\coSTC89在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
文章评论(0条评论)
登录后参与讨论