单片机STC89C52RC内部EEPROM

单片机STC89C52RC内部EEPROM

ID:41956139

大小:108.00 KB

页数:4页

时间:2019-09-04

单片机STC89C52RC内部EEPROM_第1页
单片机STC89C52RC内部EEPROM_第2页
单片机STC89C52RC内部EEPROM_第3页
单片机STC89C52RC内部EEPROM_第4页
资源描述:

《单片机STC89C52RC内部EEPROM》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、单片机STC89C52RC内部EEPROM2011-09-0612:15单片机运行时的数据都存在于RAM(随机存储器)中,在掉电后RAM中的数据是无法保留的,那么怎样使数据在掉电后不丢失呢?这就需要使用EEPROM或FLASHROM等存储器来实现。在传统的单片机系统屮,一般是在片外扩展存储器,单片机与存储器之间通过IIC或SPI等接口來进行数据通信这样不光会增加开发成木,同时在程序开发上也要花更多的心思。在STC单片机中内晝了EEPROM(其实是采用ISP/IAP技术读写内部FLASH来实现EEPROM),这样就节省了片外资源,使用起來也更加方便。下而就详细介绍S

2、TC单片机内置EEPROM及英使用方法STC各型号单片机内卫的EEPROM的容晁各有不同.12-2-1产品编号EEPROMSTC89C51RC2KSTC89C52RC2K3

3、

4、STC89C53RC1STC89C54RD+L€KSTC89C55RD+L€KSTC89C58RD+L6KSTC各型号单片机内置的EEPROM的容量最小冇2K,最大冇16K,基本上很好地满足项目的需要,更方便之处就是节省了周边的EEPROM器件,达到节省成本的目的,而且内部EEPROM的速度比外部的EEPROM的速度快很多。STC各型号单片机内置的EEPROM是以512字节为一个扇区,EEP

5、ROM的起始地址=FALSH容量值+1,那么STC89C52RC的起始地址为0x2000,第一扇区的起始地址和结束地址0x200O~0x21FF,第二扇区的起始地址和结束地址0x220()~0x23FF,其他扇区如此类推。深入重点:传统的EEPROM是电可擦可编程只读存储一种掉电后数据不丢失的存储芯片。STC89C52RC的EEPROM是通过ISP/IAP技术读写内部FLASH来实现EEPROM。STC89C52RC的EEPROM起始地址为()x2000,以512字节为一个扇区,EERPOM的大小为2K字节STC89C52RC与EEPORM实现的寄存器有6个,分另

6、ijMISPDATA、ISP_ADDRH、ISP_ADDRLISP_TRIG>ISP_CMD>ISP_CONTRoSTC单片机内部有几个专门的特殊功能寄存器负责管理【SP/IAP功能的,见表1361c表13.6.1ISP/IAP相关寄存器列表名称地址功陡描述D7D6D5D4D3D2D1DO复位值1SPDATAE2HFlash&据寄存器11111111ISP.ADDRHE3HFlash字节地址寄存器00(X)0000ISPADDRLE4HFlashIS字节地址寄存器00000000ISP.CMDE5HFlash命令模式寄存器■■■■—MS2MSIMSOxxxxx(X

7、K)ISPTR1GE6HPlash命令触发寄存器XXXXXXXXISPCONTRE7HISP/IAP控制寄存器ISPENSWBSSWRSTa*WT2WT1WTOOOOxxOOO1.1SP_DATA寄存器ISP.DATA寄存器:ISP/IAP操作时的数据寄存器。1SP/IAP从Flash的数据在此处,向Flash写的数据也须放在此处。示例1:读单个字节UINT8EEPROMRead(UINT16addr)returnISP_DATA;}示例2:写单个字节voidEEPROMWrite(UINT8byte)ISP_DATA=byte;}2.ISP_ADDRH>ISP_

8、ADDRL寄存器1SP.ADDRH:ISP/IAP操作时的地址寄存器高八位ISP_ADDRL:ISP/IAP操作时的地址寄存器低八位示例1:设置地址voidEEPROMSctAddrcss(UINT16Addr)ISP_ADDRH=(UINT8)(Addr>>8);ISP_ADDRL=(UINT8)Addr;3.ISP_CMD寄存器ISP_CMD:ISP/IAP操作时的命令模式寄存器,需要通过ISP_TRIG命令触发寄存器才能生效。B7B6B5B4B3B2B1B0模式选择保留金令—--——000无TSP操作—————001字节读—--——010字节写—--——01

9、1扇区擦除4.ISP_TRIG寄存器ISP/IAP命令耍生效即ISP_CMD设置的命令耍生效,必须通过ISP_TRIG命令触发寄存器进行触发。触发过程很特别,只需要连续二次对ISP_TRIG寄存器赋值就可以的了,对ISP_TRIG寄存器先写入0x46,再写入0xB9就完成命令触发的过程。示例1:命令触发voidEEPROMCmdTrig(void)ISP_TRIG=0x46;ISP_TRIG=0xB9:5JSP_CONTR寄存器ISP_CONTR:ISP/IAP控制寄存器B7B6B5B4B3B2BlBOISPENSWBSSWRST——WT2WTlWTOISPEN:

10、ISP/I

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

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

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