Все верно,у меня атмега 328 в DIP28
Понятно. 
То есть освобождаются выводы  PC1 PC2 PC3.
Можете использовать любой на свой выбор. 
Вот эта строка, которая управляет кнопкой:
if (bit_is_clear(PINC, 7))    tx();
Здесь кнопка на выводе порта С, седьмой вывод. Смотря как удобнее на плате, можете вместо семерки написать 1,2 или 3. Кстати, тут я ошибся, судя по даташиту вывод ADC7 не является портом. Зная, что ADC1 и прочие до ADC5 могут быть как входами преобразователя, так и портами, я это применил и к ADC6, 7, а это не так.
Это нужно сделать  в ******  Основная программа ********* или в  ********* Передача  ********* ?
Это нужно сделать везде. И в основной программе и в функции передача.
if (bit_is_clear(PINС, 7))    tx();  Это строка в основном модуле программы. Переписываете ее так:
if (bit_is_clear(PINС, 1))    tx(); //Как выше написал, вместо единицы можно также 2 или 3.
Строку из функции передача,  надо откорректировать вот так:
while (bit_is_clear(PINС, 1)); // Кнопка нажата - продолжаем передачу