SST89C54/58系列单片机的IAP应用技术

2007-03-09 19:03:27来源: 互联网
摘要:SST89C54/58j Silicon Storage Technology公司推出的带有20KB/36KB Flash的单片机。芯片内部集成了可以对Flash进行操作的功能模块。通过对Flash的分区实现在应用中可编程的功能。本文介绍它们的IAP功能,并给出IAP功能的一些子程序。 关键词:SST89C54/58 IAP Flash存储器 SST89C54/58单片机是MCS-51系列单片机的派生产品。它们在指令系统、硬件结构和片内资源上与标准8052单片机完全兼容,只是加大了内部程序存储器Flash的容量。 SST89C54/58的特色: *256%26;#215;8位内部RAM; *3个16位定时/计数器(T0、T1、T2); *1个全双工、可编程串行通信口(UART); *6个中断源,2 个优先级; *4个8位I/O口(32位I/O引脚); *TTL和CMOS电平全兼容; *5(1%26;#177;0.1)V供电时,工作频率为0~33MHz; *3(1%26;#177;0.1)V供电时,工作频率为0~12MHz; *内部看门狗定时器(WDT); *支持3种省电模式:空闲、下电和等待,并且支持外部低电平中断退出下电模式。 1 SST89C54/58的存储器结构 1.1 程序存储器 89C54与89C58之间仅有存储器容量大小的不同;前者20KB,后者为36KB。程序存储器分为block0和block1两块:block0前者为16KB,后者为32KB,都分成了128字节大小的区段;block1均为4KB,分为64字节大小的区段。它们的程序存储器结构如图1所示。 block0和block1的地址不是连续的。Block1从F000H开始。SST89C54/58允许block0映射到block1,上电后程序既可以从block0(0000H)开始执行,也可以从block1(F000H)开始执行。程序从哪个块开始执行由单片机的Re-Map[1:0]位决定。在这2位都为1的时候程序从0000开始执行,否则,从F000H开始执行。Re-Map[1:0]位是非易失性的,可以用编程器对其编程。 1.2 数据存储器 SST89C54/58有256字节的内部数据存储器,其中低128字节RAM(00H~FFH)与8052完全相同;在高128字节中增加了一些针对IAP功能的特殊功能寄存器(SFR)。新增加的SFR的定义及设置如表1所列。 表1 新增特殊功能寄存器 标识符 名 称 地 址 初始化值 SFST Flash状态 B6H xxx00000b SFCF Flash定义 B1H 000000xxb SFCM Flash命令 B2H 00h SFDT Flash数据 B5H 00h SFAL Flash地址低字节 B3H 00h SFAL Flash地址高字节 B4H 00h 2 SST89C54/58在应用中可编程(IAP) IAP是指在用户的应用程序中对Flash块、Flash寄存器、加密位等实现擦降和编程等操作。SST89C54/58通过对SFCF.6的置位和清0而启动和介绍IAP功能。程序在block0时可以启动IAP对block1进行编程,也可以在block1对block0进行编程,但是每均都不能对自己进行编程。SST89C54/58r IAP功能主要有以下几个命令(以block0对block1进行编程为例): (1)片擦除 命令格式如下: MOV SFCF,#0C0H ;启动IAP MOV SFDT,#55H MOV SFCM,#01H ;写入命令字 ;查询SFST.2,等待芯片擦除结束, ;用MOVC校验是否每个单元均为FFH。 (2)块擦除 命令格式如下: MOV SFCF,#0C0H ;启动IAP MOV SFAH,#0F0H/#00H ;擦队block1/block0 MOV SFDT,#55H MOV SFCM,#0DH ;写放命令字 ;查询SFST.2,等待芯片擦除结束, ;用MOVC校验是否每个单元均为FFH。 (3)区段擦除 命令格式如下: MOV SFCF,#0C0H ;启动IAP MOV SFAH,区段地址高字节 MOV SFAL,区段地址低字节 MOV SFCM,#0BH ;写入命令字 ;查询SFST.2,等待芯片擦除结束, ;用MOVC校验是否每个单元均为FFH。 (4)字节编程 MOV SFCF,#0C0H ;启动IAP MOV SFAH,要编程地址高字节 MOV SFAL,要编程地址低字节 MOV SFDT,要编程的数据 MOV SFCM,#0EH ;写放命令字 ;查询SFST.2,等待芯片擦除结束, ;校验谝单元写入数据是否正确。 (5)字节校验 MOV SFCF,#0C0H MOV SFAH,要校验数据的地址高字节 MOV SFAH,要校验数据的地址低字节 MOV SFCM,#06H NOP MOV A,SFDT ;A保存规定单元地址读出的内容 另外,通过字节编程可以对Re-Map[1:0]位为3个保密进行编程,只是在特定的地址写入行定的内容。 3 SST89C54/58 IAP功能的用途 通过IAP功能可以不需编程器就可做单片机实验。这对初次学习单片机的人们,尤其对学校单片机的教学带来极大的方便,是一种最低成本的单片机开手段。 可以对产品的软件进行升级。不需外加监控芯片,只是通过串行口便可将PC机内的产品升级软件下载到产品中去,而实现产品软件升级换代。在自己的实验室便可通过Modem对远方的产品进行软件升级。这将是以后电子产品的必然趋势。 还可以在线对产品参数进行修改。可实现在线对现场历史数据的存储、曲线参数校正等功能。适用于一些需经常改变数据的应用产品(如利息计、计费器、密码锁及需要升级的产品,如微型打印机等)及需远距离改变设备参数的产品(遥控报警器遥控家用电器等遥控设备)。
编辑: 引用地址:http://www.eeworld.com.cn/designarticles/mcu/200703/12376.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved