int buzzer=13;
int seg7_pin[]={2,3,4,5,6,7,8};
int scan_line[]={9,10,11,12};
int seg7_table[]={~0xc0,~0xf9,~0xa4,~0xb0,~0x99,~0x92,~0x82,~0xf8,~0x80,~0x90};
int i;
int j;
int times=0;
void setup()
{
int a;
pinMode(buzzer,OUTPUT);
for(a=0;a<7;a++)
{
pinMode(seg7_pin[a],OUTPUT);
}
}
void outport(byte data)
{
int x;
for(x=0;x<7;x++)
{
if(data%2==1)
digitalWrite(seg7_pin[x],HIGH);
else
digitalWrite(seg7_pin[x],LOW);
data=data/2;
}
}
//---------------------------------------
void initial()
{
for(i=0;i<4;i++)
{
for(j=0;j<50;j++)
{
outport(seg7_table[0]);digitalWrite(scan_line[0],HIGH);delay(5); digitalWrite(scan_line[0],LOW);
outport(seg7_table[8]);digitalWrite(scan_line[1],HIGH);delay(5); digitalWrite(scan_line[1],LOW);
outport(seg7_table[0]);digitalWrite(scan_line[2],HIGH);delay(5); digitalWrite(scan_line[2],LOW);
outport(seg7_table[7]);digitalWrite(scan_line[3],HIGH);delay(5); digitalWrite(scan_line[3],LOW);
}
delay(1500);
}
}
//---------------------------------------
void loop()
{
if(times==0)
{
times=1;
initial();
tone(buzzer,500,500);delay(1000);
tone(buzzer,500,500);delay(1000);
tone(buzzer,500,500);delay(1000);
}
}
沒有留言:
張貼留言