Сначала рекомендую изучить "Микроконтроллеры AVR семейства Mega" А.В.Евстифеев 2007. В этой книге очень подробно описана архитектура микроконтроллеров (кстати есть аналогичная книга того же автора для семейства tiny.
Ну а потом уже приступить к программированию, читая книжку Белов А.В. "Разработка устройств на микроконтроллерах AVR шагаем от «чайника» до профи" А.В.Белов 2013.
Во второй книге примеры программ как на ассемблере, так и на Си.