Spain
Offline
Newbie
Karma: 0
Posts: 35
|
 |
« Reply #16 on: November 21, 2012, 10:31:33 am » |
myGLCD.clrScr(); myGLCD.print("Mes", 0, 0); myGLCD.print("(1-12)", 0, 10); myGLCD.print("*: Borrar", 0, 20); myGLCD.print("#: Confirmar", 0, 30); myGLCD.update(); unsigned long me = Definemes(); myGLCD.clrScr(); myGLCD.print("Ano", 0, 0); myGLCD.print("(0-99)", 0, 10); myGLCD.print("*: Borrar", 0, 20); myGLCD.print("#: Confirmar", 0, 30); myGLCD.update(); unsigned long a = Defineano(); myGLCD.clrScr(); myGLCD.print("Hora", 0, 0); myGLCD.print("(0-23)", 0, 10); myGLCD.print("*: Borrar", 0, 20); myGLCD.print("#: Confirmar", 0, 30); myGLCD.update(); unsigned long h = Definehora(); myGLCD.clrScr(); myGLCD.print("Minutos", 0, 0); myGLCD.print("(0-59)", 0, 10); myGLCD.print("*: Borrar", 0, 20); myGLCD.print("#: Confirmar", 0, 30); myGLCD.update(); unsigned long mi = Defineminutos(); myGLCD.clrScr(); myGLCD.print("Segundos", 0, 0); myGLCD.print("(0-59)", 0, 10); myGLCD.print("*: Borrar", 0, 20); myGLCD.print("#: Confirmar", 0, 30); myGLCD.update(); unsigned long s = Definesegundos(); byte second = s; //0-59 byte minute = mi; //0-59 byte hour = h; //0-23 byte weekDay = ds; //1-7 byte monthDay = dm; //1-31 byte month = me; //1-12 byte year = a; //0-99
Wire.beginTransmission(DS1307_ADDRESS); Wire.write(zero); //stop Oscillator
Wire.write(decToBcd(second)); Wire.write(decToBcd(minute)); Wire.write(decToBcd(hour)); Wire.write(decToBcd(weekDay)); Wire.write(decToBcd(monthDay)); Wire.write(decToBcd(month)); Wire.write(decToBcd(year));
Wire.write(zero); //start
Wire.endTransmission();
}
byte decToBcd(byte val){
//Convierte el numero normal decimal a binario codificado. return ( (val/10*16) + (val%10) ); }
byte bcdToDec(byte val) { // Convert el binario codificado a decimal return ( (val/16*10) + (val%16) ); }
void verhora(){
// Reseteo de registro Wire.beginTransmission(DS1307_ADDRESS); Wire.write(zero); Wire.endTransmission(); Wire.requestFrom(DS1307_ADDRESS, 7); int second = bcdToDec(Wire.read()); int minute = bcdToDec(Wire.read()); int hour = bcdToDec(Wire.read() & 0b111111); //24 horas int weekDay = bcdToDec(Wire.read()); //0-6 -> Domingo-sabado int monthDay = bcdToDec(Wire.read()); int month = bcdToDec(Wire.read()); int year = bcdToDec(Wire.read());
myGLCD.printNumI(monthDay, 0, 20); myGLCD.print("/", 15, 20); myGLCD.printNumI(month, 26, 20); myGLCD.print("/", 44, 20); myGLCD.printNumI(year, 55, 20); myGLCD.printNumI(hour, 0, 30); myGLCD.print(":", 15, 30); myGLCD.printNumI(minute, 26, 30); myGLCD.print(":", 44, 30); myGLCD.printNumI(second, 55, 30); myGLCD.update();
}
|