计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

基于P89C51RD2 IAP功能的数据存取与软件升级(2)

2016-07-26 01:01
导读:由于整个软件经汇编后大约20KB,因此,将地址为0000H~7FFFH的32KB内存空间作为程序空间,则可以仪器的升级预留足够的空间;而将8000H~0FFFFH的32KB闪存空间


由于整个软件经汇编后大约20KB,因此,将地址为0000H~7FFFH的32KB内存空间作为程序空间,则可以仪器的升级预留足够的空间;而将8000H~0FFFFH的32KB闪存空间留作数据存储空间。由图1可以看出,从8000H~0FFFFH的32KB闪存空间由BLOCK3和BLOCK4两块组成,每一块为16KB,足可以存储10天的数据量。在实际操作中,将BLOCK3和BLOCK4轮流使用,当10天的数据量存满其中一块时,通过程序跳转到另一块中,在使用前先将该块擦除。这样BLOCK3和BLOCK4每过20天便分别被擦除和重写1次。对有关地址定义如下:

ADDR_L EQU 30H ;被编程数据的低8位地址

ADDR_L EQU 31H ;被编程数据的高8位地址

DATA_TEMP EQU 32H ;被编程数据

ADDR_L,ADDR_H和DATA_TEMP的具体地址可以根据用户程序的实际情况进行定义;AUXR1,PGM_MTP的定义同前。有关子程序为:

擦除BL0CK3

ERSBLOCK3: ;BLOCK3擦除

MOV AUXR1,#20H ;AUXR1的位ENBOOT=1,寻址到固件

MOV R0,#11 ;晶振为11.0592MHz,取11

MOV R1,#01H ;R1=01H,块擦除

MOV DPTR,#8000H ;擦除BLOCK3

LCALL PGM_MTP ;调用,无返回参数

RET

擦除BL0CK4

EPSBLOCK4: ;BLOCK4擦除

MOV AUXR1,#20 ;AUXR1的位ENBOOT=1,寻址到固件

MOV R0,#11 ;晶振为11.0592MHz,取11

MOV R1,#01H ;RI=01H,块擦除

MOV DPTR,#0C000H ;擦除BLO

上一篇:图书馆参考咨询与参考信息资源的利用 下一篇:没有了