/*digital clock*/
#include"mbed.h"
BusOut Seg1(p5,p6,p7,p8,p9,p10,p11,p12);//A,B,C,D,E,F,G,DP
int A,C,D,E,F,G;
char B;
int main(){
char SegConvert(char SegValue);
while(1){
A++;
C=A%4;
switch(C){
case 0:set1=0,set0=1,set2=0,set3=0;
B=SegConvert(D);
break;
case 1:set1=1,set0=0,set2=0,set3=0;
B=SegConvert(E);
break;
case 2:set1=0,set0=0,set2=1,set3=0;
B=SegConvert(F);
break;
case 3:set1=0,set0=0,set2=0,set3=1;
B=SegConvert(G);
break; }
Seg1=B;
wait(0.001);
if(A==1000)
{ A=0;
D++;
if (D>9)
{D=0;
E++;}
if (E>5)
{ E=0;
F++;}
if (F>9)
{F=0;
G++;}
if (G>5)
G=0; } }}
char SegConvert(char SegValue)
{char SegByte=0x00;
switch(SegValue){
case 0: SegByte=0x3F ;break;
case 1: SegByte=0x06 ;break;
case 2: SegByte=0x5B ;break;
case 3: SegByte=0x4F ;break;
case 4: SegByte=0x66 ;break;
case 5: SegByte=0x6D ;break;
case 6: SegByte=0x7D ;break;
case 7: SegByte=0x07 ;break;
case 8: SegByte=0x7F ;break;
case 9: SegByte=0x6F ;break;
}return SegByte;}
#include"mbed.h"
BusOut Seg1(p5,p6,p7,p8,p9,p10,p11,p12);//A,B,C,D,E,F,G,DP
int A,C,D,E,F,G;
char B;
int main(){
char SegConvert(char SegValue);
while(1){
A++;
C=A%4;
switch(C){
case 0:set1=0,set0=1,set2=0,set3=0;
B=SegConvert(D);
break;
case 1:set1=1,set0=0,set2=0,set3=0;
B=SegConvert(E);
break;
case 2:set1=0,set0=0,set2=1,set3=0;
B=SegConvert(F);
break;
case 3:set1=0,set0=0,set2=0,set3=1;
B=SegConvert(G);
break; }
Seg1=B;
wait(0.001);
if(A==1000)
{ A=0;
D++;
if (D>9)
{D=0;
E++;}
if (E>5)
{ E=0;
F++;}
if (F>9)
{F=0;
G++;}
if (G>5)
G=0; } }}
char SegConvert(char SegValue)
{char SegByte=0x00;
switch(SegValue){
case 0: SegByte=0x3F ;break;
case 1: SegByte=0x06 ;break;
case 2: SegByte=0x5B ;break;
case 3: SegByte=0x4F ;break;
case 4: SegByte=0x66 ;break;
case 5: SegByte=0x6D ;break;
case 6: SegByte=0x7D ;break;
case 7: SegByte=0x07 ;break;
case 8: SegByte=0x7F ;break;
case 9: SegByte=0x6F ;break;
}return SegByte;}
No comments:
Post a Comment