Basic code for multiplexing LU-3011 11 Digit 7 Segment Display

Dependencies:   mbed

Committer:
logictom
Date:
Fri Oct 07 02:30:51 2011 +0000
Revision:
1:763fde365f8e
Parent:
0:61e6eaba7852

        

Who changed what in which revision?

UserRevisionLine numberNew 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 1:763fde365f8e 88 showNum(i); //Update number
logictom 1:763fde365f8e 89 wait_us(50); //Wait period
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 }