1回答

0收藏

华邦(W79E2051/W79E825)单片机系列NVM(仿EEPROM) 库函数 (转自老许笔记)

#学习技巧 #学习技巧 5515 人阅读 | 1 人回复 | 2010-04-30

?
推荐

<div style="word-break: break-all" align="left">???<span style="font-size: 9pt">华邦公司推出的?LPC(W79E2051/W79E825)单片机系列,内含小扇区的?NVM(仿EEPROM),在使用上比一般产品方便(指用?FLASH仿?EEPROM),因产品需要,编写了?NVM(仿EEPROM)?库函数,现上传供网友分享。(许工是我们MCU行业,大师级人物,从许工身上可以看到我们技术人员的,务实求是、专研精神。如果大家经常逛BBS,应该经常会看到许工的身影,他经常为我们这些新手答疑解惑,组织翻译、样板赠送活动,他的那种无私贡献,乐于助人的精神让我非常的敬佩)
//------------------------------------------------------//

#ifndef?__W79ExxxNVM_H__??
#define?__W79ExxxNVM_H__

#i nclude?

#if?defined(W79E825)???????//?W79E825
#??include?"W79E825.h"
#??define??NVM_PLEN???64???//?LEN??=?256
#??define??NVM_RL??????6???//?PAGE?=?4

#elif?defined(W79E4051)????//?W79E4051
#??include?"W79E4051.h"
#??define??NVM_PLEN???16???//?LEN??=?128
#??define??NVM_RL??????4???//?PAGE?=?8

#else
#??error???"请选择带NVM芯片型号"
#endif

#pragma?SAVE
#pragma?REGPARMS
//?????char?NVM_RD_CHAR(unsigned?char?ADDR)
#define?????NVM_RD_CHAR(m)??CBYTE[m+0xfc00]???????????????????//?字节读出
extern?int??NVM_RD_INT(unsigned?char?ADDR);???????????????????//?字读出
extern?long?NVM_RD_LONG(unsigned?char?ADDR);??????????????????//?长字读出
extern?void?NVM_RD_PAGE(unsigned?char?PAGE,unsigned?char?*p);?//?页读出
extern?void?NVM_CLR(unsigned?char?PAGE);??????????????????????//?页擦除
extern?void?NVM_WR_CHAR(unsigned?char?ADDR,unsigned?char?CA);?//?字节写入
extern?void?NVM_WR_INT(unsigned?char?ADDR,unsigned?int?IA);???//?字写入
extern?void?NVM_WR_LONG(unsigned?char?ADDR,unsigned?long?LA);?//?长字写入
extern?void?NVM_WR_PAGE(unsigned?char?PAGE,unsigned?char?*p);?//?页写入
#pragma?RESTORE

#endif??//?__W79ExxxNVM_H__

//------------------------------------------------------//

/*---------------------------------------------------*/
/*???????????????????????????????????????????????????*/
/*???W79E4051/W79E825?NVM通用读写子程序??????????????*/
/*???????????????????????????????????????????????????*/
/*???CPU??:?W79E4051?????????????????????????????????*/
/*???晶振?:?12MHz????????????????????????????????????*/
/*???作者?:?许意义???????????????????????????????????*/??
/*???版本?:?V1.0?????????????????????????????????????*/
/*???日期?:?2009.1.6?????????????????????????????????*/
/*???????????????????????????????????????????????????*/
/*---------------------------------------------------*/
#i nclude?"MPU51TYPE.h"
#i nclude?"W79ExxxNVM.h"

int?NVM_RD_INT(unsigned?char?ADDR)???//?字读出
{?unsigned?int?IA;
??byte0(IA)?=?NVM_RD_CHAR(ADDR++);
??byte1(IA)?=?NVM_RD_CHAR(ADDR);
??return(IA);
}

long?NVM_RD_LONG(unsigned?char?ADDR)???//?长字读出
{?unsigned?long?LA;
??byte0(LA)?=?NVM_RD_CHAR(ADDR++);
??byte1(LA)?=?NVM_RD_CHAR(ADDR++);
??byte2(LA)?=?NVM_RD_CHAR(ADDR++);
??byte3(LA)?=?NVM_RD_CHAR(ADDR);
??return(LA);
}

void?NVM_RD_PAGE(unsigned?char?PAGE,unsigned?char?*p)?//?页读出
{?
??unsigned?char?a,?i;
??a?=?PAGE?
分享到:
回复

使用道具 举报

回答|共 1 个

倒序浏览

沙发

tsl37150839

发表于 2010-4-30 10:20:59 | 只看该作者

RE:华邦(W79E2051/W79E825)单片机系列NVM(仿EEPROM) 库函数 (转自老许笔记)

W79E2051/ W79E4051,全面兼容AT89C4051/4051,STC12C2052/4052系列。
Part No.        最新价格        Flash        RAM        Data Flash        I/O        Timer        ITERNALRC OSC        PWM        WDT        ICP        封装
W79E2051        2.40        2K        256        128b        15        2*16bit        20/10MHZ+2%        1*10b        Y        Y        DIP\SOP20
W79E4051        2.90        4K        256        128b        15        2*16bit        20/10MHZ+2%        1*10b        Y        Y        DIP\SOP20
注:能与AT89C2051兼容通用功能外,还具有更快的速度,W79E2051采用4T时钟周期内核,更大的RAM空间
达到256字节,内置RC振荡,可配置的I/O模式,带噪声滤波的模拟比较器,1路PWM输出,有上电复位欠压
检测功能;工业级温度设计,高抗干扰兼容性。
:http://www.victor-ic.cn         :86-0755-61392396/61392398-809           :0755-61392390
:唐孙林    :13410362373   :1057045572   :tangsunlin@163.com   :tang@victor-ic.cn
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条