Хидер можно оставить тот же самый.
А вот тут я действительно напутал
Код
if(PINA && 0x01) {}
Это условие будет всегда выполняться, надо писать так
Код
if(PINA & 0x01) {}
Это эквивалентно вашему в какой то мере
Код
if(PORTA.1 == 1)
В io.h инклудятся другие хидеры, например посмотрим iom128.h это для мега128
/* Data Register, Port A */
#define PORTA _SFR_IO8(0x1B)
т.е. это для выдачи данных в порт
/* Input Pins, Port A */
#define PINA _SFR_IO8(0x19)
а это для чтения данных с порта