|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
$ O% g% G1 h$ D( c9 S
摘要:MCS51单片机是目前国内实用最广泛的一种单片机$ y9 g U# }( V- G
型,全球各单片机生产厂商在MCS51内核基础上,派生了大) y1 b9 l/ c: w( P
量的51内核系列单片机,极大地丰富了MCS51的种群。其6 i7 \5 {& K$ j6 N7 K1 P6 Y
中,STC公司推出了了STC89系列单片机,增加了大量的新
' j2 ?* ?% t1 z& v: k功能,提高了51的性能,是MCS51家族中的佼佼者。文章主" n/ p0 n" _/ k- ?% J
要介绍了该单片机种与MCS51的不同之处,并根据笔者的
1 K+ F# w& o' k4 c5 `实践,提出了一些需要注意的地方。8 H: {5 i3 c+ E$ M9 G8 v& V) }- `
6 \6 m# o+ H# b8 H" f+ t关键词:MCS51;单片机;ISP; IAP
6 i' K% B# i W3 o7 n* s: X# h A4 w7 g; B" j' v; ~0 @2 d( C1 d6 o
; _% s% S" O" Z" {# h1引言
0 G) M- l+ W9 E+ s随着电子技术的迅速发展,单片机技术的出现给现代工业
w) Q$ k8 S; G测控领域带来了-次新的技术革命。目前,单片机以其高可靠! C. x; r+ G7 P i, D8 I5 c% j
性高性能价格比,在工业控制系统数据采集系统、智能化仪器3 w) I; z7 c( v* h
仪表.办公自动化等诸多领域得到极为广泛的应用,并已走入家
) R& q9 e {0 P9 {2 u庭,洗衣机、空调等,到处都可见到单片机的踪影。
0 K) `+ N/ y$ T% t# u在单片机家族的众多成员中, MCS51系列单片机以其优越
6 N! _ V6 R, n6 R( W的性能.成熟的技术及高可靠性和高性能价格比,迅速占领了
0 o5 K+ Z2 N* M4 l$ V5 Y- n6 f: L工业测控和自动化工程应用的主要市场,成为国内单片机应- i1 ?7 |1 k; |9 T6 F
用领域中的主流。世界各大单片机厂商都在MCS51上投入了
, D% e: @8 y" v大量的資金和人力,围绕51内核,衍生出许多品种,增强51单
8 h% @& \ W+ ~+ u& `) E片机的各种功能。MCS51家族是目前在单片机领域发展最快" ^7 l2 a0 `% A4 m4 J
的一个品种。
+ N/ Z. i0 r% ]. \6 k# F: w这里要向大家推荐的是新近由STC公司推出的高性价比" O* E; X. b+ ^9 R) X* b
的STC89系列单片机。* A- \5 s; @ {5 c* q( Z
2 STC89系列单片机的性能
/ E) f. y) A: }2 GSTC89系列单片机是MCS- -51系列单片机的派生产品。它
/ }* x6 I1 i- B% w; R9 V' V2 {们在指令系统硬件结构和片内资源上与标准8052单片机完全
* ~+ \$ M# c" t# m7 K兼容,DIP40封装系列与8051为pin- to -pin兼容。STC89系列单
7 j0 ?8 [' Z3 j, `' T, J片机高速(最高时钟频率90MHz),低功耗,在系统/在应用可编程5 q5 s1 e9 Q* t/ x- L; _
(ISP ,IAP),不占用户资源。下面主要介绍STC89系列单片机有特7 W: W. d7 j' l3 D$ w
色之处及需要注意的地方。! w* a' B( v: v7 F" T: h( k
一、1kbit片内RAM(数据存储器)
* I/ O7 S. W- H普通8051系列单片及片内RAM只有128 (8051) 或256
; |6 N7 z; U1 }/ _) i. i(8052)字节。
& V8 t' D# ?6 U2 |& R1.低128字节(地址:00H-7FH),可直接或间接寻址;+ y* q6 M# O* X6 P" {
2.高128字节(地址: 80H~FFH),只可间接寻址;) b* D& o( M- ]9 y; y: o
STC89系列单片机另外增加了768字节的片内扩展RAM,1 y" _/ d/ @: i4 t. f8 b
以解决众多技术人员在编程时的RAM资源严重缺乏的问题。; v3 Y8 L& m' K3 J/ J" M& ~: B; q
768字节的片内扩展RAM(地址:00H~2FFH)与外部扩展.
' L" W. V7 l- _4 K; g5 k# ?RAM地址:重叠,单片机可通过软件设置AUXR.1,决定是否使用6 r6 G4 P% W: R% m2 K
片内扩展RAM,以防止可能的与外部扩展RAM的冲突,默认为) B+ `0 x8 c- o& X2 S
使用片内扩展RAM。0 }' n* C! n _/ s( c
片内扩展RAM的访问采用间接寻址,可通过- A9 K* \4 k4 |
. z6 @0 V2 v: J! O8 B6 e3 q( t
1引言
# v1 J+ t6 e1 {0 y2 x, p6 w# w随着电子技术的迅速发展,单片机技术的出现给现代工业% t7 K2 E5 N# e! V, W- h
测控领域带来了-次新的技术革命。目前,单片机以其高可靠
I; _7 G; M6 i5 F) l9 P性高性能价格比,在工业控制系统数据采集系统、智能化仪器' T# g+ L. V! Z6 y4 i2 q
仪表.办公自动化等诸多领域得到极为广泛的应用,并已走入家* t5 C; J2 b$ @* ]
庭,洗衣机、空调等,到处都可见到单片机的踪影。
' \; D; E. s5 u. J在单片机家族的众多成员中, MCS51系列单片机以其优越4 y" l. Y( Z; G8 o" L2 E! e
的性能.成熟的技术及高可靠性和高性能价格比,迅速占领了
. F" ?$ F) R+ q: @% j! e/ B* t工业测控和自动化工程应用的主要市场,成为国内单片机应
. V' x7 @& P5 ^% i用领域中的主流。世界各大单片机厂商都在MCS51上投入了
3 f/ E: @7 I6 Z大量的資金和人力,围绕51内核,衍生出许多品种,增强51单
2 {: k$ c O$ p. B" x. ~, ]% l% {片机的各种功能。MCS51家族是目前在单片机领域发展最快5 U- a3 t6 J0 u+ P, D
的一个品种。
8 B3 ~2 m3 W4 ~5 ]* {3 ?这里要向大家推荐的是新近由STC公司推出的高性价比$ ^, s+ m5 A) p% D$ N, `
的STC89系列单片机。2 ^2 G8 h6 K4 l
2 STC89系列单片机的性能
1 y: J3 M5 ^$ Y3 lSTC89系列单片机是MCS- -51系列单片机的派生产品。它
4 @1 `8 ?, Q3 T$ h( x% b4 k9 t们在指令系统硬件结构和片内资源上与标准8052单片机完全8 X4 a! g5 ~1 ^" ^ }
兼容,DIP40封装系列与8051为pin- to -pin兼容。STC89系列单
) O+ A: J! E9 M9 G- ^. L& |片机高速(最高时钟频率90MHz),低功耗,在系统/在应用可编程% _# Z5 z! O; y% p& Z$ S
(ISP ,IAP),不占用户资源。下面主要介绍STC89系列单片机有特; C F$ h, z) n1 ~* w4 u/ w
色之处及需要注意的地方。
+ G0 t2 l% F' d. D4 w一、1kbit片内RAM(数据存储器)
, o8 N$ ?# l! Y1 N q普通8051系列单片及片内RAM只有128 (8051) 或256
0 z, N/ Q G& i( I# ^(8052)字节。8 G: {0 c+ R) j' S
1.低128字节(地址:00H-7FH),可直接或间接寻址;
, D8 Q& K9 O2 M, a' m2.高128字节(地址: 80H~FFH),只可间接寻址;
' ?, L2 W4 v4 O- ~STC89系列单片机另外增加了768字节的片内扩展RAM,: P* d$ e& H) Y1 Y
以解决众多技术人员在编程时的RAM资源严重缺乏的问题。
3 Y! f1 T- W. k5 R1 S; q6 U768字节的片内扩展RAM(地址:00H~2FFH)与外部扩展.* I0 G7 d2 y7 S' O# B
RAM地址:重叠,单片机可通过软件设置AUXR.1,决定是否使用$ y- e4 O( f8 r/ W2 H5 A
片内扩展RAM,以防止可能的与外部扩展RAM的冲突,默认为
4 q# `3 E9 X) D1 P' V- c& F' f. {使用片内扩展RAM。# ~. c% I- Y; j+ T- ~8 p
片内扩展RAM的访问采用间接寻址,可通过8 w2 b( T( n, K$ L! z$ ^
- N: k# b! c( C: V1 ? v①、M0VX A,@DPTR 或MOVX @DPTR ,A指令访问片内 f* f5 J& g' {3 G5 s
扩展RAM(00H~2FFH,共768字节);
, ?. a. t% C0 D8 {" K6 a②、M0VX A.@Ri 或MOVX @Ri,A 指令访问片内扩展% k: a% H3 `0 f1 Y
RAM(00H~FFH,共256字节)。3 I4 `; @: \& L9 W3 ^
当DPTR≥300H时,系统访间外部扩展RAM。
1 O0 ?( ~, @ F6 r! Y注意:在使用第二种指令时,特别要注意是使用MOV还是
( { g, y0 I* P: R3 ]/ _6 LMOVX,MOV访问的是片内RAM, MOVX访问的是片内扩展
9 w7 ^. M3 f q* d& A6 h( g: N9 rRAM,刚刚接触此类单片机的技术人员最容易在这里犯错误。
/ z+ E' h% a; {1 I1 w二、64/32/16/8K片内Flash(程序存储器)与ISP功能
: {2 S: Y' c! T/ E1 g* y+ Y ySTC89系列单片机按芯片型号分别有64/32/16/8K 片内
9 d+ N& S$ V cFlash,分为2个Flash 存储块:Block0和Blockl。2 个Flash 存储/ B$ V1 ]7 C4 i, X9 q6 k
块在物理_上Block0在前,,Block1在后。通过REMAP功能可以将
/ p, q) t: L5 X9 Y7 g5 Z1 ?1 |' sFlash块重定位。8 j& i: t2 H4 }- \6 i1 M
使用过SST89系列单片机的用户要注意与STC89区别:0 b1 [ K7 s& i2 g* ^
①、Block1大小不同;②. ,Block 扇区大小不同;③、指令及$ {: u- \( r2 ~& C& z1 \9 M
SFR的不同。
) x: d* a: i. r; U O5 o5 w lSTC89有2个配置位SC0,SC1控制上电复位/外部复位后, R, B# ?4 v r d3 |5 c
程序是从Block0还是Block1启动。3 N7 a6 g, @5 j6 @5 k/ N
①对于STC89C58 , SC0, SC1同时起作用:
5 l ?5 O% E4 C( ?4 GSC1 ,SC0=0,0程序是从Block0启动;
! M1 j+ r- O' |! A% u6 z6 f8 DSC1, SC0=1,1 程序是从Block1启动,这时Block1物理上在& r9 h9 W- h) ?! V) {
后8K(E000H~FFFFH),逻辑.上又影象到前8K(0000H~1FFFH), 7 c7 G& O0 s* O0 h1 Y- r$ _
Block0前8K对于PC指针不可见。- X- G( y* g! K% S" M
②对于STC89C16,只有SCO起作用:' _2 t% a' v# b$ _6 `
SC0=0程序是从Block0启动;
8 l% E- _; @3 g8 m7 r* eSC0=1程序是从Block1启动.这时Block1 逻辑上影象到前
" o8 g7 \- X+ T. m3 K; T( K* N8(10000H-1FFFH),将Block0 前8K单元覆盖。% s' K1 s2 A4 o( Q$ p: q
- }* D- B* C2 l8 F1 X, I5 b
. _( b. I- N# `" E. { P
{# ~7 H. [) n& b' e8 a3 `1 g' i0 r. q附件下载:
. _6 s/ x7 V+ ~, a3 @3 @! J4 g0 N0 l* ]5 G( k3 _* T# z% R8 p
|
|