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@2:1b8ea01637ad, 2016-09-04 (annotated)
- Committer:
- yu10078999
- Date:
- Sun Sep 04 07:55:10 2016 +0000
- Revision:
- 2:1b8ea01637ad
- Parent:
- 1:ce89d84cafaa
2
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| yu10078999 | 0:05ed3adc34ad | 1 | #include "mbed.h" |
| yu10078999 | 0:05ed3adc34ad | 2 | |
| yu10078999 | 0:05ed3adc34ad | 3 | DigitalOut datapin(D8); |
| yu10078999 | 0:05ed3adc34ad | 4 | DigitalOut latchpin(D9); |
| yu10078999 | 0:05ed3adc34ad | 5 | DigitalOut clockpin(D10); |
| yu10078999 | 0:05ed3adc34ad | 6 | DigitalOut xx(D11); |
| yu10078999 | 0:05ed3adc34ad | 7 | DigitalOut zz(D12); |
| yu10078999 | 0:05ed3adc34ad | 8 | DigitalOut yy(D13); |
| yu10078999 | 0:05ed3adc34ad | 9 | |
| yu10078999 | 2:1b8ea01637ad | 10 | const int state[10][8]= { |
| yu10078999 | 0:05ed3adc34ad | 11 | { 0, 1, 1, 1, 1, 1, 1}, // 0 |
| yu10078999 | 0:05ed3adc34ad | 12 | { 0, 0, 0, 0, 1, 1, 0}, // 1 |
| yu10078999 | 0:05ed3adc34ad | 13 | { 1, 0, 1, 1, 0, 1, 1}, // 2 |
| yu10078999 | 0:05ed3adc34ad | 14 | { 1, 0, 0, 1, 1, 1, 1}, // 3 |
| yu10078999 | 0:05ed3adc34ad | 15 | { 1, 1, 0, 0, 1, 1, 0}, // 4 |
| yu10078999 | 0:05ed3adc34ad | 16 | { 1, 1, 0, 1, 1, 0, 1}, // 5 |
| yu10078999 | 0:05ed3adc34ad | 17 | { 1, 1, 1, 1, 1, 0, 0}, // 6 |
| yu10078999 | 0:05ed3adc34ad | 18 | { 0, 0, 0, 0, 1, 1, 1}, // 7 |
| yu10078999 | 0:05ed3adc34ad | 19 | { 1, 1, 1, 1, 1, 1, 1}, // 8 |
| yu10078999 | 0:05ed3adc34ad | 20 | { 1, 1, 0, 0, 1, 1, 1} // 9 |
| yu10078999 | 0:05ed3adc34ad | 21 | }; |
| yu10078999 | 0:05ed3adc34ad | 22 | void seg1(int num) |
| yu10078999 | 0:05ed3adc34ad | 23 | { |
| yu10078999 | 0:05ed3adc34ad | 24 | xx=1; |
| yu10078999 | 0:05ed3adc34ad | 25 | zz=1; |
| yu10078999 | 0:05ed3adc34ad | 26 | yy=1; |
| yu10078999 | 0:05ed3adc34ad | 27 | latchpin=0; |
| yu10078999 | 0:05ed3adc34ad | 28 | for(int i=0;i<=7;i++) |
| yu10078999 | 0:05ed3adc34ad | 29 | { |
| yu10078999 | 0:05ed3adc34ad | 30 | datapin=state[num][i]; |
| yu10078999 | 0:05ed3adc34ad | 31 | clockpin=1; |
| yu10078999 | 0:05ed3adc34ad | 32 | clockpin=0; |
| yu10078999 | 0:05ed3adc34ad | 33 | } |
| yu10078999 | 0:05ed3adc34ad | 34 | latchpin=1; |
| yu10078999 | 0:05ed3adc34ad | 35 | zz=0; |
| yu10078999 | 0:05ed3adc34ad | 36 | } |
| yu10078999 | 0:05ed3adc34ad | 37 | void seg2(int num) |
| yu10078999 | 0:05ed3adc34ad | 38 | { |
| yu10078999 | 0:05ed3adc34ad | 39 | xx=1; |
| yu10078999 | 0:05ed3adc34ad | 40 | zz=1; |
| yu10078999 | 0:05ed3adc34ad | 41 | yy=1; |
| yu10078999 | 0:05ed3adc34ad | 42 | latchpin=0; |
| yu10078999 | 0:05ed3adc34ad | 43 | for(int i=0;i<=7;i++) |
| yu10078999 | 0:05ed3adc34ad | 44 | { |
| yu10078999 | 0:05ed3adc34ad | 45 | datapin=state[num][i]; |
| yu10078999 | 0:05ed3adc34ad | 46 | clockpin=1; |
| yu10078999 | 0:05ed3adc34ad | 47 | clockpin=0; |
| yu10078999 | 0:05ed3adc34ad | 48 | } |
| yu10078999 | 0:05ed3adc34ad | 49 | latchpin=1; |
| yu10078999 | 0:05ed3adc34ad | 50 | xx=0; |
| yu10078999 | 0:05ed3adc34ad | 51 | } |
| yu10078999 | 0:05ed3adc34ad | 52 | void seg3(int num) |
| yu10078999 | 0:05ed3adc34ad | 53 | { |
| yu10078999 | 0:05ed3adc34ad | 54 | xx=1; |
| yu10078999 | 0:05ed3adc34ad | 55 | zz=1; |
| yu10078999 | 0:05ed3adc34ad | 56 | yy=1; |
| yu10078999 | 0:05ed3adc34ad | 57 | latchpin=0; |
| yu10078999 | 0:05ed3adc34ad | 58 | for(int i=0;i<=7;i++) |
| yu10078999 | 0:05ed3adc34ad | 59 | { |
| yu10078999 | 0:05ed3adc34ad | 60 | datapin=state[num][i]; |
| yu10078999 | 0:05ed3adc34ad | 61 | clockpin=1; |
| yu10078999 | 0:05ed3adc34ad | 62 | clockpin=0; |
| yu10078999 | 0:05ed3adc34ad | 63 | } |
| yu10078999 | 0:05ed3adc34ad | 64 | latchpin=1; |
| yu10078999 | 0:05ed3adc34ad | 65 | yy=0; |
| yu10078999 | 0:05ed3adc34ad | 66 | } |
| yu10078999 | 0:05ed3adc34ad | 67 | int main() |
| yu10078999 | 0:05ed3adc34ad | 68 | { |
| yu10078999 | 1:ce89d84cafaa | 69 | int round=0,round2=0,round3=0,r=0; |
| yu10078999 | 0:05ed3adc34ad | 70 | while(1) |
| yu10078999 | 0:05ed3adc34ad | 71 | { |
| yu10078999 | 0:05ed3adc34ad | 72 | seg1(round); |
| yu10078999 | 1:ce89d84cafaa | 73 | r++; |
| yu10078999 | 2:1b8ea01637ad | 74 | if (r>=1) |
| yu10078999 | 1:ce89d84cafaa | 75 | { |
| yu10078999 | 1:ce89d84cafaa | 76 | round++; |
| yu10078999 | 1:ce89d84cafaa | 77 | r=0; |
| yu10078999 | 1:ce89d84cafaa | 78 | } |
| yu10078999 | 2:1b8ea01637ad | 79 | wait_ms(1); |
| yu10078999 | 0:05ed3adc34ad | 80 | seg2(round2); |
| yu10078999 | 2:1b8ea01637ad | 81 | wait_ms(1); |
| yu10078999 | 0:05ed3adc34ad | 82 | seg3(round3); |
| yu10078999 | 2:1b8ea01637ad | 83 | wait_ms(1); |
| yu10078999 | 0:05ed3adc34ad | 84 | if(round == 10) |
| yu10078999 | 0:05ed3adc34ad | 85 | { |
| yu10078999 | 0:05ed3adc34ad | 86 | round=0;round2++; |
| yu10078999 | 0:05ed3adc34ad | 87 | if(round2 == 10) |
| yu10078999 | 0:05ed3adc34ad | 88 | { |
| yu10078999 | 0:05ed3adc34ad | 89 | round2=0;round3++; |
| yu10078999 | 0:05ed3adc34ad | 90 | if(round3 == 10) |
| yu10078999 | 0:05ed3adc34ad | 91 | { |
| yu10078999 | 0:05ed3adc34ad | 92 | round3=0; |
| yu10078999 | 0:05ed3adc34ad | 93 | } |
| yu10078999 | 0:05ed3adc34ad | 94 | } |
| yu10078999 | 0:05ed3adc34ad | 95 | } |
| yu10078999 | 0:05ed3adc34ad | 96 | } |
| yu10078999 | 0:05ed3adc34ad | 97 | } |