×
单片机 > 单片机程序设计 > 详情

PIC16F877A片内EEPROM c程序

发布时间:2020-05-16 发布时间:
|

/*============================================================================= 
访问PIC16F877A片内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 // 
/////////////////////////////////////////////////////////////////////////////// 
#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                { 
                write_eeprom(i, 0x55); 
                } 
        for(i=0; i                { 
                if(0x55 != read_eeprom(i)) return 0; 
                } 

        // write 0xaa test 
        for(i=0; i                { 
                write_eeprom(i, 0xaa); 
                } 
        for(i=0; i                { 
                if(0xaa != read_eeprom(i)) return 0; 
                } 

        // write 0 
        for(i=0; 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()



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
STM32单片机的复用端口初始化的步骤及方法