|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
" I; f- D% ?1 W# c/ ~" v$ ^* x
摘要:介绍r一种通过串行通讯手段擦除并改写MCS.51/96单片机程序存储器的电路以及程序设计要点。
- }' z6 J* A% y6 f+ r: ^% d" S# [% T: w. ?
1 引言 b5 c+ L- ~, N
由于应用场台的不同,经常需要对单片机本身的
8 y2 t# \4 c1 k; N资源进行扩充。在单片机应用系统的没计中,程序存储
4 v/ |6 X, ?9 G. o( G1 K3 o2 i+ T器的扩展是最基本的扩展。当被襁5控的对象比较复杂
2 K2 i4 e4 Q( j0 r/ D& `4 u或系统功能较多时,就需要编写大一些的程序,仅仅利
7 x9 z0 @( u3 ?* }3 u用单片机内部的程序存储器往往不够。对于Mcs_51/
3 k d) V% B' V. y) ]2 O# U* |96系列单片机,8031片内没有程序存储器,其它型号9 d* a7 v. O+ J8 P; p+ v& c
仅有4KB~8KB的空间。该系列单片机扩展程序存储
' H: k9 N& X4 j器是通过i五设定的。对于8051,当巨五=o,无论单片机
) W/ H# k+ p- x5 M内有无程序存储器,都只访问外部程序存储器,此时程
9 m! o9 h) e2 y' ]8 B9 h# F9 M序存储器都由外部扩展,其地址是从0000H~FFFFH
6 R: A- d. }. M: G7 T' e的64K宅间;当EA=1时,片内程序存储器地址为6 E; h2 U! t, I u7 M$ d0 J
0000H。0FFFH的4K宅间,而外部程序存储器只能从" j/ L+ P4 G) |/ z9 H: a1 V
1000H开始设置,EA=1通常用于不作外部程序扩展- X- s$ X$ z/ `# U4 k8 Q o y8 ]5 o
的情形,只用8051/8751/895l的片内4KB ROM/E,
2 [) Y: L% N9 r9 Q" iPROM/E2PROM就够了itI。" r9 a& J; V' ^4 Y0 Q8 W6 p
事实f.,只要通过对EA信号的灵活运用,并选用4 o9 ], \5 C5 Z, y3 [ |; w
合适的程序存储器芯片,完全可以使单片机具备程序串行在线下
1 c2 m M* z; @. a载撩除重写的功能,也就是说不必将Ic拆下拿到万用编程器上烧
; M4 ~7 c3 y1 A( V1 ~录,而可以直接在电路板上进行程序修改、烧录等操作。这样可以* E ]# w9 P6 J" m3 E' V
方便产品升级.尤其是当硬件设计确定,而软件需要在应用中不断9 a) {& c5 w' R6 }
完善的场合。除此之外,可以完全应用计算机仿真程序进行程序, z2 C1 Y8 K- c/ ?( _
的设计和编译.再利用申行下载功能写入程序存储器,从而减少对; S6 [( \1 F' D2 e) l5 z0 N
昂贵的开发系统的依赖,这是非常实用的功能。; m: V# T) K% t0 ~. J# m1 [
2电路设计, [; h( Z y, D5 Q' G4 k! N& B
我们知道,外部程序存储器和外部数据存储器有地址重复的
0 S# B! V4 B5 r/ Y2 c+ C% n两个不同的存储空间,它们的选通信号分别是RD、wR、PSEN。在8 Z7 G! K+ c+ r/ v
取指令周期PsEN有效时,RD、WR始终为高电平,数据存储器不1 U4 Y! I6 x/ Z9 k
能被选通而在数据存储器的访问时期内RD、WR有效,PSEN始终; n9 g }/ _) k5 M$ d
s+ u/ S. i9 d A# T: U为高电平。不会选通外部程序存储器。7 \' Q/ ~9 q" o$ F+ N" B
通过串行口实现更新程序的设计思路是将系统划分为两种工
# r Z- i+ F% q) S0 j, j0 r作状态:当串行下载时,使丽=1,用片内的程序存储器完成单片: D4 a+ q& |' j N+ ^: N
机的串行通讯功能,利用外部程序存储器和外部数据存储器有地7 ~+ |& B7 H* Y: `
址重复的两个不同的存储空间的特性,挂起所有外部数据存储器,# |8 R, V W6 B* _ Y
同时将片外程序存储器作为片外数据存储器,从而可以改写其中
& Q( f7 T a$ }" b的程序;当单片机正常工作时,恢复以上改变,并使EX:0,将片内6 U: r1 \) c% Z4 W& S" u1 f( L
程序屏蔽。& k2 ~* L- c) Z' N7 x2 V+ h* K1 N D+ Z
具体电路如图1所示。
& J: ~6 K# \! T& S0 }电路采用Rs一232串行通讯方式,MAX232用来将RS232电平
# o6 [8 K+ [/ J: S转换为丌L电平。系统选用6264为片外数据存储器(RAM)。为了9 R0 @7 X6 K# M8 O% t9 B
实现在线改写.片外程序存储器必须选择电可擦除的芯片,如& U. J+ S: C* P6 |; o
E2PROM或Flash Memory,这里选择了32KB的CMOS E2PROM芯) P; k! d; w0 b7 E
, F, b- N4 g: N% a
" h4 n8 \7 g4 r+ Y& [) o- n+ `
附件下载:
) r7 Z0 S& I; x' p! n2 c5 Q( i; X( a4 X0 L( [7 [7 }
) I! b9 R* g; @: O+ t; m6 _
( f+ X$ d! T, h$ y, C9 ~8 b& G* T
|
|