Clock to use with LCD NK5110. You need to use N5110 libraries

Dependencies:   N5110 mbed

Fork of Nokia5110 by Krissi Yan

main.cpp

Committer:
henr22
Date:
2016-01-15
Revision:
5:195cb8367908
Parent:
4:9382162fdb60

File content as of revision 5:195cb8367908:

// Project: Nokia5110 - Watch to NK5110 display from an NXP LPC1768
// File: main.cpp
// Author: José Pimentel
// Created: January, 2016
// Revised: 
//  V1.0

#include "mbed.h"
#include "N5110.h"

Serial pc(USBTX, USBRX);
N5110 lcd(p7,p8,p9,p10,p11,p13,p21);

int main()

{
    //Inicialização e Parametrização do lcd
    lcd.init();
    lcd.setBrightness(0.1);
    
    char horas[3]="19";                             //Colocar na hora atual
    char minutos[3]="10";                           //Colocar no minuto atual
    char segundo[3]="00";                           //Colocar no segundo a iniciar (opcional)
    
    int min = 0;                                    //Colocar no minuto atual + 1
    int hora = 9;                                   //DEBUG:::: Valor original é 0  //Colocar na hora atual + 1
    
    int dezenas = 1;
    int dezenasMinutos = 2;                         //Colocar na dezena de minuto atual
    int dezenasHoras = 2;                           //DEBUG ::: Verificar meia noite original = 1 COlcoar na dezena de hora atual
    
    lcd.printChar(':',65,0);
    lcd.printChar(':',48,0);
    lcd.printString(segundo,70,0);
    lcd.printString(horas,36,0);
    lcd.printString(minutos,53,0);
    
    while(1)
    {
        if(horas[0] == 50 && horas[1] == 52)
            {
                horas[0] = 48;
                horas[1] = 48;
                dezenasHoras = 1;
                hora = 0;
            }
            lcd.printString(horas,36,0);
        
        if(minutos[0] == 54)
            {
                minutos[0] = 48;
                dezenasMinutos = 1;
                hora = hora + 1;
                if(hora == 10)
                {
                horas[0] = 48 + dezenasHoras;
                dezenasHoras = dezenasHoras + 1;
                hora = 0;
                }
                horas[1] = 48 + hora;
                //lcd.printString(horas,36,0);
            }
            
            if(segundo[0] == 54)
            {                                //Recomeçar quando chegar aos 60 segundos
                segundo[0] = 48;
                dezenas = 1;
                min = min + 1;
                if(min == 10)
                {
                minutos[0] = 48 + dezenasMinutos;
                dezenasMinutos = dezenasMinutos + 1;
                min = 0;
                }
                minutos[1] = 48 + min;
                lcd.printString(minutos,53,0);
            }
            
        int seg = 0;
        
        while(seg<10)
        {                                    //Contar os segundos até 10
        segundo[1] = seg+48;
        seg=seg+1;
        wait(1);                               //Debug: Aumenta a velocidade que o tempo passa para testes: Valor origianl =  1
        lcd.printString(segundo,70,0);
        lcd.printString(minutos,53,0);
        }
        
            if(seg==10 && dezenas<10)
            {                               //Alterar dezenas dos segundos
            segundo[1]= 48;
            segundo[0]= 48 + dezenas;
            dezenas = dezenas + 1;
            }
            
            
    }
}