US, Vjezba 2 Stol 8, Amer Surkovic, Enis Pajic Zadatak 1

Dependencies:   mbed

Committer:
2016US_AmerSurkovic
Date:
Fri Mar 11 14:39:48 2016 +0000
Revision:
0:e7d477a2d869
US, Vjezba 2; Stol 8, Amer Surkovic, Enis Pajic; Zadatak 1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
2016US_AmerSurkovic 0:e7d477a2d869 1 #include "mbed.h"
2016US_AmerSurkovic 0:e7d477a2d869 2 #define dp23 P0_0
2016US_AmerSurkovic 0:e7d477a2d869 3
2016US_AmerSurkovic 0:e7d477a2d869 4 DigitalOut enable(dp14);
2016US_AmerSurkovic 0:e7d477a2d869 5
2016US_AmerSurkovic 0:e7d477a2d869 6 DigitalOut red1(dp16); // Redovi tastature
2016US_AmerSurkovic 0:e7d477a2d869 7 DigitalOut red2(dp15);
2016US_AmerSurkovic 0:e7d477a2d869 8 DigitalOut red3(dp17);
2016US_AmerSurkovic 0:e7d477a2d869 9 DigitalOut red4(dp18);
2016US_AmerSurkovic 0:e7d477a2d869 10
2016US_AmerSurkovic 0:e7d477a2d869 11 DigitalOut d1(dp23); // Diode
2016US_AmerSurkovic 0:e7d477a2d869 12 DigitalOut d2(dp24);
2016US_AmerSurkovic 0:e7d477a2d869 13 DigitalOut d3(dp25);
2016US_AmerSurkovic 0:e7d477a2d869 14 DigitalOut d4(dp26);
2016US_AmerSurkovic 0:e7d477a2d869 15 DigitalOut d5(dp27);
2016US_AmerSurkovic 0:e7d477a2d869 16 DigitalOut d6(dp5);
2016US_AmerSurkovic 0:e7d477a2d869 17 DigitalOut d7(dp6);
2016US_AmerSurkovic 0:e7d477a2d869 18 DigitalOut d8(dp28);
2016US_AmerSurkovic 0:e7d477a2d869 19
2016US_AmerSurkovic 0:e7d477a2d869 20 DigitalIn kolona1(dp9); // Kolone tastature
2016US_AmerSurkovic 0:e7d477a2d869 21 DigitalIn kolona2(dp10);
2016US_AmerSurkovic 0:e7d477a2d869 22 DigitalIn kolona3(dp11);
2016US_AmerSurkovic 0:e7d477a2d869 23 DigitalIn kolona4(dp13);
2016US_AmerSurkovic 0:e7d477a2d869 24
2016US_AmerSurkovic 0:e7d477a2d869 25
2016US_AmerSurkovic 0:e7d477a2d869 26 int ocitavanjeTastature(){
2016US_AmerSurkovic 0:e7d477a2d869 27
2016US_AmerSurkovic 0:e7d477a2d869 28 red1=1; // Pusten je napon logicke jedinice na red 1. Napon ostalih redova je 0.
2016US_AmerSurkovic 0:e7d477a2d869 29 {
2016US_AmerSurkovic 0:e7d477a2d869 30 // Ocitavamo napon kolona
2016US_AmerSurkovic 0:e7d477a2d869 31 if(kolona1==1) return 1;
2016US_AmerSurkovic 0:e7d477a2d869 32 if(kolona2==1) return 2;
2016US_AmerSurkovic 0:e7d477a2d869 33 if(kolona3==1) return 3;
2016US_AmerSurkovic 0:e7d477a2d869 34
2016US_AmerSurkovic 0:e7d477a2d869 35 }
2016US_AmerSurkovic 0:e7d477a2d869 36 red1=0;
2016US_AmerSurkovic 0:e7d477a2d869 37
2016US_AmerSurkovic 0:e7d477a2d869 38 red2=1; // Pusten je napon logicke jedinice na red 2. Napon ostalih redova je 0.
2016US_AmerSurkovic 0:e7d477a2d869 39 {
2016US_AmerSurkovic 0:e7d477a2d869 40 // Ocitavamo napon kolona
2016US_AmerSurkovic 0:e7d477a2d869 41 if(kolona1==1) return 4;
2016US_AmerSurkovic 0:e7d477a2d869 42 if(kolona2==1) return 5;
2016US_AmerSurkovic 0:e7d477a2d869 43 if(kolona3==1) return 6;
2016US_AmerSurkovic 0:e7d477a2d869 44 }
2016US_AmerSurkovic 0:e7d477a2d869 45 red2=0;
2016US_AmerSurkovic 0:e7d477a2d869 46
2016US_AmerSurkovic 0:e7d477a2d869 47 red3=1; // Pusten je napon logicke jedinice na red 3. Napon ostalih redova je 0.
2016US_AmerSurkovic 0:e7d477a2d869 48 {
2016US_AmerSurkovic 0:e7d477a2d869 49 // Ocitavamo napon kolona
2016US_AmerSurkovic 0:e7d477a2d869 50 if(kolona1==1) return 7;
2016US_AmerSurkovic 0:e7d477a2d869 51 if(kolona2==1) return 8;
2016US_AmerSurkovic 0:e7d477a2d869 52 }
2016US_AmerSurkovic 0:e7d477a2d869 53 red3=0;
2016US_AmerSurkovic 0:e7d477a2d869 54 }
2016US_AmerSurkovic 0:e7d477a2d869 55
2016US_AmerSurkovic 0:e7d477a2d869 56 int main() {
2016US_AmerSurkovic 0:e7d477a2d869 57 enable = 0;
2016US_AmerSurkovic 0:e7d477a2d869 58
2016US_AmerSurkovic 0:e7d477a2d869 59 while(1) {
2016US_AmerSurkovic 0:e7d477a2d869 60 d1 = d2 = d3 = d4 = d5 = d6 = d7 = d8 = 1;
2016US_AmerSurkovic 0:e7d477a2d869 61
2016US_AmerSurkovic 0:e7d477a2d869 62 int pritisnuto = ocitavanjeTastature();
2016US_AmerSurkovic 0:e7d477a2d869 63
2016US_AmerSurkovic 0:e7d477a2d869 64 if(pritisnuto == 1) d1=0;
2016US_AmerSurkovic 0:e7d477a2d869 65 else if(pritisnuto == 2) d2=0;
2016US_AmerSurkovic 0:e7d477a2d869 66 else if(pritisnuto == 3) d3=0;
2016US_AmerSurkovic 0:e7d477a2d869 67 else if(pritisnuto == 4) d4=0;
2016US_AmerSurkovic 0:e7d477a2d869 68 else if(pritisnuto == 5) d5=0;
2016US_AmerSurkovic 0:e7d477a2d869 69 else if(pritisnuto == 6) d6=0;
2016US_AmerSurkovic 0:e7d477a2d869 70 else if(pritisnuto == 7) d7=0;
2016US_AmerSurkovic 0:e7d477a2d869 71 else if(pritisnuto == 8) d8=0;
2016US_AmerSurkovic 0:e7d477a2d869 72 wait(0.8);
2016US_AmerSurkovic 0:e7d477a2d869 73 }
2016US_AmerSurkovic 0:e7d477a2d869 74 }