TaChing Yu / Mbed 2 deprecated 4_7SgementLED_74HC595

Dependencies:   mbed

Committer:
yu10078999
Date:
Sun Sep 04 07:55:21 2016 +0000
Revision:
1:5002e9577641
Parent:
0:b7855d83d15b
2

Who changed what in which revision?

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