没有合适的资源?快使用搜索试试~ 我知道了~
AT89S8253 EEPROMD读写
4星 · 超过85%的资源 需积分: 10 3 下载量 17 浏览量
2013-07-06
15:40:28
上传
评论 1
收藏 1KB TXT 举报
温馨提示
试读
3页
对于AT89S8253 eeprom的读写,和89s8252有点区别
资源推荐
资源详情
资源评论
#include <REG8253.H>
#include "absacc.h"
#include "intrins.h"
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
////////////EEPROM读写//////////////////////////////////////////////////
void write_eeprom_byte (uint adr, uchar val)//写单字节
{
EECON |= (EEMEN_ | EEMWE_);
XBYTE[adr] = val; //要写二遍才可以
XBYTE[adr] = val;
while ((EECON & RDY_) == 0)
EECON &= ~(EEMWE_ | EEMEN_);
}
uchar read_eeprom_byte (uint adr) //读单字节
{
unsigned char v;
EECON |= EEMEN_;
v = XBYTE[adr]; //要读二遍才可以
v = XBYTE[adr];
EECON &= ~EEMEN_;
return (v);
}
WriteEEPROM(uint addr, uint dataword) //写N字节
{
char i;
char *ptr = & dataword;
for (i=0; i<sizeof (dataword); i++)
{
#include "absacc.h"
#include "intrins.h"
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
////////////EEPROM读写//////////////////////////////////////////////////
void write_eeprom_byte (uint adr, uchar val)//写单字节
{
EECON |= (EEMEN_ | EEMWE_);
XBYTE[adr] = val; //要写二遍才可以
XBYTE[adr] = val;
while ((EECON & RDY_) == 0)
EECON &= ~(EEMWE_ | EEMEN_);
}
uchar read_eeprom_byte (uint adr) //读单字节
{
unsigned char v;
EECON |= EEMEN_;
v = XBYTE[adr]; //要读二遍才可以
v = XBYTE[adr];
EECON &= ~EEMEN_;
return (v);
}
WriteEEPROM(uint addr, uint dataword) //写N字节
{
char i;
char *ptr = & dataword;
for (i=0; i<sizeof (dataword); i++)
{
资源评论
- 肖恩•布莱恩特2013-09-06楼主的代码看过了,注释很详细,可是估计你没认真看AT89S8253数据手册吧,字节读写时都是要用状态的判断来确定什么时候可以读写的,不是用这种巧合的重复读写两遍来完成操作的;还有就是,AT89S8253片内EEPROM可以按页读写,速度比按字节读写快多了,有兴趣的话,希望楼主可以完成
大花帅
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功