Tom Davies
/
LU-3011
Basic code for multiplexing LU-3011 11 Digit 7 Segment Display
main.cpp@0:61e6eaba7852, 2011-10-07 (annotated)
- Committer:
- logictom
- Date:
- Fri Oct 07 02:26:38 2011 +0000
- Revision:
- 0:61e6eaba7852
- Child:
- 1:763fde365f8e
Basic building block
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
logictom | 0:61e6eaba7852 | 1 | // |
logictom | 0:61e6eaba7852 | 2 | // LU-3011 11 Digit 7 Segment Display |
logictom | 0:61e6eaba7852 | 3 | // v0.1 06/10/11 |
logictom | 0:61e6eaba7852 | 4 | // Uses ticker to muliplex display to show whole numbers |
logictom | 0:61e6eaba7852 | 5 | // Maybe more efficient way to code switch/case segment? |
logictom | 0:61e6eaba7852 | 6 | // Doesn't currently handle decimal point - whole numbers only |
logictom | 0:61e6eaba7852 | 7 | // |
logictom | 0:61e6eaba7852 | 8 | |
logictom | 0:61e6eaba7852 | 9 | #include "mbed.h" |
logictom | 0:61e6eaba7852 | 10 | |
logictom | 0:61e6eaba7852 | 11 | //Prototypes |
logictom | 0:61e6eaba7852 | 12 | void dispNumDig (int num, int digit); |
logictom | 0:61e6eaba7852 | 13 | void upDisp (void); |
logictom | 0:61e6eaba7852 | 14 | void updateDisp (int num, int digit); |
logictom | 0:61e6eaba7852 | 15 | void showNum(unsigned int num); |
logictom | 0:61e6eaba7852 | 16 | |
logictom | 0:61e6eaba7852 | 17 | |
logictom | 0:61e6eaba7852 | 18 | //Globals |
logictom | 0:61e6eaba7852 | 19 | int dispArray[15]; // Holds Displayed Value |
logictom | 0:61e6eaba7852 | 20 | int dispArrayIndex = 0; // Used to cycle digits displayed by ticker |
logictom | 0:61e6eaba7852 | 21 | |
logictom | 0:61e6eaba7852 | 22 | Ticker pov; // Ticker Interrupt |
logictom | 0:61e6eaba7852 | 23 | Serial pc(USBTX,USBRX); // Default PC Comms |
logictom | 0:61e6eaba7852 | 24 | DigitalOut myled(LED1); // Onboard LED for debug |
logictom | 0:61e6eaba7852 | 25 | |
logictom | 0:61e6eaba7852 | 26 | // 7 Segment Display - PCB Connections |
logictom | 0:61e6eaba7852 | 27 | // Digits |
logictom | 0:61e6eaba7852 | 28 | DigitalOut D11(p7); //PCB Pin 1 - Digit 11 |
logictom | 0:61e6eaba7852 | 29 | DigitalOut D10(p30); //PCB Pin 2 |
logictom | 0:61e6eaba7852 | 30 | DigitalOut D9(p29); //PCB Pin 3 |
logictom | 0:61e6eaba7852 | 31 | DigitalOut D8(p28); //PCB Pin 4 |
logictom | 0:61e6eaba7852 | 32 | DigitalOut D7(p26); //PCB Pin 6 |
logictom | 0:61e6eaba7852 | 33 | DigitalOut D6(p24); //PCB Pin 8 |
logictom | 0:61e6eaba7852 | 34 | DigitalOut D5(p22); //PCB Pin 10 |
logictom | 0:61e6eaba7852 | 35 | DigitalOut D4(p20); //PCB Pin 12 |
logictom | 0:61e6eaba7852 | 36 | DigitalOut D3(p18); //PCB Pin 14 |
logictom | 0:61e6eaba7852 | 37 | DigitalOut D2(p16); //PCB Pin 16 |
logictom | 0:61e6eaba7852 | 38 | DigitalOut D1(p14); //PCB Pin 18 |
logictom | 0:61e6eaba7852 | 39 | |
logictom | 0:61e6eaba7852 | 40 | // Segments |
logictom | 0:61e6eaba7852 | 41 | DigitalOut SP(p27); //PCB Pin 5 - Segment Decimal Point |
logictom | 0:61e6eaba7852 | 42 | DigitalOut SA(p21); //PCB Pin 11 - Segment A |
logictom | 0:61e6eaba7852 | 43 | DigitalOut SB(p13); //PCB Pin 19 |
logictom | 0:61e6eaba7852 | 44 | DigitalOut SC(p25); //PCB Pin 7 |
logictom | 0:61e6eaba7852 | 45 | DigitalOut SD(p17); //PCB Pin 15 |
logictom | 0:61e6eaba7852 | 46 | DigitalOut SE(p23); //PCB Pin 9 |
logictom | 0:61e6eaba7852 | 47 | DigitalOut SF(p15); //PCB Pin 17 |
logictom | 0:61e6eaba7852 | 48 | DigitalOut SG(p19); //PCB Pin 13 |
logictom | 0:61e6eaba7852 | 49 | |
logictom | 0:61e6eaba7852 | 50 | //////////////////////////////////////////////// |
logictom | 0:61e6eaba7852 | 51 | |
logictom | 0:61e6eaba7852 | 52 | int main() |
logictom | 0:61e6eaba7852 | 53 | { |
logictom | 0:61e6eaba7852 | 54 | pov.attach_us(&upDisp, 100); // Function called (upDisp) by ticker(POV), interval (100uS) |
logictom | 0:61e6eaba7852 | 55 | |
logictom | 0:61e6eaba7852 | 56 | while (1) |
logictom | 0:61e6eaba7852 | 57 | { |
logictom | 0:61e6eaba7852 | 58 | myled = 1; |
logictom | 0:61e6eaba7852 | 59 | wait(0.2); |
logictom | 0:61e6eaba7852 | 60 | myled = 0; |
logictom | 0:61e6eaba7852 | 61 | wait(0.2); |
logictom | 0:61e6eaba7852 | 62 | |
logictom | 0:61e6eaba7852 | 63 | // Quick check - wiring and code correct |
logictom | 0:61e6eaba7852 | 64 | updateDisp (1, 11); //number, digit |
logictom | 0:61e6eaba7852 | 65 | updateDisp (2, 10); //Directly updating array through function |
logictom | 0:61e6eaba7852 | 66 | updateDisp (3, 9); |
logictom | 0:61e6eaba7852 | 67 | updateDisp (4, 8); |
logictom | 0:61e6eaba7852 | 68 | updateDisp (5, 7); |
logictom | 0:61e6eaba7852 | 69 | updateDisp (6, 6); |
logictom | 0:61e6eaba7852 | 70 | updateDisp (7, 5); |
logictom | 0:61e6eaba7852 | 71 | updateDisp (8, 4); |
logictom | 0:61e6eaba7852 | 72 | updateDisp (9, 3); |
logictom | 0:61e6eaba7852 | 73 | updateDisp (0, 2); |
logictom | 0:61e6eaba7852 | 74 | updateDisp (1, 1); |
logictom | 0:61e6eaba7852 | 75 | wait(2); |
logictom | 0:61e6eaba7852 | 76 | |
logictom | 0:61e6eaba7852 | 77 | for(int i=0;i<12;i++) |
logictom | 0:61e6eaba7852 | 78 | { |
logictom | 0:61e6eaba7852 | 79 | dispArray[i] = 11; //Any number other that 0-9 blanks digit |
logictom | 0:61e6eaba7852 | 80 | } |
logictom | 0:61e6eaba7852 | 81 | wait(1); |
logictom | 0:61e6eaba7852 | 82 | |
logictom | 0:61e6eaba7852 | 83 | |
logictom | 0:61e6eaba7852 | 84 | while (1) |
logictom | 0:61e6eaba7852 | 85 | { // Loop Counting |
logictom | 0:61e6eaba7852 | 86 | for (unsigned int i=0; i<2000000000; i++) |
logictom | 0:61e6eaba7852 | 87 | { //Loop - arbitary value |
logictom | 0:61e6eaba7852 | 88 | showNum(i); // |
logictom | 0:61e6eaba7852 | 89 | wait_us(50); |
logictom | 0:61e6eaba7852 | 90 | } |
logictom | 0:61e6eaba7852 | 91 | } |
logictom | 0:61e6eaba7852 | 92 | |
logictom | 0:61e6eaba7852 | 93 | } //End While |
logictom | 0:61e6eaba7852 | 94 | } //End of main |
logictom | 0:61e6eaba7852 | 95 | |
logictom | 0:61e6eaba7852 | 96 | //////////////////////////////////////////////// |
logictom | 0:61e6eaba7852 | 97 | |
logictom | 0:61e6eaba7852 | 98 | void showNum(unsigned int num) |
logictom | 0:61e6eaba7852 | 99 | { //Splits number into digits |
logictom | 0:61e6eaba7852 | 100 | if (num < 10) |
logictom | 0:61e6eaba7852 | 101 | { //If < 10 only 1 digit needed |
logictom | 0:61e6eaba7852 | 102 | updateDisp (num, 1); //Update array |
logictom | 0:61e6eaba7852 | 103 | } |
logictom | 0:61e6eaba7852 | 104 | else |
logictom | 0:61e6eaba7852 | 105 | { //Otherwise split and add to array |
logictom | 0:61e6eaba7852 | 106 | int count = 1; |
logictom | 0:61e6eaba7852 | 107 | while (num!=0) |
logictom | 0:61e6eaba7852 | 108 | { //Split each digit and add to array in position for display |
logictom | 0:61e6eaba7852 | 109 | int digit = num % 10; |
logictom | 0:61e6eaba7852 | 110 | num = num / 10; |
logictom | 0:61e6eaba7852 | 111 | updateDisp (digit, count); |
logictom | 0:61e6eaba7852 | 112 | count++; |
logictom | 0:61e6eaba7852 | 113 | } |
logictom | 0:61e6eaba7852 | 114 | } |
logictom | 0:61e6eaba7852 | 115 | } |
logictom | 0:61e6eaba7852 | 116 | |
logictom | 0:61e6eaba7852 | 117 | //////////////////////////////////////////////// |
logictom | 0:61e6eaba7852 | 118 | |
logictom | 0:61e6eaba7852 | 119 | void updateDisp (int num, int digit) |
logictom | 0:61e6eaba7852 | 120 | { //Update display array |
logictom | 0:61e6eaba7852 | 121 | //Seperate function - not needed now but maybe for further fuctionality |
logictom | 0:61e6eaba7852 | 122 | dispArray[digit] = num; |
logictom | 0:61e6eaba7852 | 123 | } |
logictom | 0:61e6eaba7852 | 124 | |
logictom | 0:61e6eaba7852 | 125 | //////////////////////////////////////////////// |
logictom | 0:61e6eaba7852 | 126 | |
logictom | 0:61e6eaba7852 | 127 | void upDisp (void) |
logictom | 0:61e6eaba7852 | 128 | { //Called by ticker - switched displayed digit - using POV to muliplex display |
logictom | 0:61e6eaba7852 | 129 | if (dispArrayIndex < 11) |
logictom | 0:61e6eaba7852 | 130 | { //Increment display index |
logictom | 0:61e6eaba7852 | 131 | dispArrayIndex++; |
logictom | 0:61e6eaba7852 | 132 | } |
logictom | 0:61e6eaba7852 | 133 | else |
logictom | 0:61e6eaba7852 | 134 | { //Otherwise out of rage - reset |
logictom | 0:61e6eaba7852 | 135 | dispArrayIndex = 0; |
logictom | 0:61e6eaba7852 | 136 | } |
logictom | 0:61e6eaba7852 | 137 | // Call function to switch digit and value |
logictom | 0:61e6eaba7852 | 138 | dispNumDig (dispArray[dispArrayIndex], dispArrayIndex); |
logictom | 0:61e6eaba7852 | 139 | } |
logictom | 0:61e6eaba7852 | 140 | |
logictom | 0:61e6eaba7852 | 141 | //////////////////////////////////////////////// |
logictom | 0:61e6eaba7852 | 142 | |
logictom | 0:61e6eaba7852 | 143 | void dispNumDig (int num, int digit) |
logictom | 0:61e6eaba7852 | 144 | { //Switches Digit and corrisponding Segments |
logictom | 0:61e6eaba7852 | 145 | //Switch/Case setup - more efficient way of coding??? |
logictom | 0:61e6eaba7852 | 146 | switch (digit) |
logictom | 0:61e6eaba7852 | 147 | { |
logictom | 0:61e6eaba7852 | 148 | case 1: |
logictom | 0:61e6eaba7852 | 149 | D1 = 0; |
logictom | 0:61e6eaba7852 | 150 | D2 = 1; |
logictom | 0:61e6eaba7852 | 151 | D3 = 1; |
logictom | 0:61e6eaba7852 | 152 | D4 = 1; |
logictom | 0:61e6eaba7852 | 153 | D5 = 1; |
logictom | 0:61e6eaba7852 | 154 | D6 = 1; |
logictom | 0:61e6eaba7852 | 155 | D7 = 1; |
logictom | 0:61e6eaba7852 | 156 | D8 = 1; |
logictom | 0:61e6eaba7852 | 157 | D9 = 1; |
logictom | 0:61e6eaba7852 | 158 | D10 = 1; |
logictom | 0:61e6eaba7852 | 159 | D11 = 1; |
logictom | 0:61e6eaba7852 | 160 | break; |
logictom | 0:61e6eaba7852 | 161 | case 2: |
logictom | 0:61e6eaba7852 | 162 | D1 = 1; |
logictom | 0:61e6eaba7852 | 163 | D2 = 0; |
logictom | 0:61e6eaba7852 | 164 | D3 = 1; |
logictom | 0:61e6eaba7852 | 165 | D4 = 1; |
logictom | 0:61e6eaba7852 | 166 | D5 = 1; |
logictom | 0:61e6eaba7852 | 167 | D6 = 1; |
logictom | 0:61e6eaba7852 | 168 | D7 = 1; |
logictom | 0:61e6eaba7852 | 169 | D8 = 1; |
logictom | 0:61e6eaba7852 | 170 | D9 = 1; |
logictom | 0:61e6eaba7852 | 171 | D10 = 1; |
logictom | 0:61e6eaba7852 | 172 | D11 = 1; |
logictom | 0:61e6eaba7852 | 173 | break; |
logictom | 0:61e6eaba7852 | 174 | case 3: |
logictom | 0:61e6eaba7852 | 175 | D1 = 1; |
logictom | 0:61e6eaba7852 | 176 | D2 = 1; |
logictom | 0:61e6eaba7852 | 177 | D3 = 0; |
logictom | 0:61e6eaba7852 | 178 | D4 = 1; |
logictom | 0:61e6eaba7852 | 179 | D5 = 1; |
logictom | 0:61e6eaba7852 | 180 | D6 = 1; |
logictom | 0:61e6eaba7852 | 181 | D7 = 1; |
logictom | 0:61e6eaba7852 | 182 | D8 = 1; |
logictom | 0:61e6eaba7852 | 183 | D9 = 1; |
logictom | 0:61e6eaba7852 | 184 | D10 = 1; |
logictom | 0:61e6eaba7852 | 185 | D11 = 1; |
logictom | 0:61e6eaba7852 | 186 | break; |
logictom | 0:61e6eaba7852 | 187 | case 4: |
logictom | 0:61e6eaba7852 | 188 | D1 = 1; |
logictom | 0:61e6eaba7852 | 189 | D2 = 1; |
logictom | 0:61e6eaba7852 | 190 | D3 = 1; |
logictom | 0:61e6eaba7852 | 191 | D4 = 0; |
logictom | 0:61e6eaba7852 | 192 | D5 = 1; |
logictom | 0:61e6eaba7852 | 193 | D6 = 1; |
logictom | 0:61e6eaba7852 | 194 | D7 = 1; |
logictom | 0:61e6eaba7852 | 195 | D8 = 1; |
logictom | 0:61e6eaba7852 | 196 | D9 = 1; |
logictom | 0:61e6eaba7852 | 197 | D10 = 1; |
logictom | 0:61e6eaba7852 | 198 | D11 = 1; |
logictom | 0:61e6eaba7852 | 199 | break; |
logictom | 0:61e6eaba7852 | 200 | case 5: |
logictom | 0:61e6eaba7852 | 201 | D1 = 1; |
logictom | 0:61e6eaba7852 | 202 | D2 = 1; |
logictom | 0:61e6eaba7852 | 203 | D3 = 1; |
logictom | 0:61e6eaba7852 | 204 | D4 = 1; |
logictom | 0:61e6eaba7852 | 205 | D5 = 0; |
logictom | 0:61e6eaba7852 | 206 | D6 = 1; |
logictom | 0:61e6eaba7852 | 207 | D7 = 1; |
logictom | 0:61e6eaba7852 | 208 | D8 = 1; |
logictom | 0:61e6eaba7852 | 209 | D9 = 1; |
logictom | 0:61e6eaba7852 | 210 | D10 = 1; |
logictom | 0:61e6eaba7852 | 211 | D11 = 1; |
logictom | 0:61e6eaba7852 | 212 | break; |
logictom | 0:61e6eaba7852 | 213 | case 6: |
logictom | 0:61e6eaba7852 | 214 | D1 = 1; |
logictom | 0:61e6eaba7852 | 215 | D2 = 1; |
logictom | 0:61e6eaba7852 | 216 | D3 = 1; |
logictom | 0:61e6eaba7852 | 217 | D4 = 1; |
logictom | 0:61e6eaba7852 | 218 | D5 = 1; |
logictom | 0:61e6eaba7852 | 219 | D6 = 0; |
logictom | 0:61e6eaba7852 | 220 | D7 = 1; |
logictom | 0:61e6eaba7852 | 221 | D8 = 1; |
logictom | 0:61e6eaba7852 | 222 | D9 = 1; |
logictom | 0:61e6eaba7852 | 223 | D10 = 1; |
logictom | 0:61e6eaba7852 | 224 | D11 = 1; |
logictom | 0:61e6eaba7852 | 225 | break; |
logictom | 0:61e6eaba7852 | 226 | case 7: |
logictom | 0:61e6eaba7852 | 227 | D1 = 1; |
logictom | 0:61e6eaba7852 | 228 | D2 = 1; |
logictom | 0:61e6eaba7852 | 229 | D3 = 1; |
logictom | 0:61e6eaba7852 | 230 | D4 = 1; |
logictom | 0:61e6eaba7852 | 231 | D5 = 1; |
logictom | 0:61e6eaba7852 | 232 | D6 = 1; |
logictom | 0:61e6eaba7852 | 233 | D7 = 0; |
logictom | 0:61e6eaba7852 | 234 | D8 = 1; |
logictom | 0:61e6eaba7852 | 235 | D9 = 1; |
logictom | 0:61e6eaba7852 | 236 | D10 = 1; |
logictom | 0:61e6eaba7852 | 237 | D11 = 1; |
logictom | 0:61e6eaba7852 | 238 | break; |
logictom | 0:61e6eaba7852 | 239 | case 8: |
logictom | 0:61e6eaba7852 | 240 | D1 = 1; |
logictom | 0:61e6eaba7852 | 241 | D2 = 1; |
logictom | 0:61e6eaba7852 | 242 | D3 = 1; |
logictom | 0:61e6eaba7852 | 243 | D4 = 1; |
logictom | 0:61e6eaba7852 | 244 | D5 = 1; |
logictom | 0:61e6eaba7852 | 245 | D6 = 1; |
logictom | 0:61e6eaba7852 | 246 | D7 = 1; |
logictom | 0:61e6eaba7852 | 247 | D8 = 0; |
logictom | 0:61e6eaba7852 | 248 | D9 = 1; |
logictom | 0:61e6eaba7852 | 249 | D10 = 1; |
logictom | 0:61e6eaba7852 | 250 | D11 = 1; |
logictom | 0:61e6eaba7852 | 251 | break; |
logictom | 0:61e6eaba7852 | 252 | case 9: |
logictom | 0:61e6eaba7852 | 253 | D1 = 1; |
logictom | 0:61e6eaba7852 | 254 | D2 = 1; |
logictom | 0:61e6eaba7852 | 255 | D3 = 1; |
logictom | 0:61e6eaba7852 | 256 | D4 = 1; |
logictom | 0:61e6eaba7852 | 257 | D5 = 1; |
logictom | 0:61e6eaba7852 | 258 | D6 = 1; |
logictom | 0:61e6eaba7852 | 259 | D7 = 1; |
logictom | 0:61e6eaba7852 | 260 | D8 = 1; |
logictom | 0:61e6eaba7852 | 261 | D9 = 0; |
logictom | 0:61e6eaba7852 | 262 | D10 = 1; |
logictom | 0:61e6eaba7852 | 263 | D11 = 1; |
logictom | 0:61e6eaba7852 | 264 | break; |
logictom | 0:61e6eaba7852 | 265 | case 10: |
logictom | 0:61e6eaba7852 | 266 | D1 = 1; |
logictom | 0:61e6eaba7852 | 267 | D2 = 1; |
logictom | 0:61e6eaba7852 | 268 | D3 = 1; |
logictom | 0:61e6eaba7852 | 269 | D4 = 1; |
logictom | 0:61e6eaba7852 | 270 | D5 = 1; |
logictom | 0:61e6eaba7852 | 271 | D6 = 1; |
logictom | 0:61e6eaba7852 | 272 | D7 = 1; |
logictom | 0:61e6eaba7852 | 273 | D8 = 1; |
logictom | 0:61e6eaba7852 | 274 | D9 = 1; |
logictom | 0:61e6eaba7852 | 275 | D10 = 0; |
logictom | 0:61e6eaba7852 | 276 | D11 = 1; |
logictom | 0:61e6eaba7852 | 277 | break; |
logictom | 0:61e6eaba7852 | 278 | case 11: |
logictom | 0:61e6eaba7852 | 279 | D1 = 1; |
logictom | 0:61e6eaba7852 | 280 | D2 = 1; |
logictom | 0:61e6eaba7852 | 281 | D3 = 1; |
logictom | 0:61e6eaba7852 | 282 | D4 = 1; |
logictom | 0:61e6eaba7852 | 283 | D5 = 1; |
logictom | 0:61e6eaba7852 | 284 | D6 = 1; |
logictom | 0:61e6eaba7852 | 285 | D7 = 1; |
logictom | 0:61e6eaba7852 | 286 | D8 = 1; |
logictom | 0:61e6eaba7852 | 287 | D9 = 1; |
logictom | 0:61e6eaba7852 | 288 | D10 = 1; |
logictom | 0:61e6eaba7852 | 289 | D11 = 0; |
logictom | 0:61e6eaba7852 | 290 | break; |
logictom | 0:61e6eaba7852 | 291 | default: //If out of range switch off all digits |
logictom | 0:61e6eaba7852 | 292 | D1 = 1; |
logictom | 0:61e6eaba7852 | 293 | D2 = 1; |
logictom | 0:61e6eaba7852 | 294 | D3 = 1; |
logictom | 0:61e6eaba7852 | 295 | D4 = 1; |
logictom | 0:61e6eaba7852 | 296 | D5 = 1; |
logictom | 0:61e6eaba7852 | 297 | D6 = 1; |
logictom | 0:61e6eaba7852 | 298 | D7 = 1; |
logictom | 0:61e6eaba7852 | 299 | D8 = 1; |
logictom | 0:61e6eaba7852 | 300 | D9 = 1; |
logictom | 0:61e6eaba7852 | 301 | D10 = 1; |
logictom | 0:61e6eaba7852 | 302 | D11 = 1; |
logictom | 0:61e6eaba7852 | 303 | break; |
logictom | 0:61e6eaba7852 | 304 | } |
logictom | 0:61e6eaba7852 | 305 | |
logictom | 0:61e6eaba7852 | 306 | |
logictom | 0:61e6eaba7852 | 307 | |
logictom | 0:61e6eaba7852 | 308 | switch (num) |
logictom | 0:61e6eaba7852 | 309 | { //Case not currently included for decimcal point (SP) |
logictom | 0:61e6eaba7852 | 310 | case 0: |
logictom | 0:61e6eaba7852 | 311 | SP = 0; |
logictom | 0:61e6eaba7852 | 312 | SA = 1; |
logictom | 0:61e6eaba7852 | 313 | SB = 1; |
logictom | 0:61e6eaba7852 | 314 | SC = 1; |
logictom | 0:61e6eaba7852 | 315 | SD = 1; |
logictom | 0:61e6eaba7852 | 316 | SE = 1; |
logictom | 0:61e6eaba7852 | 317 | SF = 1; |
logictom | 0:61e6eaba7852 | 318 | SG = 0; |
logictom | 0:61e6eaba7852 | 319 | break; |
logictom | 0:61e6eaba7852 | 320 | case 1: |
logictom | 0:61e6eaba7852 | 321 | SP = 0; |
logictom | 0:61e6eaba7852 | 322 | SA = 0; |
logictom | 0:61e6eaba7852 | 323 | SB = 1; |
logictom | 0:61e6eaba7852 | 324 | SC = 1; |
logictom | 0:61e6eaba7852 | 325 | SD = 0; |
logictom | 0:61e6eaba7852 | 326 | SE = 0; |
logictom | 0:61e6eaba7852 | 327 | SF = 0; |
logictom | 0:61e6eaba7852 | 328 | SG = 0; |
logictom | 0:61e6eaba7852 | 329 | break; |
logictom | 0:61e6eaba7852 | 330 | case 2: |
logictom | 0:61e6eaba7852 | 331 | SP = 0; |
logictom | 0:61e6eaba7852 | 332 | SA = 1; |
logictom | 0:61e6eaba7852 | 333 | SB = 1; |
logictom | 0:61e6eaba7852 | 334 | SC = 0; |
logictom | 0:61e6eaba7852 | 335 | SD = 1; |
logictom | 0:61e6eaba7852 | 336 | SE = 1; |
logictom | 0:61e6eaba7852 | 337 | SF = 0; |
logictom | 0:61e6eaba7852 | 338 | SG = 1; |
logictom | 0:61e6eaba7852 | 339 | break; |
logictom | 0:61e6eaba7852 | 340 | case 3: |
logictom | 0:61e6eaba7852 | 341 | SP = 0; |
logictom | 0:61e6eaba7852 | 342 | SA = 1; |
logictom | 0:61e6eaba7852 | 343 | SB = 1; |
logictom | 0:61e6eaba7852 | 344 | SC = 1; |
logictom | 0:61e6eaba7852 | 345 | SD = 1; |
logictom | 0:61e6eaba7852 | 346 | SE = 0; |
logictom | 0:61e6eaba7852 | 347 | SF = 0; |
logictom | 0:61e6eaba7852 | 348 | SG = 1; |
logictom | 0:61e6eaba7852 | 349 | break; |
logictom | 0:61e6eaba7852 | 350 | case 4: |
logictom | 0:61e6eaba7852 | 351 | SP = 0; |
logictom | 0:61e6eaba7852 | 352 | SA = 0; |
logictom | 0:61e6eaba7852 | 353 | SB = 1; |
logictom | 0:61e6eaba7852 | 354 | SC = 1; |
logictom | 0:61e6eaba7852 | 355 | SD = 0; |
logictom | 0:61e6eaba7852 | 356 | SE = 0; |
logictom | 0:61e6eaba7852 | 357 | SF = 1; |
logictom | 0:61e6eaba7852 | 358 | SG = 1; |
logictom | 0:61e6eaba7852 | 359 | break; |
logictom | 0:61e6eaba7852 | 360 | case 5: |
logictom | 0:61e6eaba7852 | 361 | SP = 0; |
logictom | 0:61e6eaba7852 | 362 | SA = 1; |
logictom | 0:61e6eaba7852 | 363 | SB = 0; |
logictom | 0:61e6eaba7852 | 364 | SC = 1; |
logictom | 0:61e6eaba7852 | 365 | SD = 1; |
logictom | 0:61e6eaba7852 | 366 | SE = 0; |
logictom | 0:61e6eaba7852 | 367 | SF = 1; |
logictom | 0:61e6eaba7852 | 368 | SG = 1; |
logictom | 0:61e6eaba7852 | 369 | break; |
logictom | 0:61e6eaba7852 | 370 | case 6: |
logictom | 0:61e6eaba7852 | 371 | SP = 0; |
logictom | 0:61e6eaba7852 | 372 | SA = 1; |
logictom | 0:61e6eaba7852 | 373 | SB = 0; |
logictom | 0:61e6eaba7852 | 374 | SC = 1; |
logictom | 0:61e6eaba7852 | 375 | SD = 1; |
logictom | 0:61e6eaba7852 | 376 | SE = 1; |
logictom | 0:61e6eaba7852 | 377 | SF = 1; |
logictom | 0:61e6eaba7852 | 378 | SG = 1; |
logictom | 0:61e6eaba7852 | 379 | break; |
logictom | 0:61e6eaba7852 | 380 | case 7: |
logictom | 0:61e6eaba7852 | 381 | SP = 0; |
logictom | 0:61e6eaba7852 | 382 | SA = 1; |
logictom | 0:61e6eaba7852 | 383 | SB = 1; |
logictom | 0:61e6eaba7852 | 384 | SC = 1; |
logictom | 0:61e6eaba7852 | 385 | SD = 0; |
logictom | 0:61e6eaba7852 | 386 | SE = 0; |
logictom | 0:61e6eaba7852 | 387 | SF = 0; |
logictom | 0:61e6eaba7852 | 388 | SG = 0; |
logictom | 0:61e6eaba7852 | 389 | break; |
logictom | 0:61e6eaba7852 | 390 | case 8: |
logictom | 0:61e6eaba7852 | 391 | SP = 0; |
logictom | 0:61e6eaba7852 | 392 | SA = 1; |
logictom | 0:61e6eaba7852 | 393 | SB = 1; |
logictom | 0:61e6eaba7852 | 394 | SC = 1; |
logictom | 0:61e6eaba7852 | 395 | SD = 1; |
logictom | 0:61e6eaba7852 | 396 | SE = 1; |
logictom | 0:61e6eaba7852 | 397 | SF = 1; |
logictom | 0:61e6eaba7852 | 398 | SG = 1; |
logictom | 0:61e6eaba7852 | 399 | break; |
logictom | 0:61e6eaba7852 | 400 | case 9: |
logictom | 0:61e6eaba7852 | 401 | SP = 0; |
logictom | 0:61e6eaba7852 | 402 | SA = 1; |
logictom | 0:61e6eaba7852 | 403 | SB = 1; |
logictom | 0:61e6eaba7852 | 404 | SC = 1; |
logictom | 0:61e6eaba7852 | 405 | SD = 1; |
logictom | 0:61e6eaba7852 | 406 | SE = 0; |
logictom | 0:61e6eaba7852 | 407 | SF = 1; |
logictom | 0:61e6eaba7852 | 408 | SG = 1; |
logictom | 0:61e6eaba7852 | 409 | break; |
logictom | 0:61e6eaba7852 | 410 | |
logictom | 0:61e6eaba7852 | 411 | default: // If out of range switch off all segments |
logictom | 0:61e6eaba7852 | 412 | SP = 0; |
logictom | 0:61e6eaba7852 | 413 | SA = 0; |
logictom | 0:61e6eaba7852 | 414 | SB = 0; |
logictom | 0:61e6eaba7852 | 415 | SC = 0; |
logictom | 0:61e6eaba7852 | 416 | SD = 0; |
logictom | 0:61e6eaba7852 | 417 | SE = 0; |
logictom | 0:61e6eaba7852 | 418 | SF = 0; |
logictom | 0:61e6eaba7852 | 419 | SG = 0; |
logictom | 0:61e6eaba7852 | 420 | } |
logictom | 0:61e6eaba7852 | 421 | } |