Пн дек 25, 2017 09:09:33
Пн дек 25, 2017 10:07:04
//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]];