#define OWP1 (1 << PC0) //порт термометра 1
#define OWP2 (1 << PC1) //порт термометра 2
#define OWP3 (1 << PC2) //порт термометра 3
#define OWP4 (1 << PC3) //порт термометра 4
#define OWP5 (1 << PC4) //порт термометра 5
#define OWP6 (1 << PC5) //порт термометра 6
//Макроопределения для работы с портами:
#define Port_OWP_0(m) (DDRC |= m)
#define Port_OWP_Z(m) (DDRC &= ~m)
#define Pin_OWP(m) (PINC & m)
//Маски термометров:
const __flash char Masks[CHANNELS] = {OWP1, OWP2, OWP3, OWP4, OWP5, OWP6};
void TReset(char n)
{
char m = Masks[n];
...
Port_OWP_0(m);
...
Port_OWP_Z(m);
...
if(!Pin_OWP(m))
...