by Rob Toulson and Tim Wilmshurst from textbook "Fast and Effective Embedded Systems Design: Applying the ARM mbed"
Diff: main.cpp
- 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; +} + + +