И так, рассмотрим, что нам надо, что бы с минимальной объвязкой запустить ATmega328?
Да всего ничего, совсем немножко деталюшек: 4 резистора, 3 конденсатора, 1 кварц на 16 МГц, светодиод, и, конечно же, сам микроконтроллер.
Вот почти самая простая схема подключения:
Справедливости ради замечу, что элементы R2, R3, R4, C3, LED1 здесь больше для удобства, так как нам бы хотелось пообщаться с микроконтроллером, и что-то увидить,
Итак, а теперь по порядку. Что и зачем нужно.
На конденсаторах C1, C2 и кварце Q1 собран внешний тактовый генератор. Кварц установлен на 16 МГц, и именно на этой частоте у нас будет работать микроконтроллер. Конденсаторы на 22 pF. Их емкость взята из даташита на данные микроконтроллеры (если использовать внутренний тактовый генератор, то эти 3 элемента не нужны).
Резистор R1 — 10 кОм — подтяжка для линии RESET. Для того чтобы сбросить микроконтроллер, нам достаточно ногу 1 (RESET) кратковременно подсоединить к земле (обычно тут ставят кнопочку, которая при нажатии как раз и замыкает эту ногу на землю).
И так, на ноги VCC и AVCC подаем +5В, а GND и AGND подключаем к земле.
Теперь, рассмотрим «плюшки».
Так как мы хотим видеть хоть какой-нибудь результат работы микроконтроллера, да и понять жив он или нет, мы подключаем к выводу PB5 резистор R4 и светодиод LED1. Резистор R4 имеет номинал 1 кОм, и является токоограничительным для светодиода. Ну, а светодиод мне захотелось поставить красненький.
Элементы C3, R2, R3 предназначены для загрузки прошивки с помощью UART интерфейса. C3 (100 нФ) предназначен для разделения линии сброса микроконтроллера от линии DTR COM-порта. Через него проходит только импульс сброса, для того, что бы запустить загрузчик для загрузки прошивки. Резисторы R2 и R3 стоят на всякий случай, что бы в случае замыкания выводов RxD и TxD мкроконтроллера, ему не поплохело. В общем-то, будет работать и без них.
Так же, опционально, выведены выводы микроконтроллера MOSI, MISO, SCK, RESET для прошивки его по средствам внутрисистемного программатора (ISP). Не доставать же нам каждый раз микроконтролер, когда нам надо его прошить (если, конечно, нам недостаточно будет отправить прошивку через UART). Если у вас уже загрузчик прошит в микроконтроллер, и вы его менять не собираетесь, то данные вывод не нужны.
В общем-то и все. Прошитый микроконтроллер будет работать.
Так же стоит заметить, что данная схема справедлима для atmega8, atmega168, так как они имеют такую же распиновку, и отличаются только объемом доступной памяти. А если смотреть шире, то подобная схема подойдет для большинства 8ми разрядных atmel микроконтроллеров.