Условие :
if((~PINC)&(1 << n)) {
можно записать и вот так:
if(!(PINC & (1 << n))) {
К битам регистров с адресами от 0 до 31 в компиляторе CodeVisionAVR можно обратится (и читать и записывать) проще.
Вот так: REGISTR.BIT
Пример: PINB.2 или PORTA.5
Пример:
if(!PINB.2){
этот код /* Если на ножке PB2 низкий
логический уровень - то выполнить этот код */
};