资料介绍
电子产品的更新换代越来越快,怎样缩短设计时间,快速推出产品,降低设计成本和提高系统整体性能是每个设计人员共同关心的问题。一种叫做在应用可编程(In Application Programming-IAP)的设计方案应运而生,它可以在现场(当原存在的代码正在运行时)重新写入运行代码。这种方案的优点是可以降低开发代码的时间、可在装配线上测试和改装产品、可在现场修正代码错误、可以容易地添加产品新功能甚至可以远程进行系统的升级。目前,实现在应用可编程一般有两种方法:一种方法是使用与单片机配套的专用芯片;另一种是采用新型的支持在应用可编程的单片机。本文介绍一种基于AT89C51单片机的在应用可编程的设计方案,它只占用AT89C51的UART,只需少数的几块芯片就能实现上述功能。特别适用于需要用UART进行通讯的测控网络的设计。
1 设计思路
基于8051核的单片机提供两个独立的地址空间,一个用于程序存储器,一个用于数据存储器。这种特殊的地址结构在任何情况下都不会将数据写入程序空间,保护程序代码不会被数据覆盖,但这种特性使单片机在应用可编程不能实现。如果采用一种方法“欺骗”系统使之误认为程序存储器即为数据存储器,则可向程序存储器中写数据了。“欺骗”系统的方法是在IAP期间暂时将程序存储器“重新分类”为数据空间而不是程序空间,然后在IAP完成后再将它重新分类为程序空间。这种方案需要一款存储器既可以当作数据存储器又能作为程序存储器。现在市面上的多种具有掉电保护功能的静态随机存储器既具有数据存储器的高读写速度又具有程序存储器的非挥发性。如DALLAS公司的DS1230Y-70是与通用RAM27256管脚兼容的,内嵌锂电池保护的非易失性存储器,读写速度为70ns,掉电状态下可以保存数据10年。
按照上述思路设计的具有在应用可编程能力的单片机系统结构框图如图1所示。该系统有以下几个特点:(1)有三块RAM,其中RAM3是数据存储器,RAMA、RAMB既是数据存储器又是程序存储器,RAMA和RAMB采用DS1230Y-70静态RAM。RAMA和RAMB具有相同的地址,当其中一块作为程序存储器时,另一块是数据存储器。AT89C51的数据空间与地址空间分开的特性保证了这两块存储器不会冲突。(2)增加了选择电路,用来将程序存储器和数据存储器“重新分类”,通过DN_CON控制信号线来选择是将WR信号还是将PSEN信号送入相应的静态RAM。(3)增加了串行EEPROM以保存重要的信息,如模块号及下载标志等。
AT89C51具有4K的片内Flash 存储器,可以存放引导程序。系统初始化、串口中断等程序作为引导程序,固化在AT89C51的Flash 存储器中,而将主程序放在32KB的静态RAM程序存储器中。因此,该系统程序存储器的地址空间从0000h~03FFh和8000H~0FFFFH。而数据存储器地址从0000H~0FFFFH,如图2所示。引导程序中将串口中断设定为最高优先级,当AT89C51接收到程序代码下载的命令后,将向8000H~0FFFH的数据空间依次写入程序代码。当程序代码写结束时,改变DN_CON控制信号,使原来的数据存储器变为程序存储器,而原来的程序存储器变为数据存储器。在串口中断程序结束时,将堆栈中的串行中断返回指针指向8000H,并退出中断,使程序跳至8000H运行下载的程序代码。图2中串行EEPROM采用基于I2C总线的24C01芯片,用以存放一些关键的数据信息,如测控模块的站号、下载标志等。
1 设计思路
基于8051核的单片机提供两个独立的地址空间,一个用于程序存储器,一个用于数据存储器。这种特殊的地址结构在任何情况下都不会将数据写入程序空间,保护程序代码不会被数据覆盖,但这种特性使单片机在应用可编程不能实现。如果采用一种方法“欺骗”系统使之误认为程序存储器即为数据存储器,则可向程序存储器中写数据了。“欺骗”系统的方法是在IAP期间暂时将程序存储器“重新分类”为数据空间而不是程序空间,然后在IAP完成后再将它重新分类为程序空间。这种方案需要一款存储器既可以当作数据存储器又能作为程序存储器。现在市面上的多种具有掉电保护功能的静态随机存储器既具有数据存储器的高读写速度又具有程序存储器的非挥发性。如DALLAS公司的DS1230Y-70是与通用RAM27256管脚兼容的,内嵌锂电池保护的非易失性存储器,读写速度为70ns,掉电状态下可以保存数据10年。
按照上述思路设计的具有在应用可编程能力的单片机系统结构框图如图1所示。该系统有以下几个特点:(1)有三块RAM,其中RAM3是数据存储器,RAMA、RAMB既是数据存储器又是程序存储器,RAMA和RAMB采用DS1230Y-70静态RAM。RAMA和RAMB具有相同的地址,当其中一块作为程序存储器时,另一块是数据存储器。AT89C51的数据空间与地址空间分开的特性保证了这两块存储器不会冲突。(2)增加了选择电路,用来将程序存储器和数据存储器“重新分类”,通过DN_CON控制信号线来选择是将WR信号还是将PSEN信号送入相应的静态RAM。(3)增加了串行EEPROM以保存重要的信息,如模块号及下载标志等。
AT89C51具有4K的片内Flash 存储器,可以存放引导程序。系统初始化、串口中断等程序作为引导程序,固化在AT89C51的Flash 存储器中,而将主程序放在32KB的静态RAM程序存储器中。因此,该系统程序存储器的地址空间从0000h~03FFh和8000H~0FFFFH。而数据存储器地址从0000H~0FFFFH,如图2所示。引导程序中将串口中断设定为最高优先级,当AT89C51接收到程序代码下载的命令后,将向8000H~0FFFH的数据空间依次写入程序代码。当程序代码写结束时,改变DN_CON控制信号,使原来的数据存储器变为程序存储器,而原来的程序存储器变为数据存储器。在串口中断程序结束时,将堆栈中的串行中断返回指针指向8000H,并退出中断,使程序跳至8000H运行下载的程序代码。图2中串行EEPROM采用基于I2C总线的24C01芯片,用以存放一些关键的数据信息,如测控模块的站号、下载标志等。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 基于AT89C51单片机的点击转速测量
- 基于AT89C51单片机的语音播报器的设计方案
- 基于AT89C51单片机与PC机串口通讯仿真及代码 4次下载
- AT89C51单片机
- AT89C51单片机性能介绍
- 基于at89c51单片机的智能型稳压电源的设计
- 基于AT89C51单片机的电子数字时钟电路的设计制作开题报告讲解
- 如何使用AT89C51单片机设计与实现对水塔水位控制详细资料说明 21次下载
- AT89C51中文资料 205次下载
- 基于AT89C51单片机的电子表设计 57次下载
- AT89C51单片机编程器制作 39次下载
- 基于AT89C51单片机的万年历设计与实现 844次下载
- AT89C51单片机在超发电计量仪中的应用
- 基于AT89C51单片机的自动纠偏仪的设计
- AT89C51 单片机高速串行输出口设计
- 基于51单片机的电子钟闹钟温度显示设计 1675次阅读
- 基于51单片机的锅炉水位温度压力检测系统仿真设计 1208次阅读
- 基于STC89C52单片机的智能交通灯设计 2814次阅读
- 基于ISD4004和AT89C51单片机实现火车语音播报系统的设计 3960次阅读
- 使用AT89C51实现的微型可编程控制器的讲解 2601次阅读
- 基于AT89C51单片机的LED汉字点阵滚动显示屏设计 7348次阅读
- 基于AT89C51单片机的温度检测系统硬件电路设计 1.2w次阅读
- AT89C51单片机实现全自动洗衣机功能的设计方案 9239次阅读
- AT89C51单片机对智能语音拨号报警系统的设计 2086次阅读
- 基于AT89C51单片机直流电机PWM调速程序分享 1.6w次阅读
- 基于AT89C51单片机下的引脚说明及引脚图 14.3w次阅读
- AT89C51单片机和8051单片机有什么区别 4.7w次阅读
- 一文教你快速全面掌握AT89C51单片机(含实际开发案例) 3.3w次阅读
- AT89C51与AT89S51有何不同_AT89C51与AT89S51的区别 3.7w次阅读
- 基于AT89C51的红外遥控密码锁系统的设计方案 3447次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多