网站大量收购闲置独家精品文档,联系QQ:2885784924

第10章STC系列单片机片内EEPROM的应用详解.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章STC系列单片机片内EEPROM的应用 10.1 EEPROM模块所属特殊功能寄存器 10.2 EEPROM读、写、擦除 第10章STC系列单片机片内EEPROM的应用 STC系列单片机内部不仅集成了用于存储程序的EEPROM,还集成了用于存储数据的EEPROM,不同的型号容量不同,从1KB-45KB不等。 EEPROM主要用于保存在掉电时不允许丢失的数据,在应用过程中所采集、运算或通过键盘输入等得到的一些修正参数。 STC系列单片机内部集成的用于存储数据的EEPROM和用于存储程序的EEPROM地址重叠,但属于不同的物理空间。用户程序指令代码是通过串口直接下载至程序存储器,而用于存储数据的EEPROM则通过用户程序进行读写操作。 EEPROM分为若干个扇区,每个扇区的大小为512B,数据存储器的擦除操作是按扇区进行的,可以擦写的次数在10万次以上。 使用时,同一次修改的数据应该存放于同一个扇区,不是同一次修改的数据最好存放在不同的扇区,不一定要存满。内部EEPROM的扇区地址如表10-1所示。 起始地址 结束地址 起始地址 结束地址 第一扇区 第二扇区 0000H 01FFH 0200H 03FFH 第三扇区 第四扇区 0400H 05FFH 0600H 07FFH …… …… 10.1 EEPROM模块所属特殊功能寄存器 对存储数据的EEPROM读、写、擦除等操作要用到6个特殊功能寄存器 特殊功能寄存器名称 地址 描述 复位初值 IAP_DATA C2H/E2H 数据寄存器 IAP_ADDRH C3H/E3H 地址寄存器高8位 IAP_ADDRL C4H/E4H 地址寄存器低8位 IAP_CMD C5H/E5H 命令寄存器 xxxxxx00B IAP_TRIG C6H/E6H 命令触发寄存器 xxxxxxxxB IAP_CONTR C7H/E7H 控制寄存器 0000x000B STC11/10Fxx、STC12C5A60S2等单片机的6个特殊功能寄存器的地址分别 为C2-C7H;而STC12C56xx、STC12C54xx、STC89/90C51xx等系列单片 机的地址为E2-E7H。 1.命令寄存器IAP_CMD MS1、MS0决定EEPROM的工作方式 MS1 MS0 操作任务的选择 0 0 待机模式,不操作 0 1 对EEPROM进行读操作 1 0 对EEPROM进行写操作 1 1 对EEPROM进行擦除操作 2.控制寄存器IAP_CONTR 对IAPEN、SWBS两位,用户只能写入1、0或0、0。 IAPEN:读、写、擦除使能位。清0后禁止对EEPROM进行读、写、擦除;置1后允许对EEPROM进行读、写、擦除。 SWBS:若对该位写入0,则是选择了用户应用程序(IAP)对EEPROM进行操作;该位若写入1,则是选择了单片机内部固化的系统监控程序(ISP)对EEPROM进行操作。 SWRST:若对该位写入1时将产生系统软件复位,复位响应时,硬件自动将该位清零。 CMD_FAIL:若该位为0,表示对EEPROM的读、写、擦除等操作是成功的;若该位为1,表示对EEPROM的读、写、擦除等操作失败,须由软件清0。 WT2、WT1、WT0这三位设置等待时间,写入EEPROM单元的数据需要55μs的内部编程时间。如果是对内部扇区擦除,则需要21ms。在此期间,不得对EEPROM的任何单元进行任何访问,否则在此之前写入的命令失效。这三位的值决定等待上述时间所需要的系统时钟周期数,具体情况如表10-3所示。 WT2 WT1 WT0 读(2个时钟) 写(55us) 扇区擦除(21ms) 对应fosc 1 1 1 2个时钟 55个时钟 21012个时钟 1MHz 1 1 0 2个时钟 100个时钟 42024个时钟 2MHz 1 0 1 2个时钟 165个时钟 63036个时钟 3MHz 1 0 0 2个时钟 330个时钟 126072个时钟 6MHz 0 1 1 2个时钟 660个时钟 252144个时钟 12MHz 0 1 0 2个时钟 1000个时钟 420240个时钟 20MHz 0 0 1 2个时钟 1320个时钟 504288个时钟 24MHz 0 0 0 2个时钟 1760个时钟 672384个时钟 30MHz 10.2 EEPROM读、写、擦除 EEPROM进行读写时,必须按一个字节一个字节地操作。 通过以下程序了解对EEPROM的读、写、擦除的过程。 (1)从STC12C5A60S2单片机片内EEPROM中某单元读取数据(假设系统时钟频率为20MHz) MOV IAP_ADDRH,#BYTE_ADDRH ;送单元地址的高8位

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档