int DS_Pin1 = 19;//المسول عن اخراج البيانات
int STCP_Pin1 = 18;
int SHCP_Pin1 = 5;
int DS_Pin2 = 26;//المسول عن اخراج البيانات
int STCP_Pin2 = 25;
int SHCP_Pin2 = 33;
const byte Dec_Digits[10] = // Describe each digit in terms of display segments 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
{
B11111100, //0
B01100000, //1
B11011010, //2
B11110010, //3
B01100110, //4
B10110110, //5
B10111110, //6
B11100000, //7
B11111110, //8
B11110110, //9
};
void setup()
{
pinMode(DS_Pin1, OUTPUT);
pinMode(STCP_Pin1, OUTPUT);
pinMode(SHCP_Pin1, OUTPUT);
pinMode(DS_Pin2, OUTPUT);
pinMode(STCP_Pin2, OUTPUT);
pinMode(SHCP_Pin2, OUTPUT);
}
void loop()
{
for(int i=0;i<99;i++){
show(i);
delay(200);
}
}
void show(int num){
int d1;
int d2;
d2=num%10;
d1=num/10;//العشرات
for(int i=0; i<7; i++)
{
digitalWrite(STCP_Pin2, LOW);
shiftOut(DS_Pin2, SHCP_Pin2, LSBFIRST, Dec_Digits[d2]);//lsb نقل البيانات من على اليمين
digitalWrite(STCP_Pin2, HIGH);
delay(30);
}
for(int i=0; i<7; i++)
{
digitalWrite(STCP_Pin1, LOW);
shiftOut(DS_Pin1, SHCP_Pin1, LSBFIRST, Dec_Digits[d1]);//lsb نقل البيانات من على اليمين
digitalWrite(STCP_Pin1, HIGH);
delay(30);
}
}