‘壹’ pic单片机EEPROM怎么编写程序
在你的C文件里引用EEPROM函数的头文件,eeprom_routines.h
然后在程序中使用
void eeprom_write(unsigned char addr, unsigned char value);
unsigned char eeprom_read(unsigned char addr);
这两个函数了。
这两个函数一个读一个写。比如你想写0x10到地址为0x55的EEPROM,
就写:eeprom_write(0x55,0x10);
同理,如果想读取0x55地址处的值,
就写:ee_value = eeprom_read(0x55);
如果编译时编译器提示找不到eeprom_routines.h,可以在
X:Program FilesHI-TECH SoftwarePICC9.81include 目录下找,然后复制到自己项目文件夹下。
对了,我用的是MPLab IDE,编译器使用的是PICC。
‘贰’ pic单片机怎么在MPLAB设定初始EEPROM
用DE伪指令
举例:
ORG 0x2100 ;这是PIC16F628A的EEPROM虚拟地址,当然
;不同的芯片是不同的
DE 0x00, 0x01, 0x02, 0x03 ;初始化EEPROM数据
picc编译器
EEPROM 数据
有些PIC单片机支持用外部编程器对内部的EEPROM进行编程。
__EEPROM_DATA()可以将用于初始化的数据放入HEX文件中,如:
__EEPROM_DATA(0, 1, 2, 3, 4, 5, 6, 7)
可将0-7八个数放入HEX文件中,在用外部的编程器进行编程时将 这八个数写入PIC单片机中。
__EEPROM_DATA不是用于运行时写入EEPROM数据的,在运行时请用 EEPROM_READ(), EEPROM_WRITE()。
‘叁’ 给说说PIC单片机当中的EEPROM是做什么的吗
EEPROM其实是有专门的芯片的,主要是保存数据用的,有的单片机把这一功能集成到单片机的内部,这样就使得单片机的外围电路更简单,元器件更少。当然要存取信息就要用专门的指令,说明书中有详细的指令代码。
‘肆’ PIC单片机内部EEPROM数据保存读取
写程序的时候是会重新改写eeprom内容的,这个你需要修改下程序,断电验证比较合适。
‘伍’ 基于PIC单片机对EEPROM读写的一种方法
是需要读写程序吗?
从指定地址下读取一个字节:
uchar ReadEEPROM(uchar EE_Addr)
{
EEADR=EE_Addr; //给地址
EEPGD=0; //
RD=1; //开始读
return EEDATA; //直接返回读取的EEPROM
}
将一个字节的数据写入指定地址里:
bool WriteEEPROM(uchar EE_data,uchar EE_addr)
{
uchar j=0;//多次执行
EEIF=0; //clear flag
EEADR=EE_addr; //set address
EEDATA=EE_data; //set data.(one byte)
EEPGD=0; //EEPROM to be the data memory.
while(++j<10) //if there is wrong to write,begin
{
GIE=0; //关中断,保护
WREN=1; //写允许
EECON2=0x55;
EECON2=0xaa;
WR=1; //写开始,写完后硬件置0写
WREN=0; //写使能禁止
GIE=1; //开中断
while(WR); //等待写操作完成,没有判断EEIF
if(!WRERR) //如果无误,跳出程序,否则重写
return true;
}
return false;
}
‘陆’ 怎样用pic单片机把字符写到eeprom里面
1 把PIC单片机的IIC口和EEPROM的IIC口接起来,加上拉电阻。
2 把字符变成十六进制文件放进数组,用字符转换单片机工具
3 按照IIC时序写进EEPROM
‘柒’ PIC单片机写EEPROM时掉电会出现不准吗,什么趋势
EEPROM是按照字节写入的。如果是在给EEPROM中写入数据期间掉电,那么已经完成写入的单元其数据会完好的保存,而没有彻底完成写入操作的单元,数据是不可预知的,因为你不知道对这个存储单元来说,在外部掉电后,其实际控制信号还得多久(不但电源入口处有电容,这样可以延长电压跌落的时间,而且逻辑电平的门槛是很低的)才能真正无效。
PIC系列是为工业控制而设计的RSIC单片机,而工业环境下工作条件更加恶劣,所以其内部有比较完善的智能电源管理系统。
在操作期间,当芯片检测到电源电压太低,它会自动复位内部逻辑,不会出现误操作以至于影响到其他任何存储单元数据、I/O口的输出状态,而只会复位到默认状态。
一般的,现在的工业控制芯片,只要电源上加的不是较长时间的较强电压,肯定是不会对芯片造成损坏的——更何况你的还是掉电。
另外,对于芯片内部的EEPROM单元的实际数据,你可以在目标板正常供电期间,用ICD
II查看芯片内部对应单元的数据即可发现实际数据是怎么样的。
‘捌’ pic单片机的eeprom问题
我打开其头文件看了下,包括
EEPROM_WRITE(0x08,buzzValue);EEPROM_READ(0x08)这两个函数
其原型是EEPROM_WRITE(addr, value),EEPROM_READ(addr)
你要知道PICC包含什么头文件最好打开头文件的文件夹
路径是HI-TECH Software\PICC\lite\9.60\include
打开pic.h可以看到里面的内容
PICC包含pic1687x.h,这个看编译器而定,MPLAB本身没有这个头文件
‘玖’ pic单片机 的EEPROM 问题
库文件里有eeprom读写函数,直接调用吧。
可以确定你程序有问题。要么你写的时候都写成0x11,
要么你读的时候程序有问题