|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
c- N8 y5 g; z. D# E3 z摘要:介绍r一种通过串行通讯手段擦除并改写MCS.51/96单片机程序存储器的电路以及程序设计要点。) |9 A% ?0 c" Z0 c5 O
" Z. ]) w# P1 H* z. Z) w
1 引言
9 \/ l8 r9 q# c' U由于应用场台的不同,经常需要对单片机本身的+ j+ [2 t) C' S) u! w2 P
资源进行扩充。在单片机应用系统的没计中,程序存储9 o/ C {2 E! {7 m1 m" K# B
器的扩展是最基本的扩展。当被襁5控的对象比较复杂
' F6 A9 h+ I# U3 Z& p( p( V或系统功能较多时,就需要编写大一些的程序,仅仅利 e& r9 {6 g$ I' m
用单片机内部的程序存储器往往不够。对于Mcs_51/
/ o$ ~2 Y7 K# W( f7 _" y6 V7 B7 N96系列单片机,8031片内没有程序存储器,其它型号
8 ]5 v3 e; y( c5 a+ r( d仅有4KB~8KB的空间。该系列单片机扩展程序存储
- v) P6 Q- G, }# X* S器是通过i五设定的。对于8051,当巨五=o,无论单片机
3 x7 p' _$ B# Y2 O/ E+ ~+ q内有无程序存储器,都只访问外部程序存储器,此时程
2 l/ ^/ `' `# }) T8 {% Q序存储器都由外部扩展,其地址是从0000H~FFFFH& c7 B" G% b s( x2 z! t6 g; i
的64K宅间;当EA=1时,片内程序存储器地址为. y% S* y# A, Q3 A' v
0000H。0FFFH的4K宅间,而外部程序存储器只能从7 G4 H0 X+ U3 `
1000H开始设置,EA=1通常用于不作外部程序扩展% ~) w& o/ J5 R) t# c) M. L! Z* b0 h
的情形,只用8051/8751/895l的片内4KB ROM/E,; O- f+ X8 c4 v
PROM/E2PROM就够了itI。
2 j+ o' ^' S7 i# k6 A$ @4 K$ h0 ]事实f.,只要通过对EA信号的灵活运用,并选用. a9 ]( X' _6 B% ]! Z, _
合适的程序存储器芯片,完全可以使单片机具备程序串行在线下6 U- k( x9 t( d. B. f3 r
载撩除重写的功能,也就是说不必将Ic拆下拿到万用编程器上烧
/ @; P& T3 C) d6 g录,而可以直接在电路板上进行程序修改、烧录等操作。这样可以
' t1 h/ R. T5 J: H5 w方便产品升级.尤其是当硬件设计确定,而软件需要在应用中不断
L! g3 g- b l; d |5 E完善的场合。除此之外,可以完全应用计算机仿真程序进行程序
* u+ O3 x) x8 T' g的设计和编译.再利用申行下载功能写入程序存储器,从而减少对4 C4 k8 c) S: N$ l+ g5 m
昂贵的开发系统的依赖,这是非常实用的功能。: q/ |9 y8 E7 U6 Y
2电路设计
5 ^3 Y: w7 W5 o; p9 Z我们知道,外部程序存储器和外部数据存储器有地址重复的$ @0 H% C" s2 p2 \
两个不同的存储空间,它们的选通信号分别是RD、wR、PSEN。在" Z3 Y" i+ q u/ l5 H: k3 g* e6 \' U
取指令周期PsEN有效时,RD、WR始终为高电平,数据存储器不$ c' B9 K7 c& j, y, y X
能被选通而在数据存储器的访问时期内RD、WR有效,PSEN始终
' Z7 C, j/ \; U2 t! \* {. Z
8 a' i. b [7 j为高电平。不会选通外部程序存储器。- ^$ B3 H- z8 s, R. Q
通过串行口实现更新程序的设计思路是将系统划分为两种工
# h( {" [' I$ I5 E作状态:当串行下载时,使丽=1,用片内的程序存储器完成单片
( J: e- b. C6 ^ e2 j机的串行通讯功能,利用外部程序存储器和外部数据存储器有地$ a5 |. `& b H. @: J* B
址重复的两个不同的存储空间的特性,挂起所有外部数据存储器, j! p( i0 Y% w- Q( I7 W
同时将片外程序存储器作为片外数据存储器,从而可以改写其中* I4 l$ v+ [* o: _ A' p* j
的程序;当单片机正常工作时,恢复以上改变,并使EX:0,将片内
1 ~" |+ J$ i$ l# r" X* b, s程序屏蔽。
/ U, E( U6 X2 w3 R具体电路如图1所示。
9 {5 F6 C' Q9 a; B电路采用Rs一232串行通讯方式,MAX232用来将RS232电平( D& Z# i% d, o! |* x
转换为丌L电平。系统选用6264为片外数据存储器(RAM)。为了/ o6 @9 _# M8 }4 d1 c0 [
实现在线改写.片外程序存储器必须选择电可擦除的芯片,如
4 J5 F+ T! S) ?% D4 v" _" rE2PROM或Flash Memory,这里选择了32KB的CMOS E2PROM芯
' y1 s4 ?8 I: i f6 c9 Y |% m+ [
5 z. x3 o& V( W8 F' y附件下载:2 H* V! t+ s8 C, T+ S
: p& Z( M+ H. G2 ?+ e7 b3 `9 [2 f7 q- ~5 U
* K* Z! ^+ J; K& Y3 [& p+ W
|
|