tim008 tim008
/
Zadatak2
hasakovic Nedzad Haris spahic
main.cpp
- Committer:
- tim008
- Date:
- 2014-03-20
- Revision:
- 0:c5a847a6fc82
File content as of revision 0:c5a847a6fc82:
#include "mbed.h" BusOut segmenti( dp2,dp1,dp28, dp6,dp5,dp27,dp26); // 7 segmenata int brojevi[10]={0x01,0x4f,0x12,0x06,0x4c,0x24,0x20,0x0f,0x0,0x04}; DigitalOut redovi[4] = {dp18, dp17, dp16, dp15}; DigitalIn kolone[4] = {dp13, dp11, dp10, dp9}; BusOut mjesta(dp23, dp24, dp25); int prva(0), druga(0), treca(0); DigitalOut dp(dp4); // dec point void prikaziBroj(int n) { segmenti = brojevi[n]; } void osvjezi() { mjesta = 6; prikaziBroj(druga); wait(0.01); mjesta=5; prikaziBroj(treca); wait(0.01); mjesta=3; prikaziBroj(prva); wait(0.01); dp=1; } void prikaz(int t, int ind) { if(ind==0) prva =t; else if(ind == 1) druga = t; else if(ind==2) treca = t; osvjezi(); } int main() { int ind(0); bool pritisnuto(false); mjesta = 0; osvjezi(); while(1) { for(int i=0;i<4;i++) { redovi[i] = 1; for(int j=0;j<4;j++) { if(kolone[j]==1) // ako je nesto pritisnuto { if(i<3 && j<3 || i==3 && j==1) // ako je broj (0-9) { prikaz(i*3 + j + 1, ind); pritisnuto = true; } else if(i==2 && j==3) // ako je C { prva = druga = treca = 0; osvjezi(); ind = 0; } } else { osvjezi(); if(pritisnuto) { pritisnuto = false; if(ind<2) ind++; } } } redovi[i] = 0; } } }