// relogio.c - Criado pelo studio UNO 2.3
// 9 July 2015 12:16:15 pm
#include <uno.h>
// Declaracao das Variaveis
unsigned char aux;
unsigned char hora;
unsigned char minuto;
unsigned char segundo;
// Prototipos
void calibra_minuto(void);
void calibra(void);
void atualiza(void);
//Funcoes do Usuario
void calibra_minuto(void)
{
while(!(__ENTER_KEY)) {
if ((minuto <= 60)) {
if (__UP_KEY) {
minuto++;
while(!!(__UP_KEY)) { __delay(10); }
}
if (__BOTTOM_KEY) {
minuto--;
while(!!(__BOTTOM_KEY)) { __delay(10); }
}
__lcd_goto(0x7f, 6);
__lcd_puts("%c", minuto);
__lcd_goto(0x7f, 6);
__lcd_puts(" ");
__lcd_goto(0x7f, 10);
__lcd_puts("minutos");
__lcd_goto(0xbf, 2);
__lcd_puts("enter p seguir");
}
else {
minuto = 0;
}
}
}
void calibra(void)
{
__lcd_goto(0x7f, 1);
__lcd_puts("informe a hora");
__lcd_goto(0xbf, 1);
__lcd_puts("inicial");
while(!__UP_KEY) { __delay(10); }
__lcd_clear();
while(!(__ENTER_KEY)) {
if ((hora <= 24)) {
if (__UP_KEY) {
hora++;
while(!!(__UP_KEY)) { __delay(10); }
}
if (__BOTTOM_KEY) {
hora--;
while(!!(__BOTTOM_KEY)) { __delay(10); }
}
__lcd_goto(0x7f, 6);
__lcd_puts("%c", hora);
__lcd_goto(0x7f, 6);
__lcd_puts(" ");
__lcd_goto(0x7f, 10);
__lcd_puts("horas");
__lcd_goto(0xbf, 2);
__lcd_puts("enter p seguir");
}
else {
hora = 0;
}
}
while(!!(__ENTER_KEY)) { __delay(10); }
calibra_minuto();
}
void atualiza(void)
{
aux = 10;
__lcd_goto(0x7f, aux);
__lcd_puts("%c", segundo);
__lcd_goto(0x7f, aux);
__lcd_puts(":");
aux -= 3;
__lcd_goto(0x7f, aux);
__lcd_puts("%c", minuto);
__lcd_goto(0x7f, aux);
__lcd_puts(":");
aux -= 3;
__lcd_goto(0x7f, aux);
__lcd_puts("%c", hora);
__lcd_goto(0x7f, aux);
__lcd_puts(" ");
}
//Funcao Principal
void main(void)
{
__inicializa;
hora = 0;
minuto = 0;
segundo = 0;
__backlight(__ON);
calibra();
__lcd_clear();
while(TRUE) {
while((hora <= 24)) {
while((minuto <= 60)) {
while((segundo <= 60)) {
atualiza();
segundo++;
__delay(1000);
}
minuto++;
segundo = 0;
}
hora++;
minuto = 0;
}
hora = 0;
}
while(TRUE) { }
}