標(biāo)題:
PIC單片機(jī)片內(nèi)EEPROM運用方法
[打印本頁]
作者:
51黑fan
時間:
2016-1-30 01:43
標(biāo)題:
PIC單片機(jī)片內(nèi)EEPROM運用方法
/*=============================================================================
訪問PIC16F877A片內(nèi)EEPROM,運行程序:
Begin Test -> LED0亮,
EEPROM Test OK-> LED7亮,
Write&Read OK -> LED0/2/4/6亮。
=============================================================================*/
///////////////////////////////////////////////////////////////////////////////
// MPLAB IDE V7.11 + CCS C3.18
// Access 16F877A internal EEPROM for MCD2-demo
//
// by
LW7807@163.com
// 2005/06/22
///////////////////////////////////////////////////////////////////////////////
#include <16F877A.h> // PIC16F877 header file
#use delay(clock=4000000) // for 4Mhz crystal
#fuses XT, NOWDT, NOPROTECT, NOLVP // for debug mode
#define EEPROM_SIZE 256
////////////////////////////////////////////////////////////// eeprom_test()
//
int8 eeprom_test(void)
{
int16 i;
// write 0x55 test
for(i=0; i<EEPROM_SIZE; ++i)
{
write_eeprom(i, 0x55);
}
for(i=0; i<EEPROM_SIZE; ++i)
{
if(0x55 != read_eeprom(i)) return 0;
}
// write 0xaa test
for(i=0; i<EEPROM_SIZE; ++i)
{
write_eeprom(i, 0xaa);
}
for(i=0; i<EEPROM_SIZE; ++i)
{
if(0xaa != read_eeprom(i)) return 0;
}
// write 0
for(i=0; i<EEPROM_SIZE; ++i)
{
write_eeprom(i, 0x00);
}
return 0xff;
}//end eeprom_test()
/*===========================================================================*/
void main(void)
{
// begin test
output_high(PIN_C0);
// test internal eeprom
if(0 != eeprom_test())
{
output_high(PIN_C7);
delay_ms(1000);
}
// write 24c02
write_eeprom(0, 0x55);
// read 24c02
output_c(read_eeprom(0));
}//end main()
作者:
順道
時間:
2020-4-9 10:25
請問編譯后提示EEPROM space 占用為0,是怎么回事,程序里有用到EEPROM_READ(address);和EEPROM_WRITE(address ,data1);兩個函數(shù),應(yīng)該已經(jīng)利用到了EEPROM的內(nèi)存了吧
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1