TaChing Yu / Mbed 2 deprecated 3_7SgementLED_74HC595

Dependencies:   mbed

Committer:
yu10078999
Date:
Sun Sep 04 07:55:10 2016 +0000
Revision:
2:1b8ea01637ad
Parent:
1:ce89d84cafaa
2

Who changed what in which revision?

UserRevisionLine numberNew 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 }