您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 单片机STC89C52RC-内部EEPROM
单片机STC89C52RC内部EEPROM2011-09-0612:15单片机运行时的数据都存在于RAM(随机存储器)中,在掉电后RAM中的数据是无法保留的,那么怎样使数据在掉电后不丢失呢?这就需要使用EEPROM或FLASHROM等存储器来实现。在传统的单片机系统中,一般是在片外扩展存储器,单片机与存储器之间通过IIC或SPI等接口来进行数据通信。这样不光会增加开发成本,同时在程序开发上也要花更多的心思。在STC单片机中内置了EEPROM(其实是采用ISP/IAP技术读写内部FLASH来实现EEPROM),这样就节省了片外资源,使用起来也更加方便。下面就详细介绍STC单片机内置EEPROM及其使用方法STC各型号单片机内置的EEPROM的容量最小有2K,最大有16K,基本上很好地满足项目的需要,更方便之处就是节省了周边的EEPROM器件,达到节省成本的目的,而且内部EEPROM的速度比外部的EEPROM的速度快很多。STC各型号单片机内置的EEPROM是以512字节为一个扇区,EEPROM的起始地址=FALSH容量值+1,那么STC89C52RC的起始地址为0x2000,第一扇区的起始地址和结束地址0x2000~0x21FF,第二扇区的起始地址和结束地址0x2200~0x23FF,其他扇区如此类推。深入重点:�传统的EEPROM是电可擦可编程只读存储一种掉电后数据不丢失的存储芯片。�STC89C52RC的EEPROM是通过ISP/IAP技术读写内部FLASH来实现EEPROM。�STC89C52RC的EEPROM起始地址为0x2000,以512字节为一个扇区,EERPOM的大小为2K字节。STC89C52RC与EEPORM实现的寄存器有6个,分别是ISP_DATA、ISP_ADDRH、ISP_ADDRLISP_TRIG、ISP_CMD、ISP_CONTR。1.ISP_DATA寄存器ISP_DATA寄存器:ISP/IAP操作时的数据寄存器。ISP/IAP从Flash的数据在此处,向Flash写的数据也须放在此处。示例1:读单个字节UINT8EEPROMRead(UINT16addr){……returnISP_DATA;}示例2:写单个字节voidEEPROMWrite(UINT8byte){……ISP_DATA=byte;}2.ISP_ADDRH、ISP_ADDRL寄存器ISP_ADDRH:ISP/IAP操作时的地址寄存器高八位ISP_ADDRL:ISP/IAP操作时的地址寄存器低八位示例1:设置地址voidEEPROMSetAddress(UINT16Addr){……ISP_ADDRH=(UINT8)(Addr8);ISP_ADDRL=(UINT8)Addr;}3.ISP_CMD寄存器ISP_CMD:ISP/IAP操作时的命令模式寄存器,需要通过ISP_TRIG命令触发寄存器才能生效。4.ISP_TRIG寄存器ISP/IAP命令要生效即ISP_CMD设置的命令要生效,必须通过ISP_TRIG命令触发寄存器进行触发。触发过程很特别,只需要连续二次对ISP_TRIG寄存器赋值就可以的了,对ISP_TRIG寄存器先写入0x46,再写入0xB9就完成命令触发的过程。示例1:命令触发voidEEPROMCmdTrig(void){……ISP_TRIG=0x46;ISP_TRIG=0xB9;}5.ISP_CONTR寄存器ISP_CONTR:ISP/IAP控制寄存器ISPEN:ISP/IAP功能允许位。0:禁止ISP/IAP编程改变Flash。SWBS:0:软件选择从用户主程序区启动1:ISP程序区启动SWRST:0:不操作1:产生软件系统复位,硬件自动清零WT2、WT1、WT0:设置等待时间假如STC89C52RC的工作频率为12MHz,那么机器周期为1us,参照表12-,EEPROM的读单个字节、写单个字节、扇区擦除的所需要的时间大致如下:读单字节:11*1us=11us写单字节:60*1us=60us扇区擦除:10942*1us=10.942ms无论单片机运行在什么工作频率下,EEPROM的读、写、擦除操作的所需要的时间分别约为10us、60us、10ms。深入重点:�STC89C52RC与EEPORM实现的寄存器有6个,分别是ISP_DATA、ISP_ADDRH、ISP_ADDRLISP_TRIG、ISP_CMD、ISP_CONTR。�EEPROM的命令触发必须对ISP_TRIG寄存器先写入0x46,再写入0xB9。�无论单片机运行在什么工作频率下,EEPROM的读、写、擦除操作的所需要的时间分别约为10us、60us、10ms,因而要对ISP_CONTR设置好等待时间,否则数据容易出现问题。
本文标题:单片机STC89C52RC-内部EEPROM
链接地址:https://www.777doc.com/doc-2130407 .html