|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
6 [$ e6 u0 f3 E7 q摘要:介绍r一种通过串行通讯手段擦除并改写MCS.51/96单片机程序存储器的电路以及程序设计要点。( g1 a$ T: c9 F& ~4 K: ?
0 G0 [8 Z- o+ x$ S) J; ~1 引言
( I7 U4 [' e1 m由于应用场台的不同,经常需要对单片机本身的3 l+ Q/ v; Q, X5 W) f0 W- M
资源进行扩充。在单片机应用系统的没计中,程序存储
) x# o5 _4 I( {6 _7 a, E器的扩展是最基本的扩展。当被襁5控的对象比较复杂, q( h5 \5 L- T' M' S
或系统功能较多时,就需要编写大一些的程序,仅仅利3 [! X' @# O; p F! D6 w6 b& J) K
用单片机内部的程序存储器往往不够。对于Mcs_51/
' d: o" Q0 m% M {/ G0 k96系列单片机,8031片内没有程序存储器,其它型号. ~8 z f+ b' c
仅有4KB~8KB的空间。该系列单片机扩展程序存储 ~' C6 h4 a% ^
器是通过i五设定的。对于8051,当巨五=o,无论单片机0 g' l& `% A% G: T4 o; g& ^/ f( T
内有无程序存储器,都只访问外部程序存储器,此时程0 q. e; w: f1 Y* [
序存储器都由外部扩展,其地址是从0000H~FFFFH
: r. W, l. `$ y的64K宅间;当EA=1时,片内程序存储器地址为% r2 n$ a. U1 B, N" b1 G- g: U
0000H。0FFFH的4K宅间,而外部程序存储器只能从
1 K& E" `3 [; `$ x# B1000H开始设置,EA=1通常用于不作外部程序扩展
4 r C( a9 ?5 `的情形,只用8051/8751/895l的片内4KB ROM/E,* f6 j) n: j3 m8 t" D( H
PROM/E2PROM就够了itI。' S5 k( y/ Z- v8 `4 T" j
事实f.,只要通过对EA信号的灵活运用,并选用2 s4 Z4 B5 c4 h5 q. ~
合适的程序存储器芯片,完全可以使单片机具备程序串行在线下
$ s6 ^# P9 M6 L# ^5 b0 B载撩除重写的功能,也就是说不必将Ic拆下拿到万用编程器上烧
) ]- z5 j- C) r2 X Q) p/ q6 Y录,而可以直接在电路板上进行程序修改、烧录等操作。这样可以! F( E' A" \; w% b! B4 F3 O# v
方便产品升级.尤其是当硬件设计确定,而软件需要在应用中不断- p# Z1 N1 Q8 Y4 t# \- h
完善的场合。除此之外,可以完全应用计算机仿真程序进行程序+ M- J$ W1 z8 t
的设计和编译.再利用申行下载功能写入程序存储器,从而减少对3 w: c! A8 F# \6 ]: u
昂贵的开发系统的依赖,这是非常实用的功能。- [$ t, M! p R6 D( M3 \
2电路设计
) r0 M0 X! ?7 M b: s: `我们知道,外部程序存储器和外部数据存储器有地址重复的
; `0 J# @0 Q% E' E* `/ H两个不同的存储空间,它们的选通信号分别是RD、wR、PSEN。在. }5 I) P# E# {
取指令周期PsEN有效时,RD、WR始终为高电平,数据存储器不
$ V8 L2 M5 e$ `4 c能被选通而在数据存储器的访问时期内RD、WR有效,PSEN始终8 d8 T& K7 P. O
; I/ z$ A9 I! @6 e/ _. E: d$ n- W
为高电平。不会选通外部程序存储器。: G/ n1 K3 w+ p3 ?7 S
通过串行口实现更新程序的设计思路是将系统划分为两种工; L3 r; t8 T2 d4 H4 n4 j- ~
作状态:当串行下载时,使丽=1,用片内的程序存储器完成单片3 o- H2 w! y+ s% n
机的串行通讯功能,利用外部程序存储器和外部数据存储器有地
3 }0 V# _" m2 H+ t9 Q" a. \6 h址重复的两个不同的存储空间的特性,挂起所有外部数据存储器,5 x1 i( j# P O0 Q
同时将片外程序存储器作为片外数据存储器,从而可以改写其中+ W2 n6 F; L7 B9 F
的程序;当单片机正常工作时,恢复以上改变,并使EX:0,将片内
+ r" Z9 T! Q& e' A9 n4 R程序屏蔽。
6 m* [1 l; J4 l7 J7 p+ C8 x具体电路如图1所示。
3 k7 f6 Q) b2 f( F( Y- p8 {. g! @# d: s电路采用Rs一232串行通讯方式,MAX232用来将RS232电平) O E# P9 b% F- ~( x3 z
转换为丌L电平。系统选用6264为片外数据存储器(RAM)。为了* T9 J& G |+ \9 ^7 ]
实现在线改写.片外程序存储器必须选择电可擦除的芯片,如
0 m+ V/ v8 Y3 Y% zE2PROM或Flash Memory,这里选择了32KB的CMOS E2PROM芯' Y) `& N9 E, G4 T1 d3 E
/ m) \2 i6 e) {9 M- L3 N7 d* w6 w ~, r+ P( L3 a
附件下载:" v1 R9 W9 y. q/ c- L
8 k2 ?1 U6 H% t$ t* {' q" K! w- c+ ~/ Z
' @7 f4 m; z! T' L( F7 O1 t
|
|