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

Dependencies:   N5110 mbed

Fork of Nokia5110 by Krissi Yan

Committer:
henr22
Date:
Fri Jan 15 19:15:01 2016 +0000
Revision:
5:195cb8367908
Parent:
4:9382162fdb60
Clock to use with LCD N5110. N5110 library is necessary.;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
henr22 4:9382162fdb60 1 // Project: Nokia5110 - Watch to NK5110 display from an NXP LPC1768
Fuzball 2:e448efb1fa68 2 // File: main.cpp
henr22 4:9382162fdb60 3 // Author: José Pimentel
henr22 4:9382162fdb60 4 // Created: January, 2016
Fuzball 2:e448efb1fa68 5 // Revised:
henr22 4:9382162fdb60 6 // V1.0
Fuzball 2:e448efb1fa68 7
Fuzball 2:e448efb1fa68 8 #include "mbed.h"
henr22 4:9382162fdb60 9 #include "N5110.h"
henr22 4:9382162fdb60 10
henr22 4:9382162fdb60 11 Serial pc(USBTX, USBRX);
henr22 4:9382162fdb60 12 N5110 lcd(p7,p8,p9,p10,p11,p13,p21);
Fuzball 2:e448efb1fa68 13
Fuzball 2:e448efb1fa68 14 int main()
henr22 4:9382162fdb60 15
Fuzball 2:e448efb1fa68 16 {
henr22 4:9382162fdb60 17 //Inicialização e Parametrização do lcd
henr22 4:9382162fdb60 18 lcd.init();
henr22 4:9382162fdb60 19 lcd.setBrightness(0.1);
henr22 4:9382162fdb60 20
henr22 4:9382162fdb60 21 char horas[3]="19"; //Colocar na hora atual
henr22 4:9382162fdb60 22 char minutos[3]="10"; //Colocar no minuto atual
henr22 4:9382162fdb60 23 char segundo[3]="00"; //Colocar no segundo a iniciar (opcional)
Fuzball 2:e448efb1fa68 24
henr22 4:9382162fdb60 25 int min = 0; //Colocar no minuto atual + 1
henr22 4:9382162fdb60 26 int hora = 9; //DEBUG:::: Valor original é 0 //Colocar na hora atual + 1
henr22 4:9382162fdb60 27
henr22 4:9382162fdb60 28 int dezenas = 1;
henr22 4:9382162fdb60 29 int dezenasMinutos = 2; //Colocar na dezena de minuto atual
henr22 4:9382162fdb60 30 int dezenasHoras = 2; //DEBUG ::: Verificar meia noite original = 1 COlcoar na dezena de hora atual
henr22 4:9382162fdb60 31
henr22 4:9382162fdb60 32 lcd.printChar(':',65,0);
henr22 4:9382162fdb60 33 lcd.printChar(':',48,0);
henr22 4:9382162fdb60 34 lcd.printString(segundo,70,0);
henr22 4:9382162fdb60 35 lcd.printString(horas,36,0);
henr22 4:9382162fdb60 36 lcd.printString(minutos,53,0);
Fuzball 2:e448efb1fa68 37
henr22 4:9382162fdb60 38 while(1)
henr22 4:9382162fdb60 39 {
henr22 4:9382162fdb60 40 if(horas[0] == 50 && horas[1] == 52)
henr22 4:9382162fdb60 41 {
henr22 4:9382162fdb60 42 horas[0] = 48;
henr22 4:9382162fdb60 43 horas[1] = 48;
henr22 4:9382162fdb60 44 dezenasHoras = 1;
henr22 4:9382162fdb60 45 hora = 0;
henr22 4:9382162fdb60 46 }
henr22 4:9382162fdb60 47 lcd.printString(horas,36,0);
henr22 4:9382162fdb60 48
henr22 4:9382162fdb60 49 if(minutos[0] == 54)
henr22 4:9382162fdb60 50 {
henr22 4:9382162fdb60 51 minutos[0] = 48;
henr22 4:9382162fdb60 52 dezenasMinutos = 1;
henr22 4:9382162fdb60 53 hora = hora + 1;
henr22 4:9382162fdb60 54 if(hora == 10)
henr22 4:9382162fdb60 55 {
henr22 4:9382162fdb60 56 horas[0] = 48 + dezenasHoras;
henr22 4:9382162fdb60 57 dezenasHoras = dezenasHoras + 1;
henr22 4:9382162fdb60 58 hora = 0;
henr22 4:9382162fdb60 59 }
henr22 4:9382162fdb60 60 horas[1] = 48 + hora;
henr22 4:9382162fdb60 61 //lcd.printString(horas,36,0);
henr22 4:9382162fdb60 62 }
henr22 4:9382162fdb60 63
henr22 4:9382162fdb60 64 if(segundo[0] == 54)
henr22 4:9382162fdb60 65 { //Recomeçar quando chegar aos 60 segundos
henr22 4:9382162fdb60 66 segundo[0] = 48;
henr22 4:9382162fdb60 67 dezenas = 1;
henr22 4:9382162fdb60 68 min = min + 1;
henr22 4:9382162fdb60 69 if(min == 10)
henr22 4:9382162fdb60 70 {
henr22 4:9382162fdb60 71 minutos[0] = 48 + dezenasMinutos;
henr22 4:9382162fdb60 72 dezenasMinutos = dezenasMinutos + 1;
henr22 4:9382162fdb60 73 min = 0;
henr22 4:9382162fdb60 74 }
henr22 4:9382162fdb60 75 minutos[1] = 48 + min;
henr22 4:9382162fdb60 76 lcd.printString(minutos,53,0);
henr22 4:9382162fdb60 77 }
henr22 4:9382162fdb60 78
henr22 4:9382162fdb60 79 int seg = 0;
henr22 4:9382162fdb60 80
henr22 4:9382162fdb60 81 while(seg<10)
henr22 4:9382162fdb60 82 { //Contar os segundos até 10
henr22 4:9382162fdb60 83 segundo[1] = seg+48;
henr22 4:9382162fdb60 84 seg=seg+1;
henr22 4:9382162fdb60 85 wait(1); //Debug: Aumenta a velocidade que o tempo passa para testes: Valor origianl = 1
henr22 4:9382162fdb60 86 lcd.printString(segundo,70,0);
henr22 4:9382162fdb60 87 lcd.printString(minutos,53,0);
henr22 4:9382162fdb60 88 }
henr22 4:9382162fdb60 89
henr22 4:9382162fdb60 90 if(seg==10 && dezenas<10)
henr22 4:9382162fdb60 91 { //Alterar dezenas dos segundos
henr22 4:9382162fdb60 92 segundo[1]= 48;
henr22 4:9382162fdb60 93 segundo[0]= 48 + dezenas;
henr22 4:9382162fdb60 94 dezenas = dezenas + 1;
henr22 4:9382162fdb60 95 }
henr22 4:9382162fdb60 96
henr22 4:9382162fdb60 97
Fuzball 2:e448efb1fa68 98 }
henr22 4:9382162fdb60 99 }