а как ледпринт различает что вы в неё засунули?
Добавлено after 2 minutes 12 seconds:if (hure>24) у вас в сутках 25 часов? (0-24).
Добавлено after 2 minutes 5 seconds:case 6: PORTD = 0b10000010; опять же присутствуют "магические числа" (ARV объяснит).
Добавлено after 5 minutes 25 seconds:if (n_count==0){PORTB&=~(1<<PORTB0);PORTB|=(1<<PORTB1);PORTB|=(1<<PORTB2);PORTB|=(1<<PORTB3);PORTB|=(1<<PORTB4);PORTB|=(1<<PORTB5); segchar(R1);} зачем так сложно
PORTB|=0b001111111; segchar(R[n]); PORTB&=~(1<<n); вместо всех ИФов
ну ещё R1-R6 в массив оформить...
Добавлено after 3 minutes 24 seconds:ПС: магические числа и жесткие прописки делают код трудноисправимым, но т.к. их опасность не видна в малых проектах, то к такому стилю программист легко привыкает, а потом придётся переучиваться.
Добавлено after 26 minutes 33 seconds:чтобы рисовать цифры без магических чисел создаю и прикрепляю к проекту файлик:
Спойлер
Код:
//Digits
//Описание цифр семисегментного индикатора
#define _KATODE B
#define _ANODE D
#define N_A 0
#define N_B 2
#define N_C 4
#define N_D 6
#define N_E 7
#define N_F 1
#define N_G 3
#define N_DP 5
#define _A (1<<N_A)
#define _B (1<<N_B)
#define _C (1<<N_C)
#define _D (1<<N_D)
#define _E (1<<N_E)
#define _F (1<<N_F)
#define _G (1<<N_G)
#define _DP (1<<N_DP)
#define _0 ~(_A|_B|_C|_D|_E|_F )
#define _1 ~( _B|_C )
#define _2 ~(_A|_B| _D|_E| _G)
#define _3 ~(_A|_B|_C|_D| _G)
#define _4 ~( _B|_C| _F|_G)
#define _5 ~(_A| _C|_D| _F|_G)
#define _6 ~(_A| _C|_D|_E|_F|_G)
#define _7 ~(_A|_B|_C )
#define _8 ~(_A|_B|_C|_D|_E|_F|_G)
#define _9 ~(_A|_B|_C|_D| _F|_G)
//#define _a ~(_A|_B|_C| _E|_F|_G)
//#define _b ~( _C|_D|_E|_F|_G)
//#define _c ~(_A| _D|_E|_F| )
//#define _d ~( _B|_C|_D|_E| _G)
//#define _e ~(_A| _D|_E|_F|_G)
//#define _f ~(_A| _E|_F|_G)
//#define _Z ~(0 )
//#define _N ~( _G)
unsigned char DIG[]={_0,_1,_2,_3,_4,_5,_6,_7,_8,_9};
#define _OFF PORT_KATODE|=0x3F
#define _ON PORT_KATODE&=~(1<<n))
#define _N_Dig PORT_ANODE=DIGS[R[n]];
и таскаю его из проекта в проект, меняя номера ног и названия портов.