Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int main(void)
- {
- int hoursdgt1[10]={0b00011111,0b00011110,0b00011101,0b00011100,0b00011011,0b00011010,0b00011001,0b00011000,0b00010111,0b00010110};
- int hoursdgt2[10]={0b00101111,0b00101110,0b00101101,0b00101100,0b00101011,0b00101010,0b00101001,0b00101000,0b00100111,0b00100110};
- int mindgt1[10]={0b01001111,0b01001110,0b01001101,0b01001100,0b01001011,0b01001010,0b01001001,0b01001000,0b01000111,0b01000110};
- int mindgt2[10]={0b10001111,0b10001110,0b10001101,0b10001100,0b10001011,0b10001010,0b10001001,0b10001000,0b10000111,0b10000110};
- //тестовая хуита, пусть будет
- int factor_digits(int num, int *digits, int limit) //Трамбуем все, что прийдется в массив.
- {
- int digits_count = 0;
- // Отдельно обрабатываем ситуацию, когда у нас ноль
- if (num == 0) {
- digits[0] = 0;
- return 1;
- }
- // Безжалостно извлекаем цифры числа, пока они есть
- while (num > 0 && limit) {
- // Копируем очередную цифру в массив
- digits[digits_count++] = num % 10;
- // Переходим к следующей цифре
- num /= 10;
- // Уменьшаем допустимое количество оставшихся цифр
- limit--;
- }
- return num ? 0 : digits_count;
- }
- while(1){
- if (time == 600) { mins = mins+1; time=0; };
- if (mins == 60) { hours = hours+1; mins=0; };
- if (hours == 24) { hours = 0; };
- int temphours = hours*10;//костыль
- int tempmins = mins*10;//костыль
- int factored_number1[10]={0,0,0,0,0,0,0,0,0,0};
- int factored_number2[10]={0,0,0,0,0,0,0,0,0,0}; // Обнуляем массивы для результата
- int factored_number_len; // Количество цифр в числе
- int i;
- // Выполняем разложение часов
- factored_number_len = factor_digits(temphours, factored_number1, 10);
- // Срем часами в порт с делаем
- PORTB = hoursdgt1[factored_number1[2]];
- _delay_ms(100);
- PORTB = hoursdgt2[factored_number1[1]];
- _delay_ms(100);
- // И минутами
- factored_number_len = factor_digits(tempmins, factored_number2, 10);
- PORTB = mindgt1[factored_number2[2]];
- _delay_ms(100);
- PORTB = mindgt2[factored_number2[1]];
- _delay_ms(100);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement