找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2801|回复: 0
打印 上一主题 下一主题
收起左侧

C8051F020的XRAM和非易失性储存

[复制链接]
跳转到指定楼层
楼主
ID:105323 发表于 2016-2-13 01:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
C8051F020有4Kbyte的XRAM和128byte的非易失性存储(相当于EEPROM)。首先在Keil中按下图勾上两个选项

那么要使用XRAM,只需将变量类型定义为XDATA即可,最好在定义上不要初始化,否则可能会有问题。如果需要使用非易失性储存,就需要编写驱动,也很容易,首先在操作前先关闭中断;操作完成恢复中断状态即可,与之相关的寄存器是FLSCL和PSCTL,需要注意的是写FLASH只能将1变为0,所以写字节操作前需擦除整个扇区,写字节的变量类型为XDATA,用MOVX,而读的话就是指向CODE,用MOVC,比如写指针可以定义为ucharxdata *pwrite;读的话可以定义为uchar code*pread;当然给指针赋值时应当将转化为指针变量,如pwrite=(uchar xdata *)=addr;pread=(ucharcode *)=addr;然后给指针指向的空间赋值就可以了。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表