Программатор для atmega8 своими руками: Схема программатора для atmega8

Миниатюрный USB программатор для AVR микроконтроллеров / Хабр

Как театр начинается с вешалки, так программирование микроконтроллеров начинается с выбора хорошего программатора. Так как начинаю осваивать микроконтроллеры фирмы ATMEL, то досконально пришлось ознакомится с тем что предлагают производители. Предлагают они много всего интересного и вкусного, только совсем по заоблачным ценам. К примеру, платка с одним двадцатиногим микроконтроллером с парой резисторов и диодов в качестве обвязки, стоит как «самолет». Поэтому остро встал вопрос о самостоятельной сборке программатора. После долгого изучения наработок радиолюбителей со стажем, было решено собрать хорошо зарекомендовавший себя программатор USBASP, мозгом которого служит микроконтроллер Atmega8 (так же есть варианты прошивки под atmega88 и atmega48). Минимальная обвязка микроконтроллера позволяет собрать достаточно миниатюрный программатор, который всегда можно взять с собой, как флэшку.

Автором данного программатора является немец Thomas Fichl, страничка его разработки со схемами, файлами печатных плат и драйверами.

Раз решено было собрать миниатюрный программатор, то перерисовал схему под микроконтроллер Atmega8 в корпусе TQFP32 (распиновка микроконтроллера отличается от распиновки в корпусе DIP):

Перемычка J1 применяется, в случае если необходимо прошить микроконтроллер с тактовой частотой ниже 1,5МГц. Кстати, эту перемычку вообще можно исключить, посадив 25 ногу МК на землю. Тогда программатор будет всегда работать на пониженной частоте. Лично для себя отметил, что программирование на пониженной скорости на доли секунды дольше, и поэтому теперь перемычку не дёргаю, а постоянно шью с ней.
Стабилитроны D1 и D2 служат для согласования уровней между программатором и USB шиной, без них работать будет, но далеко не на всех компьютерах.
Светодиод blue показывает наличие готовности к программированию схемы, red загорается во время программирования. Контакты для программирования выведены на разъем IDC-06, распиновка соответствует стандарту ATMEL для 6-ти пинового ISP разъема:

На этот разъем выведены контакты для питания программируемых устройств, здесь оно берется напрямую с USB порта компьютера, поэтому нужно быть внимательным и не допускать кз. Этот же разъем применяется и для программирования управляющего микроконтроллера, для этого достаточно соединить выводы Reset на разъеме и на мк (см. красный пунктир на схеме). В авторской схеме это делается джампером, но я не стал загромождать плату и убрал его. Для единичной прошивки хватит и простой проволочной перемычки. Плата получилась двухсторонняя, размерами 45х18 мм.

Разъем для программирования и перемычка для снижения скорости работы программатора вынесены на торец устройства, это очень удобно

Прошивка управляющего микроконтроллера
Итак, после сборки устройства осталось самое важное — прошить управляющий микроконтроллер. Для этих целей хорошо подходят друзья у которых остались компьютеры с LPT портом 🙂 Простейший программатор на пяти проводках для AVR
Микроконтроллер можно прошивать с разъема программирования, соединив выводы Reset микроконтроллера (29 нога) и разъема. Прошивка существует для моделей Atmega48, Atmega8 и Atmega88. Желательно использовать один из двух последних камней, так как поддержка версии под Atmega48 прекращена и последняя версия прошивки датируется 2009 годом. А версии под 8-й и 88-й камни постоянно обновляются, и автор вроде как планирует добавить в функционал внутрисхемный отладчик. Прошивку берем на странице немца. Для заливки управляющей программы в микроконтроллер я использовал программу PonyProg. При программировании необходимо завести кристалл на работу от внешнего источника тактирования на 12 МГц. Скрин программы с настройками fuse перемычек в PonyProg:

После прошивки должен загореться светодиод подключенный к 23 ноге микроконтроллера. Это будет верный признак того, что программатор прошит удачно и готов к работе.

Установка драйвера
Установка велась на машину с системой Windows 7 и никаких проблем не возникло. При первом подключении к компьютеру выйдет сообщение об обнаружении нового устройства, с предложением установки драйвера. Выбираем установку из указанного места:

Выбираем папку где лежат дрова и жмем Далее

Мигом появится окно с предупреждением о том, что устанавливаемый драйвер не имеет цифровой подписи у мелкомягких:

Забиваем на предупреждение и продолжаем установку, после небольшой паузы появится окно, сообщающее об успешном окончании операции установки драйвера

Все, теперь программатор готов к работе.

Khazama AVR Programmer
Для работы c программатором я выбрал прошивальщик Khazama AVR Programmer. Замечательная программка, с минималистичным интерфейсом.

Она работает со всеми ходовыми микроконтроллерами AVR, позволяет прошивать flash и eeprom, смотреть содержимое памяти, стирать чип, а также менять конфигурацию фьюз-битов. В общем, вполне стандартный набор. Настройка фьюзов осуществляется выбором источника тактирования из выпадающего списка, таким образом, вероятность залочить кристалл по ошибке резко снижается. Фьюзы можно менять и расстановкой галок в нижнем поле, при этом нельзя расставить галки на несуществующую конфигурацию, и это тоже большой плюс в плане безопасности.

Запись фьюзов в память мк, как можно догадаться, осуществляется при нажатии кнопки Write All. Кнопка Save сохраняет текущую конфигурацию, а Load возвращает сохраненную. Правда я так и не смог придумать практического применения этих кнопок. Кнопка Default предназначена для записи стандартной конфигурации фьюзов, такой, с какой микроконтроллеры идут с завода (обычно это 1МГц от внутреннего RC).


В общем, за все время пользования этим программатором, он показал себя с наилучшей стороны в плане стабильности и скорости работы. Он без проблем заработал как на древнем стационарном пк так и на новом ноутбуке.

Скачать файл печатной платы в SprintLayout можно по этой ссылке

Ну вроде все, если возникнут вопросы, постараюсь ответить.

Параллельный программатор для микроконтроллеров AVR

Поводом для создания данного устройства послужило появление новых чипов AVR поддерживающих отладку по протоколу debugWIRE. Так как он не является протоколом программирования, то после смены исходного кода во время отладки и, естесственно, забыв отключить фуз DWEN — AVRStudio не может заново «подключиться» к отлаживаему кристаллу. Это значит, что фуз DWEN не может быть «сброшен» и, следовательно, отлаживаемый чип больше не может быть запрограммирован через SPI.

После «убийства» двух tiny2313 была написана программа для mega16, которая позволяла, подключившись к меге через житаг, в AVRStudio перепрограммировать фузы тини в параллельном режиме.

Правда это было несколько неудобно и была написана программа для PC, в которой была возможность программирования всех бит фузов для tiny2313.
Дальнейшим развитием стало введение возможности программирования, проверки и чтения Flash памяти, а также введена поддержка других МК.
Поддержка программирования EEPROM не вводилась в виду ненадобности. Вообще программа для МК должна быть написана таким образом, чтоб она сама устанавливала начальные значения EEPROM.

Самым очевидным недостатком данного устройства является то, что для сборки программатора AVR необходимо запрограммировать mega16. Однако такой подход имеет право на существование, т.к. даже Atmel предлагает для своего программатора AVRISP схему на своем же микроконтроллере.

Mega16, используемая в данном устройстве, может быть запрограммирована при помощи программатора AVReal и схемы FBPRG («6 проводков на LPT»). Или через интерфейс JTAG с помощью AVR miniICE

К сожалению COM порт компьютера не позволил реализовать «супербыстрое» программирование. Однако на глаз все равно оно проходит быстрее чем последовательное. DIP корпуса использованы исключительно потому, что автором при отладке используются именно они. Желающие могут сами переделать всю эту конструкцию под SMD.

Особенности:

  • Программирование AVR в параллельном режиме.
  • Возможность «безболезненно» программировать фузы DWEN и RSTDISBL
  • Возможность программирования фуза SPIEN

Поддерживаемые микроконтроллеры:
ATtiny 2313, ATmega32, ATmega16, ATmega8515, ATmega8535, ATmega8, ATmega48, ATmega88, ATmega168

Схема:

Схема проста и не имеет каких то особенностей.

  • На микросхеме DA1 собран стабилизатор напряжения +5V
  • На транзисторах VT1 и VT2 реализован конвертер TTL — RS232
  • Микросхема DD2 может быть применена с любым буквенным индексом
  • Разъем XS2 служит для подключения к COM порту компьютера
  • К разъему XS3 подключается программируемый микроконтроллер.
  • Разъем XS4 предназначался для внутрисхемной отладки и может быть исключен или же использован для программирования mega16 по интерфейсу JTAG
  • Питание устройства осуществляется от внешнего стабилизированного источника +12V

Mega16 должна быть запрограммирована файлом code.hex из прилагаемого архива.
Фузы mega16 должны быть запрограммированы следующим образом:
CKSEL = 1110
SUT = 00
В архиве также имеется схема в форматах PDF и PCAD2002, разведенная печатная плата для головного модуля устройства и адаптеров для различных видов МК.

Пример реализации:

Центральный модуль.

Плата адаптеров.

Работа с устройством

Перед началом работы необходимо вставить программируемый микроконтроллер в соответствующую панельку. Соединить центральный модуль устройства с платой адаптеров 20-ти проводным кабелем. Подать питание и запустить управляющую программу ParaPROG.exe

После старта управляющая программа имеет следующий вид:

Доступна только одна кнопка «Read Chip».

При нажатии на эту кнопку программа ParaPROG осуществляет поиск программируемого микроконтроллера и пытается прочесть фузы и лок биты.

Если поиск устройства был неудачным программа выводит сообщение о неудачной попытке и остается в прежнем состоянии.

При удачном поиске осуществляется автоопределение подключенного микроконтроллера, считываются фузы, лок биты и вся эта информация выводится в основном окне программы. Становятся доступны все остальные кнопки.

Значения фузов и лок битов выводятся в формате принятом Atmel. Т.е. 1 = бит не запрограммирован (соответсвует установленному флажку) и 0 = бит запрограммирован (соответсвует снятому флажку)

Кнопки выполняют следующие функции:
Read Chip
Нажатие на эту кнопку осуществляет синхронизацию управляющей программы и центрального модуля программатора, поиск программируемого микроконтроллера, читает сигнатуру, фузы и лок биты
Write Fuses
Запись фузов в соответсвии со значениями заданными флажками для фузов
Write Lock Bits
Запись лок битов соответсвии со значениями заданными флажками для фузов
Chip Erase
Стирает Flash память программируемого микроконтроллера и сброс лок битов
Write Flash
Программирование Flash памяти в соответсвии с файлом, имя которого задано в поле рядом с этой кнопкой
Verify Flash
Сравнение Flash памяти с содержимым файла, имя которого задано в поле рядом с кнопкой Write Flash
Read Flash
Считывание Flash памяти в файл, имя которого задано в поле рядом с этой кнопкой

Программа принимает для записи/сравнения, а также выходным для чтения Flash является файлы binary формата. Получить их можно при помощи утилиты hex2bin из прилагаемого архива.
Во время работы программой выводятся сообщения в строке состояния, диалоговых окнах помогающие пользователю сориентироваться в работе программы.

Замеченные и пока не устранненные ошибки:
Так как при постоянно поданном напряжении +12V на Reset программируемые МК довольно сильно грелись, алгоритм работы устройства был сменен на временное включение режима программирования и немедленное выключение его после выполнения действия. Вледсвие этого при работе с некоторыми МК (например мега48) происходит рассинхронизация управляющей программы и основного модуля программатора. Поэтому рекомендуется иногда нажимать кнопку «Read Chip» проводя этим повторную синхронизацию (желательно перед каждым новым действием)
Иногда имя выходного файла при операции «Read Flash» самопроизвольно меняется на имя «Reading Flash»

Новая версия управляющей программы 0.2.0.7

Добавлено:

  • Поддержка ATmega162.
  • Возможность добавления пользователем новых кристаллов. Поддержка различных процессоров вынесена в INI-файлы. Теперь для добавления нового процессора достаточно создать для него файл. В этом файле помимо всего прочего есть дефолтные значения для фузов (из даташита).
  • После считывания битов конфигурации с чипа для каждого байта отображается его HEX-представление (для более удобного переноса значений, например, в скрипт пакетной прошивки PonyProg).
  • Значения фузов, не соответствующие дефолтным, отображаются красным цветом.
  • Окошко ввода ком-порта и сохранение этой информации, а также путей к файлам BIN и HEX, в файл конфигурации.
  • Ручной выбор программируемого кристалла. Это полезно, когда у программируемого чипа испортились байты сигнатуры и обычным способом он не видится программатором (иногда бывает 🙂 ).
  • Автоматический запуск конвертера hex2bin при выборе для заливки во флэш файла типа HEX.
  • Исправлена ошибка самопроизвольного изменения имени выходного файла при операции «Read Flash».

Прошивка, управляющая программа, схема и печатные платы (436 Кб). Загрузок: 726
ParaPROG v 0.2.0.7 (217 Кб). Загрузок: 572

Автор статьи: Павел Сироткин и Олег Шепель E-mail: [email protected] [email protected]
Просмотров: 11968

Печать

Программатор AVR

О нас Программатор AVR



 

Это простой программатор AVR позволит вам безболезненно передача шестнадцатеричных программ на большинство микроконтроллеров ATMEL AVR без ущерба для вашего бюджета и времени. Это более надежен, чем большинство других простых программаторов AVR доступны там и могут быть построены в очень короткие сроки количество времени.

Программатор AVR состоит из внутрисхемный последовательный программатор (донгл) и небольшой печатная плата с DIP-разъемом, куда вы можете установить микроконтроллер и быстро запрограммировать.

Вы также можете использовать этот программатор как самостоятельный внутрисхемный последовательный программатор, который может использоваться для удобного программирования микроконтроллеров AVR не удаляя их из целевой цепи.

Весь программатор AVR был сборка с использованием общих деталей и умещается в корпусе последовательного разъема. Плата сокета была создан для установки микроконтроллера 28-DIP AVR ATmega8, но вы можете собрать печатную плату для любого другого AVR там микроконтроллер. Это программатор AVR совместим с популярным программным обеспечением PonyProg, которое показывает вам строку состояния прогресса программирования.

АВР Внутрисхемный последовательный программатор


 



Плата программатора AVR (спереди) с 9-контактным гнездом Последовательный разъем RS232.


Плата программатора AVR (задняя сторона)


Установка платы программатора AVR в корпус с последовательным портом RS232.


Готовый программатор AVR со стандартным 6-контактным ICSP разъем.

АВР Розетка для печатной платы


 

Гнездо PCB имеет очень минимальное количество компонентов и используется для программирование желаемого микроконтроллера AVR снаружи вашей целевой цепи.


Socket PCB с 28-DIP микроконтроллером AVR ATmega8.



Два соединения; ICSP, который подключается к Программатор AVR и внешний источник питания +5В.


Плата разъема состоит из печатная плата, разъем 28-DIP, кварцевый резонатор 4МГц, или кварцевый с двумя развязывающими конденсаторами по 22 пФ, и два разъема заголовка. Питание двухконтактного разъема Напряжение +5В на микроконтроллер AVR и 6-контактный ICSP подключается к ключу AVR Programmer.

Питание микроконтроллера внешним напряжением +5В вместо того, чтобы брать его непосредственно с компьютера порт последовательного соединения гарантирует, что чип получает именно напряжение +5В и обеспечивает очень надежное безошибочное программирование.



Socket PCB для 28-DIP микроконтроллера AVR ATmega8.

Напряжение +5В питание микросхемы AVR может осуществляться от внешнего блок питания или еще лучше — напрямую от USB связь.

ПониПрог


 

Уметь отправить шестнадцатеричный файл с вашего компьютера на микроконтроллер AVR вам нужно будет скачать и установить PonyProg2000. После установки первым делом вы нужно настроить PonyProg для работы с нашим Программатор АВР. Для этого перейдите в «Настройка» меню и выберите «Настройка интерфейса». следующее окно будет показано и выделены области показать вам, какие именно параметры должны быть выбраны.



На следующем шаге выберите «AVR micro» и тип вашего микроконтроллера, который вы будете программировать (например, ATmega8).


На этом настройка PonyProg завершена. и мы можем открыть шестнадцатеричную программу, с помощью которой микроконтроллер AVR будет мигать. Перейдите в меню «Файл», выберите «Открыть файл программы (FLASH). ..» и указать в шестнадцатеричный файл, чтобы открыть его. Вы должны увидеть шестнадцатеричный номера, как показано на экране ниже. Если у вас нет подключил ключ AVR Programmer к компьютеру серийный порт еще, то сейчас самое время. Убеждаться что AVR Programmer физически подключен к вашему Микроконтроллер AVR через Socket PCB или через 6-контактный разъем ICSP. Наконец, нажмите на выделенный значок «Запись памяти программ (FLASH)», или перейдите в меню «Команды» и выберите «Записать Программа (FLASH)».



Нажмите кнопку «Да», чтобы подтвердить программирование.


Теперь сиди спокойно, расслабьтесь и наблюдайте за ходом программирования на статус бар. PonyProg будет программировать микроконтроллер AVR и проверьте, был ли передан шестнадцатеричный файл без любые ошибки. К вашему сведению, этот процесс не должен действительно занимает более 10-30 секунд. Это зависит от размера программы, которую вы пытаетесь вспышка.


После завершения программирования «Запись выполнена успешно» появится окно, сообщающее, что микроконтроллер AVR был запрограммирован и теперь готов к использованию.





 
Точный измеритель LC

Создайте свой собственный точный измеритель LC (измеритель емкости и индуктивности) и начните создавать собственные катушки и катушки индуктивности. Этот LC-метр позволяет измерять невероятно малые индуктивности, что делает его идеальным инструментом для изготовления всех типов ВЧ-катушек и катушек индуктивности. LC Meter может измерять индуктивность от 10 нГн до 1000 нГн, 1 мкГн — 1000 мкГн, 1 мГн — 100 мГн и емкости от 0,1 пФ до 900 нФ. Схема включает автоматический выбор диапазона, а также переключатель сброса и обеспечивает очень точные и стабильные показания.

Вольт-амперметр PIC

Вольт-амперметр измеряет напряжение 0–70 В или 0–500 В с разрешением 100 мВ и потребляемый ток 0–10 А или более с разрешением 10 мА. Счетчик является идеальным дополнением к любому источнику питания, зарядным устройствам и другим электронным устройствам, где необходимо контролировать напряжение и ток. В измерителе используется микроконтроллер PIC16F876A с жидкокристаллическим дисплеем 16×2 с подсветкой.


Частотомер/счетчик 60 МГц

Частотомер/счетчик измеряет частоту от 10 Гц до 60 МГц с разрешением 10 Гц. Это очень полезное стендовое испытательное оборудование для тестирования и определения частоты различных устройств с неизвестной частотой, таких как генераторы, радиоприемники, передатчики, генераторы функций, кристаллы и т. д.

Генератор функций XR2206, 1 Гц — 2 МГц

Генератор функций XR2206, 1 Гц — 2 МГц, создает высококачественные синусоидальные, прямоугольные и треугольные сигналы высокой стабильности и точности. Выходные сигналы могут быть модулированы как по амплитуде, так и по частоте. Выход 1 Гц — 2 МГц Функциональный генератор XR2206 может быть подключен непосредственно к счетчику 60 МГц для установки точной выходной частоты.


BA1404 Стерео FM-передатчик HI-FI

Будьте в эфире со своей собственной радиостанцией! BA1404 HI-FI стереофонический FM-передатчик передает высококачественный стереосигнал в FM-диапазоне 88–108 МГц. Его можно подключить к любому источнику стереозвука, такому как iPod, компьютер, ноутбук, CD-плеер, Walkman, телевизор, спутниковый ресивер, кассетная дека или другая стереосистема для передачи стереозвука с превосходной четкостью по всему дому, офису, двору или лагерная площадка.

Плата ввода-вывода с интерфейсом USB

Плата ввода-вывода с интерфейсом USB представляет собой миниатюрную впечатляющую плату для разработки/замену параллельного порта с микроконтроллером PIC18F2455/PIC18F2550. USB IO Board совместима с компьютерами Windows/Mac OSX/Linux. При подключении к плате ввода-вывода Windows будет отображаться как COM-порт RS232. Вы можете управлять 16 отдельными контактами ввода-вывода микроконтроллера, отправляя простые последовательные команды. Плата USB IO питается от порта USB и может обеспечить до 500 мА для электронных проектов. USB IO Board совместима с макетом.


 
Комплект для измерения ESR / емкости / индуктивности / транзистора

Комплект для измерения ESR — это удивительный мультиметр, который измеряет значения ESR, емкость (100 пФ — 20 000 мкФ), индуктивность, сопротивление (0,1 Ом) — 20 МОм), тестирует множество различных типов транзисторов, таких как NPN, PNP, FET, MOSFET, тиристоры, SCR, симисторы и многие типы диодов. Он также анализирует характеристики транзистора, такие как напряжение и коэффициент усиления. Это незаменимый инструмент для устранения неполадок и ремонта электронного оборудования путем определения работоспособности и исправности электролитических конденсаторов. В отличие от других измерителей ESR, которые измеряют только значение ESR, этот измеряет значение ESR конденсатора, а также его емкость одновременно.

Комплект усилителя для наушников Audiophile

Комплект усилителя для наушников Audiophile включает в себя высококачественные аудиокомпоненты, такие как операционный усилитель Burr Brown OPA2134, потенциометр регулировки громкости ALPS, шинный разветвитель Ti TLE2426, сверхнизкое ESR 220 мкФ/25 В, фильтр Panasonic FM конденсаторы, Высококачественные входные и развязывающие конденсаторы WIMA и резисторы Vishay Dale. 8-DIP обработанный разъем IC позволяет заменять OPA2134 многими другими микросхемами с двумя операционными усилителями, такими как OPA2132, OPA2227, OPA2228, двойной OPA132, OPA627 и т. д. Усилитель для наушников достаточно мал, чтобы поместиться в жестяную коробку Altoids, а благодаря низкому энергопотреблению может питаться от одного 9батарея В.

 

 
Комплект Arduino Prototype

Arduino Prototype — впечатляющая плата для разработки, полностью совместимая с Arduino Pro. Он совместим с макетной платой, поэтому его можно подключить к макетной плате для быстрого прототипирования, а контакты питания VCC и GND доступны на обеих сторонах печатной платы. Он небольшой, энергоэффективный, но при этом настраиваемый благодаря встроенной перфорированной плате 2 x 7, которую можно использовать для подключения различных датчиков и разъемов. Arduino Prototype использует все стандартные сквозные компоненты для простоты конструкции, два из которых скрыты под разъемом IC. Плата оснащена 28-контактным разъемом DIP IC, заменяемым пользователем микроконтроллером ATmega328, прошитым загрузчиком Arduino, кварцевым резонатором 16 МГц и переключателем сброса. Он имеет 14 цифровых входов/выходов (0-13), 6 из которых могут использоваться как выходы ШИМ и 6 аналоговых входов (A0-A5). Скетчи Arduino загружаются через любой адаптер USB-Serial, подключенный к разъему 6-PIN ICSP female. Плата питается напряжением 2-5 В и может питаться от батареи, такой как литий-ионный элемент, два элемента AA, внешний источник питания или адаптер питания USB.

200-метровый 4-канальный беспроводной радиочастотный пульт дистанционного управления 433 МГц

Возможность беспроводного управления различными приборами внутри и снаружи дома — это огромное удобство, которое может сделать вашу жизнь намного проще и веселее. Радиочастотный пульт дистанционного управления обеспечивает большой радиус действия до 200 м / 650 футов и может найти множество применений для управления различными устройствами, и он работает даже через стены. Вы можете управлять освещением, вентиляторами, системой кондиционирования, компьютером, принтером, усилителем, роботами, гаражными воротами, системами безопасности, моторизованными шторами, моторизованными оконными жалюзи, дверными замками, разбрызгивателями, моторизованными проекционными экранами и всем остальным, о чем вы только можете подумать.

 

Макетная схема ATmega8 — Часть 2 из 3 — Микроконтроллер

Микроконтроллеры AVR, учебные пособия

Этот учебник является продолжением макетной платы ATmega8 — Часть 1, где мы собираем небольшой блок питания на макетной плате. В этой части мы добавим микроконтроллер ATmega8 и интерфейс, позволяющий его программировать.

Первым делом нужно ориентироваться в микроконтроллере ATMEGA8. Поскольку мы строим нашу схему на макетной плате, мы используем вариант PDIP (ATMEGA8A-PU). Вы также можете построить эту схему, используя ATmega48, 88, 168 или 328, так как все они имеют одинаковую схему контактов, но имеют немного разные функции, тактовую частоту и память.

Когда вы посмотрите на микроконтроллер, вы увидите несколько особенностей, которые помогают определить номера контактов. На одном конце есть полукруг/полумесяц. Это обозначает верхнюю часть IC (интегральной схемы). В корпусе PDIP/DIP выводы нумеруются с 1 против часовой стрелки от этого маркера. Кроме того, на ATmega8 есть небольшой кружок, обозначающий контакт 1.

Когда вы посмотрите на распиновку, вы заметите, что многие из контактов помечены как порты ввода-вывода. например Контакт 28 имеет маркировку «PC5», что означает «порт C, контакт 5». Порты ввода-вывода также имеют второстепенные функции, указанные в скобках. например контакт 28 имеет вторичные функции ADC5 (входной канал 5 АЦП) и SCL (линия синхронизации двухпроводной последовательной шины). В некоторых случаях (например, сброс на контакте 1) вторичная функция используется гораздо чаще, чем основная функция.

Теперь пришло время вставить микроконтроллер на макетную плату. Вам нужно будет немного согнуть штифты внутрь. Один из способов заключается в том, чтобы неглубоко вставить одну сторону микросхемы, а затем согнуть штырьки на другой стороне так, чтобы они вошли в точки крепления на этой стороне. Затем вы можете аккуратно втолкнуть/пошевелить микросхему внутрь.

Теперь подадим питание на ИМС. ATmega8 имеет 2 контакта заземления (8 и 22), контакт VCC (7) для положительного источника питания и аналоговый контакт VCC (20) для подачи питания на АЦП. На рисунке ниже показано, как они подключены.

Для нормальной работы контакт 1 (PD0/Reset) должен быть высоким. Когда этот вывод временно заземлен, система перезагружается/перезагружается. Это обозначено на схеме выводов горизонтальной линией над надписью «RESET». Это обозначение довольно распространено и означает, что функция активируется, когда контакт заземлен.

Мы построим схему, состоящую из или 10k; резистор и кнопочный переключатель. Резистор «подтягивает» контакт, чтобы он был высоким для нормальной работы, в то время как кнопочный переключатель временно заземляет контакт для операции сброса. Если бы резистора не было (т. е. он был бы заменен куском провода сопротивлением 0 Ом), то нажатие кнопки отводило бы всю мощность на землю, что означало бы отсутствие питания для VCC/AVCC и взрыв блока питания.

Переключатель, который мы используем, представляет собой микротактильный переключатель. Эти переключатели имеют 2 пары контактов, причем контакты в каждой паре соединены друг с другом. Это показано на диаграммах ниже.

Вам будет полезно выпрямить контакты микротактильного переключателя перед его установкой на макетную плату. Теперь нам просто нужно построить схему на плате.

Последним этапом является создание интерфейса ISP (в системном программировании). Это позволяет записывать прошивку в микроконтроллер с помощью программатора, такого как USBASP AVR Programmer.

Интерфейс интернет-провайдера будет через 10-контактный разъем IDC (закрытый / коробчатый), что вызывает у нас проблемы. Эти разъемы не помещаются на макетную плату, поскольку расстояние между рядами составляет 0,1 дюйма (2,54 мм). Нам нужно, чтобы ряды были 0,3 дюйма (7,62 мм), чтобы они поместились по обе стороны от центрального канала макетной платы. Есть много решений этой проблемы. Мы будем сгибать контакты разъема IDC с выводами под прямым углом. Это может выглядеть не очень красиво, но это работает.

Наконец, мы вставляем разъем IDC, затем подключаем его к источнику питания 5 В, земле и микроконтроллеру.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *