/* Demo for 8080 (Read/Write EEPROM) Software: Compiler: BC++ 3.1 Compile mode: large Project: EEPROM.c 8080L.Lib 8000L.Lib Hardware: I-8000 MCU + 8080 Note: Words 00~39 are for users. Words 40~63 are for 8080 configuration. Don't write to the configuration area. */ /* [2004,Dec,23] by Kevin Use 8080 lib version 2.0.0 [2004,Mar,07] by Kevin Use 8080 lib version 2.0.1 */ #include "..\..\..\..\lib\8000E.h" #include "..\..\..\..\lib\8080.h" void main(void) { int slot,i,iRet,Value; unsigned long Frequency; Print("/***********************************/\n\r"); Print("/* 8080 demo (Read/Write EEPROM) */\n\r"); Print("/* */\n\r"); Print("/* [2004,Mar,07] */\n\r"); Print("/***********************************/\n\r"); Print("\n\r"); Print("Slot number (0~7)="); Scanf("%d",&slot); iRet=i8080_InitDriver(slot); if (iRet==(-1)) { Print("Initiate 8080 on slot%d error!\n\r",slot); Print(" Cannot find 8080."); } else { Print("Initiate 8080 on slot%d ok.\n\r",slot); if(iRet>0) { Print(" Some Pulse/Dir channels have one count offset.\n\r"); Print(" Return code:%02X\n\r",iRet); } //Write values to EEPROM (Values are 0000, 0101, 0202, ....,3030,3131) Print("Writing 0000, 0101, 0202,......, 3030, 3131 to EEPROM\n\r"); for(i=0;i<32;i++) { Value=i*100+i; i8080_EepWriteEnable(slot); iRet=i8080_EepWriteWord(slot,i,Value); i8080_EepWriteDisable(slot); } //Read values from EEPROM Print("Reading data from EEPROM\n\r"); for(i=0;i<32;i++) { if((i%5)==0) Print("\n\r"); iRet=i8080_EepReadWord(slot,i,&Value); Print("Num%02d=%04d ",i,Value); } Print("\n\r\n\r"); //Write values to EEPROM (Values are 0000, 0000, 0000, ....,0000,0000) Print("Writing 0000, 0000, 0000,......, 0000, 0000 to EEPROM\n\r"); for(i=0;i<32;i++) { i8080_EepWriteEnable(slot); iRet=i8080_EepWriteWord(slot,i,0); i8080_EepWriteDisable(slot); } //Read values from EEPROM Print("Reading data from EEPROM\n\r"); for(i=0;i<32;i++) { if((i%5)==0) Print("\n\r"); iRet=i8080_EepReadWord(slot,i,&Value); Print("Num%02d=%04d ",i,Value); } } }