stc单片机内部eeprom的应用

stc单片机内部eeprom的应用

ID:3914833

大小:434.41 KB

页数:12页

时间:2017-11-25

stc单片机内部eeprom的应用_第1页
stc单片机内部eeprom的应用_第2页
stc单片机内部eeprom的应用_第3页
stc单片机内部eeprom的应用_第4页
stc单片机内部eeprom的应用_第5页
资源描述:

《stc单片机内部eeprom的应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、STC单片机内部EEPROM的应用可以使单片机可以将数据写入到程序存储器中,使得数据如同烧入的程序一样,掉电不丢失。当然写入数据的区域与程序存储区要分开来,以使程序不会遭到破坏。上面提到了IAP,它的意思是“在应用编程”,即在程序运行时程序存储器可由程序自身进行擦写。正是是因为有了IAP,从而可以使单片机可以将数据写入到程序存储器中,使得数据如同烧入的程序一样,掉电不丢失。当然写入数据的区域与程序存储区要分开来,以使程序不会遭到破坏。要使用IAP功能,与以下几个特殊功能寄存器相关:ISP_DATA

2、:ISP/IAP操作时的数据寄存器。ISP/IAP从Flash读出的数据放在此处,向Flash写的数据也需放在此处ISP_ADDRH:ISP/IAP操作时的地址寄存器高八位。ISP_ADDRL:ISP/IAP操作时的地址寄存器低八位。ISP_CMD:ISP/IAP操作时的命令模式寄存器,须命令触发寄存器触发方可生效。ISP_TRIG:ISP/IAP操作时的命令触发寄存器。当ISPEN(ISP_CONTR.7)=1时,对ISP_TRIG先写入0x46,再写入0xb9,ISP/IAP命令才会生效。单片

3、机芯片型号起始地址内置EEPROM容量(每扇区512字节)STC89C51RC,STC89LE51RC0x2000共八个扇区STC89C52RC,STC89LE52RC0x2000共八个扇区STC89C54RD+,STC89LE54RD+0x8000共五十八个扇区STC89C55RD+,STC89LE55RD+0x8000共五十八个扇区STC89C58RD+,STC89LE58RD+0x8000共五十八个扇区寄存器标识地址名称76543210初始值ISP_DATA0xE2ISP/IAP闪存数据寄存

4、器11111111ISP_ADDRH0xE3ISP/IAP闪存地址高位00000000ISP_ADDRL0xE4ISP/IAP闪存地址低位00000000ISP_CMD0xE5ISP/IAP闪存命令寄存器MS2MS1MS0xxxxx000ISP_TRIG0xE6ISP/IAP闪存命令触发xxxxxxxxISP_CONTR0xE7ISP/IAP控制寄存器ISPENSWBSSWRSTWT2WT1WT000xx000B7B6B5B4B3B2B1B0命令/操作模式选择保留命令选择-----000待机模式,

5、无ISP/IAP操作-----001对用户的应用程序Flash区及数据Flash区字节读-----010对用户的应用程序Flash区及数据Flash区字节编程-----011对用户的应用程序Flash区及数据Flash区扇区擦除ISP_CONTR:ISP/IAP控制寄存器。ISPEN:ISP/IAP功能允许位。0:禁止ISP/IAP编程改变Flash,1:允许编程改变FlashSWBS:软件选择从用户主程序区启动(0),还是从ISP程序区启动(1)。SWRST:0:不操作,1:产生软件系统复位,硬

6、件自动清零。ISP_CONTR中的SWBS与SWRST这两个功能位,可以实现单片机的软件启动,并启动到ISP区或用户程序区,这在“STC单片机自动下载”一节,亦有所应用。如:ISP_CONTR=0x60?则可以实现从用户应用程序区软件复位到ISP程序区开始运行程序。ISP_CONTR=0x20?则可以实现从ISP程序区软件复位到用户应用程序区开始运行程序。用IAP向Flash中读写数据,是需要一定的读写时间的,读写数据命令发出后,要等待一段时间才可以读写成功。这个等待时间就是由WT2、WT1、WT

7、0与晶体振荡器频率决定的。(以上的建议时钟是(WT2、WT1、WT0)取不同的值时的标称时钟,用户系统中的时钟不要过高,否则可能使操作不稳定。)stc单片机EEPROM读写(一)EEPROM操作函数:#defineRdCommand0x01#definePrgCommand0x02#defineEraseCommand0x03#defineError1#defineOk0#defineWaitTime0x01#definePerSector512unsignedcharxdataTtotal[51

8、2]?/*打开ISP,IAP功能*/voidISP_IAP_enable(void)D7D6D5D4D3D2D1D0ISPENSWBSSWRST--WT2WT1WT0设置等待时间CPU等待时间(机器周期)WT2WT1WT0读取编程扇区擦除建议的系统时钟01163054715MHz01011601094210MHz001221202188520MHz000432404376940MHz{EA=0?/*关中断*/ISP_CONTR

9、=0x18?/*0001,1000*/ISP_CONT

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。