Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void getStellen()
- {
- Timer = TCNT1;
- int tempNum;
- CurrentRPM = (60.0 * 14745600)/(256 * (float)Timer);
- Tausender = (int)CurrentRPM / 1000;
- tempNum = (int)CurrentRPM - (Tausender * 1000);
- Hunderter = tempNum / 100;
- tempNum = tempNum - (Hunderter * 100);
- Zehner = tempNum / 10;
- tempNum = tempNum - (Zehner * 10);
- Einer = tempNum;
- int j = SegmentCounter;
- if (j >= 0 && j < 6) setNumberToArray(Tausender, 0, j);
- else if (j > 14 && j < 21) setNumberToArray(Hunderter, 15, j);
- else if (j > 30 && j < 36) setNumberToArray(Zehner, 31, j);
- else if (j > 45 && j < 52) setNumberToArray(Einer, 46, j);
- else if (j > 61 && j < 69) for (int i = 3; i < 12; i++) setLed(i, 0x0F*Letter_M[i][j - 62], 0, 0, 255);
- else if (j > 72 && j < 77) for (int i = 3; i < 12; i++) setLed(i, 0x0F*Letter_P[i][j - 73], 0, 255, 0);
- else if (j > 80 && j < 89) for (int i = 3; i < 12; i++) setLed(i, 0x0F*Letter_R[i][j - 81], 255, 0, 0);
- else initarray();
- sendframe();
- }
- void setNumberToArray(int zahl, int segment, int j)
- {
- switch(zahl)
- {
- case 0:
- for (int i = 3; i < 12; i++) setLed(i, 0x0F*Zahl_0[i][SegmentCounter - segment], 0, 0, 255);
- break;
- case 1:
- for (int i = 3; i < 12; i++) setLed(i, 0x0F*Zahl_1[i][SegmentCounter - segment], 0, 0, 255);
- break;
- case 2:
- for (int i = 3; i < 12; i++) setLed(i, 0x0F*Zahl_2[i][SegmentCounter - segment], 0, 0, 255);
- break;
- case 3:
- for (int i = 3; i < 12; i++) setLed(i, 0x0F*Zahl_3[i][SegmentCounter - segment], 0, 0, 255);
- break;
- case 4:
- for (int i = 3; i < 12; i++) setLed(i, 0x0F*Zahl_4[i][SegmentCounter - segment], 0, 0, 255);
- break;
- case 5:
- for (int i = 3; i < 12; i++) setLed(i, 0x0F*Zahl_5[i][SegmentCounter - segment], 0, 0, 255);
- break;
- case 6:
- for (int i = 3; i < 12; i++) setLed(i, 0x0F*Zahl_6[i][SegmentCounter - segment], 0, 0, 255);
- break;
- case 7:
- for (int i = 3; i < 12; i++) setLed(i, 0x0F*Zahl_7[i][SegmentCounter - segment], 0, 0, 255);
- break;
- case 8:
- for (int i = 3; i < 12; i++) setLed(i, 0x0F*Zahl_8[i][SegmentCounter - segment], 0, 0, 255);
- break;
- case 9:
- for (int i = 3; i < 12; i++) setLed(i, 0x0F*Zahl_9[i][SegmentCounter - segment], 0, 0, 255);
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement