华邦(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? |
|
|
|
|
|
|
|
|
|
|
沙发
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 |
|
|
|
|
|
|
|
|