|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
! h: l, Q5 |. d% }& C- x- ?摘要:介绍r一种通过串行通讯手段擦除并改写MCS.51/96单片机程序存储器的电路以及程序设计要点。
' g0 E) o! V7 b* T d# }
6 O6 [5 g8 L/ Y/ y1 引言: D" e% g- M2 {1 l
由于应用场台的不同,经常需要对单片机本身的* z: w- K/ o1 c3 D& } \3 b
资源进行扩充。在单片机应用系统的没计中,程序存储
; e! t* W0 f3 ?3 [% X$ |0 _器的扩展是最基本的扩展。当被襁5控的对象比较复杂1 H2 L: S) \" n' |/ I
或系统功能较多时,就需要编写大一些的程序,仅仅利
- k" t- u8 c I+ o% f E7 \用单片机内部的程序存储器往往不够。对于Mcs_51/; \2 G$ {2 j, F8 h1 O2 g5 O' k
96系列单片机,8031片内没有程序存储器,其它型号
+ `, ~" t/ ^6 o+ i仅有4KB~8KB的空间。该系列单片机扩展程序存储7 }( s3 {7 ?, v O2 E
器是通过i五设定的。对于8051,当巨五=o,无论单片机
0 b- C# ?# v- U内有无程序存储器,都只访问外部程序存储器,此时程
) W& a6 v" S" Y4 W序存储器都由外部扩展,其地址是从0000H~FFFFH
, a7 C5 z8 ?6 D5 q的64K宅间;当EA=1时,片内程序存储器地址为2 f/ i/ o3 U5 P& Y4 D" P
0000H。0FFFH的4K宅间,而外部程序存储器只能从 k0 K" n# w& Z8 Q2 v3 J+ p) Y
1000H开始设置,EA=1通常用于不作外部程序扩展4 Y4 W. } s' h$ z+ ]
的情形,只用8051/8751/895l的片内4KB ROM/E,
! ~" i9 ]2 f! h2 {& QPROM/E2PROM就够了itI。1 R7 T$ E) C/ e1 s$ y% S
事实f.,只要通过对EA信号的灵活运用,并选用8 ]) }9 C. G. e( p; a% T
合适的程序存储器芯片,完全可以使单片机具备程序串行在线下8 n5 C1 h" t& m& v; z" V/ m" v* D0 w
载撩除重写的功能,也就是说不必将Ic拆下拿到万用编程器上烧2 B0 v* C C# A* D* V4 \* Q" X- I; Q
录,而可以直接在电路板上进行程序修改、烧录等操作。这样可以
3 f+ ~) r9 k( M+ }: h" s方便产品升级.尤其是当硬件设计确定,而软件需要在应用中不断5 h: j6 X, L+ k, m9 c! _4 m3 }
完善的场合。除此之外,可以完全应用计算机仿真程序进行程序* g7 J$ _7 m5 [2 _2 F
的设计和编译.再利用申行下载功能写入程序存储器,从而减少对
9 z2 B/ q% l7 _4 n- a. \) u昂贵的开发系统的依赖,这是非常实用的功能。
& X% W" M* [2 i, S2电路设计
. y2 Y) H5 A% K. b% A! Q# f0 ]! u我们知道,外部程序存储器和外部数据存储器有地址重复的$ Z) e2 k4 \5 b# o; d$ J0 l9 C# S/ `
两个不同的存储空间,它们的选通信号分别是RD、wR、PSEN。在
- W0 B; k& n& }0 T; ~% m0 l8 C: v取指令周期PsEN有效时,RD、WR始终为高电平,数据存储器不% B0 I+ h, r7 V" V
能被选通而在数据存储器的访问时期内RD、WR有效,PSEN始终% k7 |4 h+ n" Z; ~
: e. l( h" e4 k) m1 C0 ^为高电平。不会选通外部程序存储器。
4 Z; U5 \/ Y9 A% Z) |$ e, x通过串行口实现更新程序的设计思路是将系统划分为两种工
; ?. I4 @( ]; H+ Z* m7 e. E作状态:当串行下载时,使丽=1,用片内的程序存储器完成单片
6 b4 m& W. ]' ?5 h+ b机的串行通讯功能,利用外部程序存储器和外部数据存储器有地, {% r/ \9 `( r; e' o# s
址重复的两个不同的存储空间的特性,挂起所有外部数据存储器,
9 ^+ o7 B) ] \: D7 X, ~0 e8 m8 i同时将片外程序存储器作为片外数据存储器,从而可以改写其中9 |1 O) Y+ H: z }7 ?1 E6 p5 [
的程序;当单片机正常工作时,恢复以上改变,并使EX:0,将片内
# `4 i p" `+ u2 S0 s0 p, y程序屏蔽。
# W. Z5 C ~; V2 m, E& I4 t具体电路如图1所示。, `9 {9 F9 Z- Y5 H) S
电路采用Rs一232串行通讯方式,MAX232用来将RS232电平/ |% p5 I) k o3 F
转换为丌L电平。系统选用6264为片外数据存储器(RAM)。为了
0 `4 Y4 q' P# ^实现在线改写.片外程序存储器必须选择电可擦除的芯片,如
7 _$ V6 q. D8 V# h. `E2PROM或Flash Memory,这里选择了32KB的CMOS E2PROM芯2 t, B+ I* a9 j; u2 A
1 {: P: i; a: g- ^9 g+ {, j4 E
1 H x' B- P; Y0 h, ^# x: V附件下载:/ T8 w- x( d# m
, [: `- Q$ @; }, [. r
5 X5 @- Q2 \# ^4 l1 f
/ N; I3 a2 r& z* J; k0 } |
|