Среда разработки программного кода для микроконтроллеров серии AVR компании Atmel на языке, подобном стандартному Бейсику.
Семейство 8-битных AVR-микроконтроллеров имеет одинаковый набор команд, присущий RISC-архитектуре, что означает легкость портирования программ под разные чипы. Скорость выполнения команд в четыре раза быстрее, чем у PIC-микроконтроллеров от Microchip. Bascom-AVR (от слов Basic Compiler) является превосходным компилятором, который помимо основной функции написания программ и трансляции их в машинных код в формате .hex понятный микроконтроллеру, позволяет построчно проводить отладку-симуляцию и прошивать микросхемы прямо из среды разработки с помощью программатора, например, STK200/STK300 или внешних утилит, таких как USBASP_AVRDUDE_PROG. Имеется текстовый редактор и справочно-информационная система.
Bascom-AVR – пакет для быстрой разработки, сравнительно простой в освоении, подходящий тем, у кого нет времени и сил изучать программирование на С++. Код, создаваемый этой средой, отнюдь не изящен, но компактен и быстр в исполнении. Программный пакет поддерживает основные функции чипов AVR, такие как счетчики и таймеры, аналого-цифровое преобразование, широтно-импульсную модуляцию, UART, шину I2C. Чрезвычайно экономит время поддержки различных внешних устройств: кнопок, датчиков, графических индикаторов и небольших ЖК-дисплеев, цифробуквенных табло, клавиатур 3х4 или 4х4, клавиатур PS/2 и многого другого. Программы, написанные в Bascom-AVR, могут быть отлажены на моделях в Proteus или на макетных платах.
Перед скачиванием приложения с родного сайта необходимо знать, что Bascom выпущен в трех вариантах. Помимо Bascom-AVR, существует среда Bascom-LT для микросхем AT89Cx051 и Bascom-8051 для серии 8051. Основное отличие демо версии – отсутствие возможности компиляции программ размером более 4 КБ. Работать можно лишь с самыми младшими моделями линейки AVR-микроконтроллеров. Но, для знакомства с программой, этого более чем достаточно, потому что установка Bascom-AVR, настройка и написание программы – это не самое сложное. Как правило, большинство трудностей возникают из-за незнания особенностей используемого программного и аппаратного обеспечения. Любая интересующая справочная информация, мануалы и подробные описания команд выложены на сайте разработчиков, но, к сожалению, на английском языке.
Приложение Bascom-AVR предназначено для работы на базе платформы Windows 98, NT, 2000, XP, Vista и 7. Совместимость с последними версиями операционных систем полная.
Распространение программы: Freeware (бесплатная с ограничением на код 4 кБ) и Shareware (платная), цена — от 79 евро
Официальный сайт BASCOM-AVR:
Скачать демо версию Bascom-AVR
Обсуждение программы на форуме
cxem.net
Автор: WildCat
Bascom
Bascom — это сокращение от слов Basic Compiler. Bascom разработала компания MSC Electronics. Он поставляется в трех вариантах:
— Bascom-LT для МК серии AT89Cx051 фирмы Atmel
— Bascom-8051 для микроконтроллеров серии 8051
— Bascom-AVR для микроконтроллеров серии AVR фирмы Atmel
Примечание: страницы, которые вы беззаботно пролистываете, есть результат работы группы из 10 бородатых радиолюбителей-мордоворотов и одного бездельника, решившего все это перевести на русский язык. Все статьи имеют отношение в первую очередь к компилятору для AVR. Авторьё считает, что материала, изложенного здесь, достаточно для начинания. По рассчетам читатель получит пинка для дальнейшего самостоятельного изучения.
Bascom — это приложение для ПК, позволяющее делать вот такие штуки:
— Писать программы на Бейсике
— Переводить эти программы в машинные коды (формат, понятный МК)
— Симулировать скомпилированный код
— Программировать МК с помощью внешних утилит или непосредственно из среды разработки
Bascom — приложение в стадии хронической разработки, у него есть куча глючностей, как и у любого компилятора. За ту сумму, которую требуют разработчики, это — космического качества штука (не актуально для России). Господа! Проверьте, читаете ли вы форум BASCOM, и если нет, то срочно начинайте это делать! Следите, что там творится, и какие темы обсуждаются.
Мелочь, а приятно, — начните изучение с бесплатной версии программы (топайте сюда и выкачивайте архив с бесплатной программой). Единственное её отличие — она не позволяет компилировать более 4КБ машинного кода (а до 2005 года вообще 2КБ было! Может, нарветесь на антиквариат?) Безусловно, в этом случае работать можно только с МК семейства ATTiny (с 2КБ памяти) или с более популярным в свое время AT90S2313 (к сожалению он снят с производства). Так или иначе, для знакомства с BASCOM AVR это — лучший вариант!
BASCOM — средство для быстрой разработки, в нем встроена поддержка многих встроенных функций AVR, таких как:
— Счетчики, таймеры
— UART
— АЦП
— ШИМ
— Поддержка шины I2C
В придачу поддержка кучи внешних устройств:
— Кнопочки
— Буквенно-цифровые индикаторы
— Графические индикаторы
— 3х4 или 4х4 клавиатуры
— PS/2 клавиатура
— ИК дистанционное управление
Именно это и делает BASCOM привлекательным средством для разработки новых устройств, так как он безмерно экономит время встроенными плюшками.
Пусть слово Бейсик не введет вас в заблуждение. BASCOM — это не тупой интерпретатор, а крутейшего качества компилятора, который переводит программу с бейсика на язык, понятный МК. Пусть код, который он генерирует, не такой изящный, но он довольно компактный и быстрый.
AVR
AVR — это семейство 8-битных микроконтроллеров с очень гибким варьированием характеристик, таких как:
— Размер программной памяти (flash)
— Размер EEPROM
— Количество портов ввода-вывода
— Наличие аппаратно реализованных штук, например UART и АЦП
— Различные корпуса
Самый маленький Мк в семейсте — ATTiny11, у него 1КБ программируемой памяти и 6 портов ввода-вывода. Самый мощный — ATMega256x, у которого 256кб памяти, 54 порта ввода-вывода и практически все фишки, которые смогли придумать (вот уж на чем современные калькуляторы делать надо!). У всех МК одинаковый, характерный для RISC-архитектуры набор команд, что позволяет со сказочной легкостью портировать программы под различные МК. Одна команда выполняется за один тактовый цикл (за исключением перехода на метку, которая съедает два цикла), что в четыре (!!!) раза быстрее, чем у PIC фирмы Microchip.
Чего я хочу всем этим сказать
Если вы хотите начать программировать на BASCOM, вам придется столкнуться с серьёзными проблемами. Установка компилятора, настройка, написание программы — это не главное. Но если вы хотите собрать программатор и устройство на AVR, то наверняка столкнетесь с тем, что что-нибудь да откажется работать. Это пособие планировалось как пошаговое руководство, которое поможет пройти через многие возникающие проблемы. В конце концов разработка микроконтроллерных устройств будет не сложнее, чем игра в конструктор — все ограничивается лишь вашей фантазией (ну конечно же еще финансами и некоторыми возможностями самих МК и компилятора).
Ну и конечно же: Граждане! Читайте даташиты! В них очень много всего полезного и интересного! Большинство проблем возникает из-за элементарного незнания особенностей аппаратного и программного обеспечения. Если вы подготовитесь к возможным трудностям, то они просто не возникнут.
decada.org.ru
Среда разработки программного кода для микроконтроллеров серии AVR компании Atmel на языке, подобном стандартному Бейсику.
Плеер WAV файлов с управлением по UART. В качестве памяти использована SD карта. Выполнен на микроконтроллере Atmega32.
Автор:
23 5 [1]Простой проект двухканального вольтметра постоянного тока от 0 до 30 вольт. Реализован на микроконтроллере Atmega8 и однострочного ЖК индикатора Wh2601 (HD44780).
Автор:
4 5 [1]Устройство построено на основе микроконтроллера ATMEGA8. В качестве датчиков используются фототранзисторы. Измерение длины осуществляется путем подсчета импульсов, генерируемых датчиком, размещенным на колесе заданного радиуса. Прибор учитывает и направление движения колес. Так же у устройства имеется энергонезависимая память измеренного расстояния с возможностью продолжения измерений.
Автор: dossalab
3 0 [0]RGB светодиодные ленты используют сейчас для освещения потолков, лестниц, полок в ванных комнатах, кухнях и т.д. Система состоит из двух частей: контроллера, собранного на базе ATtiny2313 (который встроен в настенный выключатель), и исполнительной схемы, встроенной в распределительную коробку. Управляется контроллер энкодером с кнопкой. Энкодер позволяет настраивать цвет, имеется также функция перетекания цвета с регулируемой скоростью.
Автор: dossalab
17 0 [0]cxem.net
А вот с АЦП образовалась проблема. Ни накопанная в интернетах ардуиновская библиотека, ни примеры кода у меня почему-то не заработали. Читались одни нули, хотя простой мультик показывал на одном из входов положенные туда 3В.
За отсутствием под рукой лог.анализатора (дело было на работе) решил подебажить ардуиновский elf-файл AVR-студией — и тут предо мной разверзлись врата ада ардуинокода. Фик с тем, что elf ардуины надо вытаскивать из глубокой задницы винды, это я нашёл довольно быстро. Самая печаль отражена на этом фото:
для моего «проекта» из нескольких строчек ардуинокоманд, это было слишком.
Увиденное также натолкнуло на мысль о «легкости» отладки в том случае, когда к дефолтному SD.init() добавятся команды SPI-библиотеки на общение с АЦП. Которому, к слову, нужны вполне определённые настройки SPI (MODE0,0 и не слишком высокая частота обмена, емнип) и они может быть даже расходятся с настройками SPI, зашитыми в SD-библиотеку.
В общем, я подумал, и решил обойтись BASCOM’ом. Он прост, быстр, и легок в отладке.
И да, всё так и оказалось, кроме одного: баскомовский прошивальщик не хотел шить ардуину.
Затем раскапываю в ардуиноIDE волшебную галку, открывающую выдачу лога прошивки в окно IDE. Но беда-беда, дудка выплёвывает столько, что начало лога (с командой дудке) неизменно затирается последующей выдачей. Ищу настройки размера буфера лога. Что-то меняю, безрезультатно.
Вспоминаю, что где-то видел лог в файле. Нахожу — в той же заднице, что и elf-файл прошивки, сгенеренный силами ардуиноIDE.
Открываю этот лог, нахожу (!!!) командную строку дудки, закидываю в свой батник, правлю пути к баскомовскому хексу, заодно правлю явно неправильную скорость порта, пытаюсь прошиться — ТА ЖЕ ОШИБКА.
Долго думаю. Проверяю скорость порта в Диспетчере устройств. Меняю её. Пишу ту же в командной строке. ОШИБКА.
Плюю на всё, ставлю 115200, что были в логе ардуиноIDE, шью — УСПЕХ!
Ставлю 115200 в SinaProg — УСПЕХ. Ставлю 115200 в настройках прошивальщика BASCOM AVR — УСПЕХ.
В итоге настройки прошивальщика Bascom принимают такой вид:
— и всё работает. Порт только нужно ставить тот, на котором плата висит у вас.
PS Пост написан для того лишь только, чтобы очередной страдалец шел не моим путем проб и ошибок, а — коротким и сразу к успеху. Можете минусить, главное не бейте стирайте.
PPS С чтением MCP3208 всё ещё вожусь. Но тут хоть прогресс есть.
we.easyelectronics.ru
Среда разработки программного кода для микроконтроллеров серии AVR компании Atmel на языке, подобном стандартному Бейсику.
Статьи | Видео | ПользователиОбучающая статья по созданию игрового контроллера с обратной связью (Force Feedback) на AVR-микроконтроллере в среде Bascom-AVR
Автор: Mrshilov
Цикл уроков по AVR-микроконтроллерам. Урок 14. Программный UART в BASCOM-AVR
Автор: noauthor
Накануне Нового Года хочется сделать что-нибудь праздничное! А самое лучшее украшение дома — это всеми любимая елка. В статье описывается изготовление ёлки и блока управления световыми эффектами на микроконтроллере ATmega8
Автор: avis_rara
Работа с цифровым датчиком температуры фирмы Dallas DS18B20 в BASCOM-AVR. Написание программы и практическая работа.
Автор:
Перед вами проект двухканального термометра. Он может измерять температуру в диапазоне от -50.0 до +99.9 градусов. Устройство было разработано для измерения температуры в доме и на улице, но ему также можно найти и множество других применений. При небольшом изменении программы устройство также можно использовать в качестве термостата. Термометр построен на популярном и очень широко распространенном датчике DS18B20 и микроконтроллере ATtiny2313.
Автор: dossalab
Простой частотомер на микроконтроллере AVR Atmel tiny2313, с пределом измерения 16 МГц
Автор:
Простой бортовой компьютер на микроконтроллере Atmel mega 8. Содержит часы реального времени, термометр, вольтметр и другие функции.
Автор:
Работа с энкодером в среде BASCOM-AVR, пример программы и практика
Автор:
Продолжение цикла уроков по BASCOM-AVR. Работа и использование бутлоадера в BASCOM-AVR. Теория и практический пример
Автор:
Работа с дисплеем от Nokia 3310 в BASCOM-AVR. Теория и практический пример.
Автор:
cxem.net
Автор: WildCat
Моргало светодиодное
Светодиодная моргалка — это, пожалуй, примерно тоже, что и «Hello world!», только с хардкорным электрическим уклоном. Это тот самый этап, когда вы будете готовы к запуску целой системы и проверки её работоспособности.
Для начала соберите небольшую тестовую схему.
К микроконтроллеру в стандартной обвязке (под стандартной обвязкой имеется ввиду источник питания и кварцевый резонатор с подтягивающими конденсаторами) необходимо подключить светодиод. Анодом подключите его к любому выводу порта D (читайте даташит, смотрите распиновку!), а катодом — к земле через резистор 220-560 ом.
Теперь приступим. Запустите BASCOM, создайте новый проект (File->New).
В появившемся окне редактора наберите следующую программу:
Заметьте: редактор осуществляет подсветку синтаксиса при вводе. Это очень удобно, сразу заметно, если вы где-то допустили ошибку.
В этой простейшей программе порт D настраивается на вывод. Потом на него подается значение 255. Таким образом все биты порта примут значение 1. Обратите внимание, что аппаратно доступны только младшие 7 бит (PD0-PD6).
По истечении 50 миллисекунд на порту D устанавливается значение 0, и все его биты также принимают значение 0. Через 50 миллисекунд цикл повторяется. В результате светодиод очень часто моргает.
После того, как вы ввели текст, нажмите File->Save и сохраните файл проекта в подходящее место. Назовите его ledflasher.bas. Так как BASCOM создает множество файлов после компиляции, неплохо было бы сохранять каждый проект в отдельную папку.
Зададим теперь настройки контроллера. Жмем Options->Compiler->Chip:
Чип по умолчанию установлен как AT90S2313:
Выберите вкладку Communication:
По умолчанию значение тактовой частоты установлено 10 МГц, но так как мы используем кварц на 4 МГц, выберите значение 4000000 из списка Frequency. Необходимо задавать тактовоую частоту кварца, который будет использоваться в схеме, так как все временные величины в программе рассчитываются из этого значения:
После того, как вы сохранили проект, нажмите Program->Compile (F7). BASCOM проверит синтаксис, и, если не найдет ни одной досадной ошибки, скомпилирует программу и скажет, сколько памяти она займет в МК указанного типа:
Теперь убедитесь, что питание на вашу схему подано, программатор подключен к устройству и ПК:
В BASCOM нажмите Program->Send to chip (F4). Если вы настроили BASCOM на использование внешнего компилятора, описаного ранее,появится окно TWinAVR. Дальше эта программа сделает следующее:
— Остановит работу МК (подаст 0 на линию сброса)
— Подключит шинный формирователь (74HCT244) к лапкам МК
— Поместит содержимое ledflasher.bin в программную память МК
— Сравнит загруженную программу с оригиналом
— Отключит шинный формирователь от МК
— Освободит линию сброса (подаст 1), МК начнет выполнять программу.
При программировании информация о текущих процессах отображается в отдельном окне:
После завершения программирования вам придется вручную закрыть TWinAVR, этого BASCOM за вас не сделает.
В награду за наши старания мы получим шустро моргающий светодиод.
Теперь поиграемся с кодом программы. Измените значения после команды Waitms, чтобы изменить время вспышек и пауз между ними. Нажмите F7, чтобы перекомпилировать программу, перепрограммируйте чип клавишей F4 и следите за изменениями в работе!
Теперь, когда все подключено, вы заметите, что при следующей загрузке компьютера контроллер не включится, пока вы не запустите TWinAVR. Это происходит оттого, что компьютер удерживает линию сброса на низком уровне, а TWinAVR сбрасывает её после записи программы или чтения конфигурации.
decada.org.ru
Bascom-AVR — интегрированная среда разработки программ для микроконтроллеров семейства Atmel AVR на языке высокого уровня (Basic).
В состав Bascom входят следующие компоненты разработки:
Имеются операторы для работы с устройствами, расположенными на кристалле микроконтроллера, и внешними устройствами, наиболее часто используемые в микропроцессорных системах. Компилятор позволяет создавать программы для всех моделей микроконтроллеров AVR, а также некоторых из XMEGA.
Список популярных программаторов, поддерживающих работу напрямую с Bascom-AVR:
Bascom-AVR является коммерческой разработкой, тем не менее существует бесплатная пробная версия, с единственным ограничением — размер компилируемого кода не может превышать 4 килобайта. По состоянию на май 2016 года, текущей является версия 2.0.7.8.
AVR — семейство восьмибитных микроконтроллеров, ранее выпускаемых фирмой Atmel, затем Microchip. Год разработки — 1996.
V-USBV-USB — название программной библиотеки, позволяющей получить поддержку протокола USB на микроконтроллерах AVR (семейств Classic, Tiny и Mega компании Atmel), которые не имеют аппаратной поддержки USB. Авторство библиотеки принадлежит компании Objective Development, которая распространяет и продвигает V-USB по лицензии GNU GPL и коммерческой лицензии (исходные коды библиотеки свободно доступны, см. ссылки).
Старое название библиотеки было AVR-USB, но после того как библиотека обрела популярность, название пришлось сменить, чтобы не вступать в конфликт с существующими именами Atmel. Протокол USB реализован программно, и быстродействия ядра AVR хватает только на реализацию стандарта USB 1.1 на низкой скорости (low-speed). По этой причине библиотека V-USB хорошо подходит только для низкоскоростных устройств ввода-вывода (например USB HID). Поскольку требования к быстродействию при обработке сигналов USB (D+ и D-), очень жесткие, то низкоуровневый код написан на ассемблере, и поддерживается только определенный ряд тактовых частот ядра. Сначала тактовая частота была только 12 МГц, но потом стало возможно использовать кварцевые резонаторы на 12, 15, 16, 16.5 и 20 МГц. Микроконтроллеры, которые имеют PLL (ФАПЧ, фазовую автоподстройку частоты) для генерации тактовой частоты, могут использовать внутренний RC-генератор (то есть работать без кварца), при условии калибровки частоты RC-генератора по сигналу SOF (Start Of Frame) протокола USB. Высокоуровневые процедуры и функции библиотеки написаны на языке C. Требования к микроконтроллеру AVR невысоки — необходимо как минимум 2 кбайта памяти программ (flash) и 128 байт ОЗУ (RAM). Из аппаратных ресурсов используется только прерывание по изменению сигнала на выводе (обычно INT0, подсоединенный к сигналу D+ шины USB). Таким системным требованиям удовлетворяют большинство микроконтроллеров семейства AVR.
Благодаря тому, что вместе с библиотекой поставляются хорошие примеры firmware для USB-устройств (пользовательский класс USB, класс USB HID, мышь USB, управление портами микроконтроллера, чтение и запись его EEPROM), появилось много полезных разработок, использующих библиотеку V-USB — USB-программаторы, устройства ввода и вывода, макетные платы, преобразователи интерфейсов (например, USB-RS232) и многое другое (см. ссылки). Вместе с библиотекой поставляются также примеры программ для компьютера (ПО хоста), которые работают с устройствами на библиотеке V-USB. Примеры ПО хоста используют другую свободную библиотеку — libusb.
Таким образом, библиотека V-USB позволяет непрофессионалам в программировании интерфейса USB быстро начать создавать USB-устройства и писать для них компьютерные программы. Кроме того, отсутствуют затраты на используемое в разработке программное обеспечение — оно доступно по лицензии GNU. Код комментариев библиотеки и примеров firmware и ПО хоста переведены на русский язык (см. ссылки).
This page is based on a Wikipedia article written by authors
(here).
Text is available under the CC BY-SA 3.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.
howlingpixel.com