Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@1:5002e9577641, 2016-09-04 (annotated)
- Committer:
- yu10078999
- Date:
- Sun Sep 04 07:55:21 2016 +0000
- Revision:
- 1:5002e9577641
- Parent:
- 0:b7855d83d15b
2
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| yu10078999 | 0:b7855d83d15b | 1 | #include "mbed.h" |
| yu10078999 | 0:b7855d83d15b | 2 | |
| yu10078999 | 0:b7855d83d15b | 3 | DigitalOut datapin(D8); |
| yu10078999 | 0:b7855d83d15b | 4 | DigitalOut latchpin(D9); |
| yu10078999 | 0:b7855d83d15b | 5 | DigitalOut clockpin(D10); |
| yu10078999 | 0:b7855d83d15b | 6 | DigitalOut ww(D11); |
| yu10078999 | 0:b7855d83d15b | 7 | DigitalOut xx(D12); |
| yu10078999 | 0:b7855d83d15b | 8 | DigitalOut yy(D13); |
| yu10078999 | 0:b7855d83d15b | 9 | DigitalOut zz(D14); |
| yu10078999 | 0:b7855d83d15b | 10 | |
| yu10078999 | 1:5002e9577641 | 11 | const int state[10][8]= { |
| yu10078999 | 0:b7855d83d15b | 12 | { 0, 1, 1, 1, 1, 1, 1}, // 0 |
| yu10078999 | 0:b7855d83d15b | 13 | { 0, 0, 0, 0, 1, 1, 0}, // 1 |
| yu10078999 | 0:b7855d83d15b | 14 | { 1, 0, 1, 1, 0, 1, 1}, // 2 |
| yu10078999 | 0:b7855d83d15b | 15 | { 1, 0, 0, 1, 1, 1, 1}, // 3 |
| yu10078999 | 0:b7855d83d15b | 16 | { 1, 1, 0, 0, 1, 1, 0}, // 4 |
| yu10078999 | 0:b7855d83d15b | 17 | { 1, 1, 0, 1, 1, 0, 1}, // 5 |
| yu10078999 | 0:b7855d83d15b | 18 | { 1, 1, 1, 1, 1, 0, 0}, // 6 |
| yu10078999 | 0:b7855d83d15b | 19 | { 0, 0, 0, 0, 1, 1, 1}, // 7 |
| yu10078999 | 0:b7855d83d15b | 20 | { 1, 1, 1, 1, 1, 1, 1}, // 8 |
| yu10078999 | 0:b7855d83d15b | 21 | { 1, 1, 0, 0, 1, 1, 1} // 9 |
| yu10078999 | 0:b7855d83d15b | 22 | }; |
| yu10078999 | 0:b7855d83d15b | 23 | void seg1(int num) |
| yu10078999 | 0:b7855d83d15b | 24 | { |
| yu10078999 | 0:b7855d83d15b | 25 | ww=1; |
| yu10078999 | 0:b7855d83d15b | 26 | xx=1; |
| yu10078999 | 0:b7855d83d15b | 27 | yy=1; |
| yu10078999 | 0:b7855d83d15b | 28 | zz=1; |
| yu10078999 | 0:b7855d83d15b | 29 | latchpin=0; |
| yu10078999 | 0:b7855d83d15b | 30 | for(int i=0;i<=7;i++) |
| yu10078999 | 0:b7855d83d15b | 31 | { |
| yu10078999 | 0:b7855d83d15b | 32 | datapin=state[num][i]; |
| yu10078999 | 0:b7855d83d15b | 33 | clockpin=1; |
| yu10078999 | 0:b7855d83d15b | 34 | clockpin=0; |
| yu10078999 | 0:b7855d83d15b | 35 | } |
| yu10078999 | 0:b7855d83d15b | 36 | latchpin=1; |
| yu10078999 | 0:b7855d83d15b | 37 | ww=0; |
| yu10078999 | 0:b7855d83d15b | 38 | } |
| yu10078999 | 0:b7855d83d15b | 39 | void seg2(int num) |
| yu10078999 | 0:b7855d83d15b | 40 | { |
| yu10078999 | 0:b7855d83d15b | 41 | ww=1; |
| yu10078999 | 0:b7855d83d15b | 42 | xx=1; |
| yu10078999 | 0:b7855d83d15b | 43 | yy=1; |
| yu10078999 | 0:b7855d83d15b | 44 | zz=1; |
| yu10078999 | 0:b7855d83d15b | 45 | latchpin=0; |
| yu10078999 | 0:b7855d83d15b | 46 | for(int i=0;i<=7;i++) |
| yu10078999 | 0:b7855d83d15b | 47 | { |
| yu10078999 | 0:b7855d83d15b | 48 | datapin=state[num][i]; |
| yu10078999 | 0:b7855d83d15b | 49 | clockpin=1; |
| yu10078999 | 0:b7855d83d15b | 50 | clockpin=0; |
| yu10078999 | 0:b7855d83d15b | 51 | } |
| yu10078999 | 0:b7855d83d15b | 52 | latchpin=1; |
| yu10078999 | 0:b7855d83d15b | 53 | xx=0; |
| yu10078999 | 0:b7855d83d15b | 54 | } |
| yu10078999 | 0:b7855d83d15b | 55 | void seg3(int num) |
| yu10078999 | 0:b7855d83d15b | 56 | { |
| yu10078999 | 0:b7855d83d15b | 57 | ww=1; |
| yu10078999 | 0:b7855d83d15b | 58 | xx=1; |
| yu10078999 | 0:b7855d83d15b | 59 | yy=1; |
| yu10078999 | 0:b7855d83d15b | 60 | zz=1; |
| yu10078999 | 0:b7855d83d15b | 61 | latchpin=0; |
| yu10078999 | 0:b7855d83d15b | 62 | for(int i=0;i<=7;i++) |
| yu10078999 | 0:b7855d83d15b | 63 | { |
| yu10078999 | 0:b7855d83d15b | 64 | datapin=state[num][i]; |
| yu10078999 | 0:b7855d83d15b | 65 | clockpin=1; |
| yu10078999 | 0:b7855d83d15b | 66 | clockpin=0; |
| yu10078999 | 0:b7855d83d15b | 67 | } |
| yu10078999 | 0:b7855d83d15b | 68 | latchpin=1; |
| yu10078999 | 0:b7855d83d15b | 69 | yy=0; |
| yu10078999 | 0:b7855d83d15b | 70 | } |
| yu10078999 | 0:b7855d83d15b | 71 | void seg4(int num) |
| yu10078999 | 0:b7855d83d15b | 72 | { |
| yu10078999 | 0:b7855d83d15b | 73 | ww=1; |
| yu10078999 | 0:b7855d83d15b | 74 | xx=1; |
| yu10078999 | 0:b7855d83d15b | 75 | yy=1; |
| yu10078999 | 0:b7855d83d15b | 76 | zz=1; |
| yu10078999 | 0:b7855d83d15b | 77 | latchpin=0; |
| yu10078999 | 0:b7855d83d15b | 78 | for(int i=0;i<=7;i++) |
| yu10078999 | 0:b7855d83d15b | 79 | { |
| yu10078999 | 0:b7855d83d15b | 80 | datapin=state[num][i]; |
| yu10078999 | 0:b7855d83d15b | 81 | clockpin=1; |
| yu10078999 | 0:b7855d83d15b | 82 | clockpin=0; |
| yu10078999 | 0:b7855d83d15b | 83 | } |
| yu10078999 | 0:b7855d83d15b | 84 | latchpin=1; |
| yu10078999 | 0:b7855d83d15b | 85 | zz=0; |
| yu10078999 | 0:b7855d83d15b | 86 | } |
| yu10078999 | 0:b7855d83d15b | 87 | int main() |
| yu10078999 | 0:b7855d83d15b | 88 | { |
| yu10078999 | 1:5002e9577641 | 89 | int round=0,round2=0,round3=0,round4=0,r=0;; |
| yu10078999 | 0:b7855d83d15b | 90 | while(1) |
| yu10078999 | 0:b7855d83d15b | 91 | { |
| yu10078999 | 0:b7855d83d15b | 92 | seg1(round); |
| yu10078999 | 1:5002e9577641 | 93 | r++; |
| yu10078999 | 1:5002e9577641 | 94 | if (r>=30) |
| yu10078999 | 1:5002e9577641 | 95 | { |
| yu10078999 | 1:5002e9577641 | 96 | round++; |
| yu10078999 | 1:5002e9577641 | 97 | r=0; |
| yu10078999 | 1:5002e9577641 | 98 | } |
| yu10078999 | 0:b7855d83d15b | 99 | wait_ms(5); |
| yu10078999 | 0:b7855d83d15b | 100 | seg2(round2); |
| yu10078999 | 0:b7855d83d15b | 101 | wait_ms(5); |
| yu10078999 | 0:b7855d83d15b | 102 | seg3(round3); |
| yu10078999 | 0:b7855d83d15b | 103 | wait_ms(5); |
| yu10078999 | 0:b7855d83d15b | 104 | seg4(round4); |
| yu10078999 | 0:b7855d83d15b | 105 | wait_ms(5); |
| yu10078999 | 0:b7855d83d15b | 106 | if(round == 10) |
| yu10078999 | 0:b7855d83d15b | 107 | { |
| yu10078999 | 0:b7855d83d15b | 108 | round=0;round2++; |
| yu10078999 | 0:b7855d83d15b | 109 | if(round2 == 10) |
| yu10078999 | 0:b7855d83d15b | 110 | { |
| yu10078999 | 0:b7855d83d15b | 111 | round2=0;round3++; |
| yu10078999 | 0:b7855d83d15b | 112 | if(round3 == 10) |
| yu10078999 | 0:b7855d83d15b | 113 | { |
| yu10078999 | 0:b7855d83d15b | 114 | round3=0; |
| yu10078999 | 0:b7855d83d15b | 115 | round4++; |
| yu10078999 | 0:b7855d83d15b | 116 | if(round4 == 10) |
| yu10078999 | 0:b7855d83d15b | 117 | { |
| yu10078999 | 0:b7855d83d15b | 118 | round4=0; |
| yu10078999 | 0:b7855d83d15b | 119 | } |
| yu10078999 | 0:b7855d83d15b | 120 | } |
| yu10078999 | 0:b7855d83d15b | 121 | } |
| yu10078999 | 0:b7855d83d15b | 122 | } |
| yu10078999 | 0:b7855d83d15b | 123 | } |
| yu10078999 | 0:b7855d83d15b | 124 | } |