Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of Nokia5110 by
main.cpp@5:195cb8367908, 2016-01-15 (annotated)
- 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?
| User | Revision | Line number | New 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 | } |
