С чего начать программировать микроконтроллеры?
-
aleksandr-zh
- Сверлит текстолит когтями
- Сообщения: 1278
- Зарегистрирован: Пн июн 18, 2007 21:51:20
dosikus писал(а):
Так же приобрести pikkit2 с отладочной платой пока акция не кончилась
огромное спасибо!
принесли сейчас pikkit2
оказалось даже лучше, чем мы предполагали
особо понравился программатор!
а вписанная в МК прога - песня
Кстати! один из "учеников" уже пишет свое ПО под АВР на FastAVR. Подобрались к прерываниям и таймерам.
вот план для быстрого старта на первое время:
Понятие «ядро процессора»
Набор команд, зависящий от производителя
Машинные коды и их символьное обозначение — ассемблеры
Разные производители процессоров = разные ассемблеры
Разные процессоры = разные системы команд = несовместимость программ на уровне команд процессора
разные ассемблеры = несовместимость программ на уровне символьных обозначений машинных команд
Разные компании, пишущие трансляторы-ассемблеры для процессоров, = разные символьные обозначения машинных команд = несовместимость ассемблеров разных производителей.
Программа и Алгоритмы. Ветвление программы: условия и циклы. Виды «условий» и «циклов», их работа.
Периферия: счетчики/таймеры, UART, EEPROM, компаратор
Окно в мир — порты. Режим работы портов: ввод/вывод. Управление режимами работы портов через специальные управляющие регистры.
Прерывания как метод управления исполнением программы. Вход и выход в/из прерывания. Скорость реагирования на прерывание.
Типы прерываний: от изменения состояния вывода порта, таймер, UART, EEPROM, компаратор
Так же приобрести pikkit2 с отладочной платой пока акция не кончилась
огромное спасибо!
принесли сейчас pikkit2
оказалось даже лучше, чем мы предполагали
особо понравился программатор!
а вписанная в МК прога - песня
Кстати! один из "учеников" уже пишет свое ПО под АВР на FastAVR. Подобрались к прерываниям и таймерам.
вот план для быстрого старта на первое время:
Понятие «ядро процессора»
Набор команд, зависящий от производителя
Машинные коды и их символьное обозначение — ассемблеры
Разные производители процессоров = разные ассемблеры
Разные процессоры = разные системы команд = несовместимость программ на уровне команд процессора
разные ассемблеры = несовместимость программ на уровне символьных обозначений машинных команд
Разные компании, пишущие трансляторы-ассемблеры для процессоров, = разные символьные обозначения машинных команд = несовместимость ассемблеров разных производителей.
Программа и Алгоритмы. Ветвление программы: условия и циклы. Виды «условий» и «циклов», их работа.
Периферия: счетчики/таймеры, UART, EEPROM, компаратор
Окно в мир — порты. Режим работы портов: ввод/вывод. Управление режимами работы портов через специальные управляющие регистры.
Прерывания как метод управления исполнением программы. Вход и выход в/из прерывания. Скорость реагирования на прерывание.
Типы прерываний: от изменения состояния вывода порта, таймер, UART, EEPROM, компаратор
aleksandr-zh писал(а):Stalker46 писал(а):вот вопрос. почему, когда загорается много сегментов, яркость каждого сегмента уменьшается?
как этого избежать?
это из-за неверной схемы у меня
надо на каждый сегмент свой резистор
Советую как пример разобрать посегментную индикацию.
Отличные проекты смотри у ARV на сайте .
Отличии от поразрядной одновременно включен один сегмент ( светодиод ) , скважность выше - поэтому достаточно резисторов меньших номиналов и только на общих выводах .
Плюс очевиден - меньше деталей , при смд компонентах схема умешается в габариты индикатора . Минус - хотя может и не проявиться - меньшая яркость.
- Pahan
- Мучитель микросхем
- Сообщения: 487
- Зарегистрирован: Чт ноя 23, 2006 22:47:35
- Контактная информация:
Stalker46 писал(а):народ, а сколько вольтаж на один вывод МК при логической "1"? МК AVR как я помню КМОП технологии, так что есть мы его питаем от 5 В, то и на ножке "1" будет выгляедть как 5В?
Смотри даташиты. Там диапазон уровней и 0, и 1 указаны. А еще надо и макс. ток на ногу смотреть и суммарный ток на кристалл. Это тоже все прописано в ДШ.
такая клавиатура уже с резисторами? или без? если без, то можно на плату поставить...
http://www.chip-dip.ru/product0/896428538.aspx
http://www.chip-dip.ru/product0/896428538.aspx
Не умеешь - не берись, но не взявшись не научишься...
-
aleksandr-zh
- Сверлит текстолит когтями
- Сообщения: 1278
- Зарегистрирован: Пн июн 18, 2007 21:51:20
dosikus писал(а):к пример разобрать посегментную индикацию.
буду иметь в виду
очень понравилась плата pikkit2
на ней удобно учить
Написал несколько примеров работы с МК pic16f887
Кстати! найти инструмент было сложно: многие компиляторы не поддерживают этот МК!
Скачал PIC Simulator IDE, в новом есть поддержка.
Решил написать несколько статей уроков про эту плату и эту программу.
Ученики начали использовать компаратор, некоторые режимы ADC и прерывания.
Приучаю, что никакой разницы между типами МК нет. Пока получается
Как допишу уроки - выложу на свой сайт. Буду "учиться" у авр 123 - никакого словоблудия и "художеств" при оформлении
удачи всем!
-
aleksandr-zh
- Сверлит текстолит когтями
- Сообщения: 1278
- Зарегистрирован: Пн июн 18, 2007 21:51:20
- Аксель
- Опытный кот
- Сообщения: 800
- Зарегистрирован: Ср апр 25, 2007 09:50:43
- Откуда: Киев
- Контактная информация:
ЫЫЫЫЫ Сегодня запускал свежеизготовленную девайсину на ATmega8.
Включаю.
...тыдыдыдыдым - не работает. Прошиваю тестовую прошивку под этот девайс, так - ресетится вместо возврата "в вечный" цикл. "Пляски с бубном". Ресетится. "Пляски с бубном" Ресетится. Новая прошивка для теста, "пляски с бубном" - ресетится.
Откладываю это до вечера. Возвращаю всё как было.
И вот вечером, заменяю одну мегу8 на другую. Последняя тестовая прошивка - работает. Замечательно! Рабочая прошивка - работает. Отличо!
А теперь проверочка: проверяю первую мегу8 - ресетится. Ставлю вторую обратно - работает.
Обе меги были куплены вместе. Софт для прошивки, настройки фузов, и прошивки - одинаковые.
Включаю.
...тыдыдыдыдым - не работает. Прошиваю тестовую прошивку под этот девайс, так - ресетится вместо возврата "в вечный" цикл. "Пляски с бубном". Ресетится. "Пляски с бубном" Ресетится. Новая прошивка для теста, "пляски с бубном" - ресетится.
Откладываю это до вечера. Возвращаю всё как было.
И вот вечером, заменяю одну мегу8 на другую. Последняя тестовая прошивка - работает. Замечательно! Рабочая прошивка - работает. Отличо!
А теперь проверочка: проверяю первую мегу8 - ресетится. Ставлю вторую обратно - работает.
Обе меги были куплены вместе. Софт для прошивки, настройки фузов, и прошивки - одинаковые.
Скелет колобка состоит из черепа.
-
aleksandr-zh
- Сверлит текстолит когтями
- Сообщения: 1278
- Зарегистрирован: Пн июн 18, 2007 21:51:20
хаха!
тут случайно мы с другом протестировали компиляторы на компактность кода
Он установил CVAVR и WinAVR
а я FastAVR, AVR Simulator и MikroBasic
писали одно и тоже:
вот результаты (я обалдел! )
MikroBasic - 67 слов
CVAVR (макс оптимизация) - 66 слов
WinAVR - 50 слов
AVR Simulator - 39 слов
FastAVR - 34 слова
то, что они выдали в асм код - могу выложить
есть целые шедевры!!!
тут случайно мы с другом протестировали компиляторы на компактность кода
Он установил CVAVR и WinAVR
а я FastAVR, AVR Simulator и MikroBasic
писали одно и тоже:
Код: Выделить всё
DDRC=&h1f
Start_prog:
Set PORTC.1
WaitUs 20000 ' Пауза 200.000 Us
Reset PORTC.1
WaitMs 600 ' Пауза 600 ms
GoTo Start_prog
вот результаты (я обалдел! )
MikroBasic - 67 слов
CVAVR (макс оптимизация) - 66 слов
WinAVR - 50 слов
AVR Simulator - 39 слов
FastAVR - 34 слова
то, что они выдали в асм код - могу выложить
есть целые шедевры!!!
-
aleksandr-zh
- Сверлит текстолит когтями
- Сообщения: 1278
- Зарегистрирован: Пн июн 18, 2007 21:51:20
А прямо как в примере в папке CVAVR и как в 11 задаче-упражнении курса AVR для начинающих в моей домашней страничке. И как в задаче 9.
Например вот так вот:
Например вот так вот:
Код: Выделить всё
( переменная типа unsigned int ) = ADCW;