Dino Šatrović / Mbed 2 deprecated LV3_Grupa6_Tip008_Z2

Dependencies:   mbed

Committer:
diinnoo
Date:
Thu Mar 19 17:02:39 2015 +0000
Revision:
0:a23c5ee8213d
Ivona Ivkovi?; Dino ?atrovi?;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
diinnoo 0:a23c5ee8213d 1 #include "mbed.h"
diinnoo 0:a23c5ee8213d 2 #define dp23 P0_0
diinnoo 0:a23c5ee8213d 3
diinnoo 0:a23c5ee8213d 4
diinnoo 0:a23c5ee8213d 5
diinnoo 0:a23c5ee8213d 6 //tastatura:
diinnoo 0:a23c5ee8213d 7 BusOut Redovi (dp16, dp15, dp17, dp18);
diinnoo 0:a23c5ee8213d 8 BusIn Kolone (dp9, dp10, dp11, dp13);
diinnoo 0:a23c5ee8213d 9
diinnoo 0:a23c5ee8213d 10 //display:
diinnoo 0:a23c5ee8213d 11 DigitalOut enableSignal(dp14);
diinnoo 0:a23c5ee8213d 12 BusOut odabirCifre(dp25,dp24,dp23);
diinnoo 0:a23c5ee8213d 13 BusOut segmentBroja(dp2,dp1,dp28,dp6,dp5,dp27,dp26);
diinnoo 0:a23c5ee8213d 14 int prazanDisplay = 127;
diinnoo 0:a23c5ee8213d 15
diinnoo 0:a23c5ee8213d 16 int ucitajTipkuSaTastature()
diinnoo 0:a23c5ee8213d 17 {
diinnoo 0:a23c5ee8213d 18 int i = 0; int j = 0;
diinnoo 0:a23c5ee8213d 19 for(i = 0; i < 4; i++)
diinnoo 0:a23c5ee8213d 20 {
diinnoo 0:a23c5ee8213d 21 Redovi [i] = 1;
diinnoo 0:a23c5ee8213d 22
diinnoo 0:a23c5ee8213d 23 for(j = 0; j < 4; j++)
diinnoo 0:a23c5ee8213d 24 {
diinnoo 0:a23c5ee8213d 25 if(Kolone [j] == 1)
diinnoo 0:a23c5ee8213d 26 {
diinnoo 0:a23c5ee8213d 27 if(i == 0 && j == 0) {Redovi[i] = 0; return 1; }
diinnoo 0:a23c5ee8213d 28 if(i == 0 && j == 1) {Redovi[i] = 0; return 2; }
diinnoo 0:a23c5ee8213d 29 if(i == 0 && j == 2) {Redovi[i] = 0; return 3; }
diinnoo 0:a23c5ee8213d 30 if(i == 1 && j == 0) {Redovi[i] = 0; return 4; }
diinnoo 0:a23c5ee8213d 31 if(i == 1 && j == 1) {Redovi[i] = 0; return 5; }
diinnoo 0:a23c5ee8213d 32 if(i == 1 && j == 2) {Redovi[i] = 0; return 6; }
diinnoo 0:a23c5ee8213d 33 if(i == 2 && j == 0) {Redovi[i] = 0; return 7; }
diinnoo 0:a23c5ee8213d 34 if(i == 2 && j == 1) {Redovi[i] = 0; return 8; }
diinnoo 0:a23c5ee8213d 35 if(i == 2 && j == 2) {Redovi[i] = 0; return 9; }
diinnoo 0:a23c5ee8213d 36 if(i == 3 && j == 1) {Redovi[i] = 0; return 0; }
diinnoo 0:a23c5ee8213d 37 if(i == 2 && j == 3) {Redovi[i] = 0; return -1; }
diinnoo 0:a23c5ee8213d 38 }
diinnoo 0:a23c5ee8213d 39 }
diinnoo 0:a23c5ee8213d 40 Redovi[i] = 0;
diinnoo 0:a23c5ee8213d 41 }
diinnoo 0:a23c5ee8213d 42 return 999;
diinnoo 0:a23c5ee8213d 43 }
diinnoo 0:a23c5ee8213d 44
diinnoo 0:a23c5ee8213d 45 int brojevi[10] = {1, 79, 18, 6, 76, 36, 32, 14, 0, 4};
diinnoo 0:a23c5ee8213d 46 int pamtiPoziciju = 0;
diinnoo 0:a23c5ee8213d 47 int cifre[3] = {888, 888, 888};
diinnoo 0:a23c5ee8213d 48
diinnoo 0:a23c5ee8213d 49 void ispisiCifru1(int cifra)
diinnoo 0:a23c5ee8213d 50 {
diinnoo 0:a23c5ee8213d 51 odabirCifre = 6;
diinnoo 0:a23c5ee8213d 52 segmentBroja = brojevi[cifra];
diinnoo 0:a23c5ee8213d 53 wait(0.1);
diinnoo 0:a23c5ee8213d 54 cifre[2] = cifra;
diinnoo 0:a23c5ee8213d 55 }
diinnoo 0:a23c5ee8213d 56
diinnoo 0:a23c5ee8213d 57 void ispisiCifru(int cifra)
diinnoo 0:a23c5ee8213d 58 {
diinnoo 0:a23c5ee8213d 59 //ispis stotinki:
diinnoo 0:a23c5ee8213d 60 odabirCifre = 7;
diinnoo 0:a23c5ee8213d 61 if(cifre[2] == 888) segmentBroja = prazanDisplay;
diinnoo 0:a23c5ee8213d 62 else segmentBroja = brojevi[cifre[2]];
diinnoo 0:a23c5ee8213d 63 odabirCifre = 6;
diinnoo 0:a23c5ee8213d 64
diinnoo 0:a23c5ee8213d 65 wait(0.001);
diinnoo 0:a23c5ee8213d 66 //ispis manje cifre sekundi:
diinnoo 0:a23c5ee8213d 67 odabirCifre = 7;
diinnoo 0:a23c5ee8213d 68 if(cifre[1] == 888) segmentBroja = prazanDisplay;
diinnoo 0:a23c5ee8213d 69 else segmentBroja = brojevi[cifre[1]];
diinnoo 0:a23c5ee8213d 70 odabirCifre = 5;
diinnoo 0:a23c5ee8213d 71
diinnoo 0:a23c5ee8213d 72
diinnoo 0:a23c5ee8213d 73 wait(0.001);
diinnoo 0:a23c5ee8213d 74
diinnoo 0:a23c5ee8213d 75 //ispis vece cifre sekundi:
diinnoo 0:a23c5ee8213d 76 odabirCifre = 7;
diinnoo 0:a23c5ee8213d 77 if(cifre[0] == 888) segmentBroja = prazanDisplay;
diinnoo 0:a23c5ee8213d 78 else segmentBroja = brojevi[cifre[0]];
diinnoo 0:a23c5ee8213d 79 odabirCifre = 3;
diinnoo 0:a23c5ee8213d 80 wait(0.001);
diinnoo 0:a23c5ee8213d 81 }
diinnoo 0:a23c5ee8213d 82
diinnoo 0:a23c5ee8213d 83 void pomjeriCifre(int nova)
diinnoo 0:a23c5ee8213d 84 {
diinnoo 0:a23c5ee8213d 85 cifre[0] = cifre[1] ;
diinnoo 0:a23c5ee8213d 86 cifre[1] = cifre[2];
diinnoo 0:a23c5ee8213d 87 cifre[2] = nova;
diinnoo 0:a23c5ee8213d 88 }
diinnoo 0:a23c5ee8213d 89
diinnoo 0:a23c5ee8213d 90 int brojac = 0;
diinnoo 0:a23c5ee8213d 91
diinnoo 0:a23c5ee8213d 92 int main() {
diinnoo 0:a23c5ee8213d 93 enableSignal = 1;
diinnoo 0:a23c5ee8213d 94 odabirCifre = 6; pamtiPoziciju = 1;
diinnoo 0:a23c5ee8213d 95 segmentBroja = brojevi[8];
diinnoo 0:a23c5ee8213d 96 wait(2);
diinnoo 0:a23c5ee8213d 97 int odabranaCifra = brojevi[0];
diinnoo 0:a23c5ee8213d 98 while(1) {
diinnoo 0:a23c5ee8213d 99 if (ucitajTipkuSaTastature() != 999) {
diinnoo 0:a23c5ee8213d 100 brojac++;
diinnoo 0:a23c5ee8213d 101 odabranaCifra = ucitajTipkuSaTastature();
diinnoo 0:a23c5ee8213d 102 if(brojac == 50) pomjeriCifre(odabranaCifra);
diinnoo 0:a23c5ee8213d 103
diinnoo 0:a23c5ee8213d 104 }
diinnoo 0:a23c5ee8213d 105 if (odabranaCifra == -1) { pomjeriCifre(888); pomjeriCifre(888); segmentBroja = prazanDisplay; continue; }
diinnoo 0:a23c5ee8213d 106 if(ucitajTipkuSaTastature() == 999) brojac = 0;
diinnoo 0:a23c5ee8213d 107 ispisiCifru(odabranaCifra);
diinnoo 0:a23c5ee8213d 108 }
diinnoo 0:a23c5ee8213d 109 }