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.
main.cpp
- Committer:
- diinnoo
- Date:
- 2015-03-19
- Revision:
- 0:a23c5ee8213d
File content as of revision 0:a23c5ee8213d:
#include "mbed.h" #define dp23 P0_0 //tastatura: BusOut Redovi (dp16, dp15, dp17, dp18); BusIn Kolone (dp9, dp10, dp11, dp13); //display: DigitalOut enableSignal(dp14); BusOut odabirCifre(dp25,dp24,dp23); BusOut segmentBroja(dp2,dp1,dp28,dp6,dp5,dp27,dp26); int prazanDisplay = 127; int ucitajTipkuSaTastature() { int i = 0; int j = 0; for(i = 0; i < 4; i++) { Redovi [i] = 1; for(j = 0; j < 4; j++) { if(Kolone [j] == 1) { if(i == 0 && j == 0) {Redovi[i] = 0; return 1; } if(i == 0 && j == 1) {Redovi[i] = 0; return 2; } if(i == 0 && j == 2) {Redovi[i] = 0; return 3; } if(i == 1 && j == 0) {Redovi[i] = 0; return 4; } if(i == 1 && j == 1) {Redovi[i] = 0; return 5; } if(i == 1 && j == 2) {Redovi[i] = 0; return 6; } if(i == 2 && j == 0) {Redovi[i] = 0; return 7; } if(i == 2 && j == 1) {Redovi[i] = 0; return 8; } if(i == 2 && j == 2) {Redovi[i] = 0; return 9; } if(i == 3 && j == 1) {Redovi[i] = 0; return 0; } if(i == 2 && j == 3) {Redovi[i] = 0; return -1; } } } Redovi[i] = 0; } return 999; } int brojevi[10] = {1, 79, 18, 6, 76, 36, 32, 14, 0, 4}; int pamtiPoziciju = 0; int cifre[3] = {888, 888, 888}; void ispisiCifru1(int cifra) { odabirCifre = 6; segmentBroja = brojevi[cifra]; wait(0.1); cifre[2] = cifra; } void ispisiCifru(int cifra) { //ispis stotinki: odabirCifre = 7; if(cifre[2] == 888) segmentBroja = prazanDisplay; else segmentBroja = brojevi[cifre[2]]; odabirCifre = 6; wait(0.001); //ispis manje cifre sekundi: odabirCifre = 7; if(cifre[1] == 888) segmentBroja = prazanDisplay; else segmentBroja = brojevi[cifre[1]]; odabirCifre = 5; wait(0.001); //ispis vece cifre sekundi: odabirCifre = 7; if(cifre[0] == 888) segmentBroja = prazanDisplay; else segmentBroja = brojevi[cifre[0]]; odabirCifre = 3; wait(0.001); } void pomjeriCifre(int nova) { cifre[0] = cifre[1] ; cifre[1] = cifre[2]; cifre[2] = nova; } int brojac = 0; int main() { enableSignal = 1; odabirCifre = 6; pamtiPoziciju = 1; segmentBroja = brojevi[8]; wait(2); int odabranaCifra = brojevi[0]; while(1) { if (ucitajTipkuSaTastature() != 999) { brojac++; odabranaCifra = ucitajTipkuSaTastature(); if(brojac == 50) pomjeriCifre(odabranaCifra); } if (odabranaCifra == -1) { pomjeriCifre(888); pomjeriCifre(888); segmentBroja = prazanDisplay; continue; } if(ucitajTipkuSaTastature() == 999) brojac = 0; ispisiCifru(odabranaCifra); } }