// C++ code
//
int i;
//數字 dot g f e d c b a
// 0 0 0 1 1 1 1 1 1 0x3f
char num_tab[]={
0x3F, // 0
0x06, // 1
0x5B, // 2
0x4F, // 3
0x66, // 4
0x6D, // 5
0x7d, // 6
0x07, // 7
0x7F, // 8
0x6F, // 9
};
//a,b,c,d,e,f,g,dt
int seg[]={2,0,4,16,17,5,18,19};
void setup()
{
for (i=0;i<9;i++)
pinMode(seg[i], OUTPUT);
}
int stop=0;
void loop()
{
if (stop==0){
for (int i=0;i<=9;i++){
display(num_tab[i]);
delay(1000);
}
}
}
void display(int tab)
{
for (int i = 0; i < 7; i++) {
int bit = (tab >> i) & 1; // 使用位移運算和AND操作提取每一位
digitalWrite(seg[i],bit);
}
}