|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
9 ?% u; T \ E0 j; a! x; f: k9 b摘要:介绍r一种通过串行通讯手段擦除并改写MCS.51/96单片机程序存储器的电路以及程序设计要点。2 i6 M7 V- w p6 f! X: L
( I: u2 Z( ~4 n" V5 |' g
1 引言! x9 ^1 F$ _6 _ R! g* n! [- o0 V" h* j
由于应用场台的不同,经常需要对单片机本身的) C# g& `# f5 H
资源进行扩充。在单片机应用系统的没计中,程序存储4 ]& A, E; w3 ?8 s' c( @
器的扩展是最基本的扩展。当被襁5控的对象比较复杂; M% Q/ m: X% w1 M9 }' g
或系统功能较多时,就需要编写大一些的程序,仅仅利
3 \, Q- A e+ r用单片机内部的程序存储器往往不够。对于Mcs_51/
( L2 `" M; j2 Q, L7 B9 A: h8 f; h96系列单片机,8031片内没有程序存储器,其它型号
% g( s5 @: e: v, o仅有4KB~8KB的空间。该系列单片机扩展程序存储
0 c: W/ k3 z! i7 \9 i: v器是通过i五设定的。对于8051,当巨五=o,无论单片机
: F9 U6 m5 Y* Z" ~% ~9 P0 T内有无程序存储器,都只访问外部程序存储器,此时程, N" ^0 |: }! ^/ `9 D$ A" v/ v
序存储器都由外部扩展,其地址是从0000H~FFFFH
$ V( [7 J; ]% Z6 g# r9 @的64K宅间;当EA=1时,片内程序存储器地址为
) A ^3 @3 H C8 N" [& p, ^0000H。0FFFH的4K宅间,而外部程序存储器只能从
( n! ?5 w/ F+ W i; N, \1000H开始设置,EA=1通常用于不作外部程序扩展
( Q* n, b" w3 ^8 s: O的情形,只用8051/8751/895l的片内4KB ROM/E,
7 N) [8 N6 L' X" \) m( Q; X wPROM/E2PROM就够了itI。9 O, ], {% ^* W6 z8 m
事实f.,只要通过对EA信号的灵活运用,并选用
7 L' _" `+ D% ^' p5 h) P6 t合适的程序存储器芯片,完全可以使单片机具备程序串行在线下# m8 t& ?% x1 b: a" q) @5 \, M
载撩除重写的功能,也就是说不必将Ic拆下拿到万用编程器上烧
# g$ {. N0 X- o' Y录,而可以直接在电路板上进行程序修改、烧录等操作。这样可以
! q4 d- V* N5 l# N/ Y/ U方便产品升级.尤其是当硬件设计确定,而软件需要在应用中不断
& L% t! D7 W1 L" g完善的场合。除此之外,可以完全应用计算机仿真程序进行程序0 x7 C8 |: J, l7 m& _8 ]# Y
的设计和编译.再利用申行下载功能写入程序存储器,从而减少对
( \6 \" }( R* d2 p4 i% K F$ H7 N昂贵的开发系统的依赖,这是非常实用的功能。2 k" e3 z! y7 e2 E7 I& T* |. H
2电路设计
- u6 c8 J z% v; s& j5 Y! f9 Y& I我们知道,外部程序存储器和外部数据存储器有地址重复的( x C: p6 a, v1 Y' z! @! v
两个不同的存储空间,它们的选通信号分别是RD、wR、PSEN。在, O7 z( w5 U, [$ L
取指令周期PsEN有效时,RD、WR始终为高电平,数据存储器不
( e/ Y6 x& J6 G: w. R* T能被选通而在数据存储器的访问时期内RD、WR有效,PSEN始终
* y5 w7 w \' }$ Y
. w# f3 B/ U% V% P$ }" d( G为高电平。不会选通外部程序存储器。
* ~; L. { g' f5 m" @ a通过串行口实现更新程序的设计思路是将系统划分为两种工
* D. d5 p+ _4 n作状态:当串行下载时,使丽=1,用片内的程序存储器完成单片1 ?# t; |6 c( L" W
机的串行通讯功能,利用外部程序存储器和外部数据存储器有地& ^# T; T3 e3 L& R; `
址重复的两个不同的存储空间的特性,挂起所有外部数据存储器,
/ O/ o# i3 U: v: A7 J) E同时将片外程序存储器作为片外数据存储器,从而可以改写其中2 z& j/ T4 g7 z5 T' M |
的程序;当单片机正常工作时,恢复以上改变,并使EX:0,将片内, b8 k/ J4 {/ e
程序屏蔽。( s% ^4 H' G7 s* C
具体电路如图1所示。
& K% ~4 E( x9 H: l! N6 W' O- h电路采用Rs一232串行通讯方式,MAX232用来将RS232电平. c; E& }( R4 o$ E) O1 O
转换为丌L电平。系统选用6264为片外数据存储器(RAM)。为了& K! |; c1 w9 z4 S6 i% U
实现在线改写.片外程序存储器必须选择电可擦除的芯片,如) l# ]) \( r$ X& K
E2PROM或Flash Memory,这里选择了32KB的CMOS E2PROM芯! f+ U/ N, E( a+ i D' X
( b R' D, Z I4 S6 x
9 l6 W3 {; ?/ K2 f+ g附件下载:. ^. ]% w% g$ Q: D" c( V
$ E) J1 A7 p7 q9 E( h1 B: v, q0 ?
1 {; U( y% Y8 K6 q' H7 B! F; s2 \
1 W2 t6 P/ { T! {: E
|
|