by Rob Toulson and Tim Wilmshurst from textbook "Fast and Effective Embedded Systems Design: Applying the ARM mbed"

Dependencies:   mbed

Revision:
0:faf907fb2777
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Oct 15 21:22:39 2012 +0000
@@ -0,0 +1,40 @@
+/* Program Example 6.2: Display counter for 0-99 
+                                                              */
+#include "mbed.h"
+BusOut Seg1(p5,p6,p7,p8,p9,p10,p11,p12); // A,B,C,D,E,F,G,DP
+BusOut Seg2(p13,p14,p15,p16,p17,p18,p19,p20); 
+
+char SegConvert(char SegValue);     // function prototype
+int main() {                        // main program
+  while (1) {                       // infinite loop
+    for (char j=0;j<10;j++) {       // counter loop 1
+      Seg2=SegConvert(j);           // tens column
+      for (char i=0;i<10;i++) {     // counter loop 2
+          Seg1=SegConvert(i);       // units column
+          wait(0.2);     
+      }
+    }
+  }
+}
+
+
+
+char SegConvert(char SegValue) {        // function 'SegConvert'
+  char SegByte=0x00;
+  switch (SegValue) {                   //DP G F E D C B A
+    case 0 : SegByte = 0x3F;break;      // 0 0 1 1 1 1 1 1 binary
+    case 1 : SegByte = 0x06;break;      // 0 0 0 0 0 1 1 0 binary
+    case 2 : SegByte = 0x5B;break;      // 0 1 0 1 1 0 1 1 binary
+    case 3 : SegByte = 0x4F;break;      // 0 1 0 0 1 1 1 1 binary
+    case 4 : SegByte = 0x66;break;      // 0 1 1 0 0 1 1 0 binary
+    case 5 : SegByte = 0x6D;break;      // 0 1 1 0 1 1 0 1 binary
+    case 6 : SegByte = 0x7D;break;      // 0 1 1 1 1 1 0 1 binary
+    case 7 : SegByte = 0x07;break;      // 0 0 0 0 0 1 1 1 binary
+    case 8 : SegByte = 0x7F;break;      // 0 1 1 1 1 1 1 1 binary
+    case 9 : SegByte = 0x6F;break;      // 0 1 1 0 1 1 1 1 binary
+  }
+    return SegByte;
+}
+
+
+