Программатор Bascom Avr
- Программатор Bascom Avril Lavigne
- Программатор Bascom Avril
- Программатор Bascom Avr
- Программатор Bascom Avro
Справочник по программированию «Bascom-AVR» (М.Л. Формат файла. Справочник по программированию «Bascom-AVR» (М.Л. Программатор позволяет программировать любые микроконтроллеры avr и pic, имеет разъём.
Справочник по программированию «Bascom-AVR» Создание микропроцессорной системы Теория На первом этапе создания микропроцессорной системы до начала программирования необходимо решить несколько важных задач: а), определив: какие задачи решаются программными средствами, а какие с помощью внутренних аппаратных средств микроконтроллера. Определив необходимый и достаточный состав внутренних устройств микроконтроллера, производится выбор внешних устройств, с которы- ми будет работать микроконтроллер. Все это, этап разработки электрической схемы микропроцессорного устрой- ства. Именно на этом этапе происходит изучение документации на все применяемые компоненты, определение достаточности их нормируемых и функциональных возможностей для решения поставленной задачи. В круг изу- чаемых устройств входит и процессор, даже при условии, что используемый компилятор обеспечивает «слепую» работу с его периферией; б) выбрать модель процессора, обеспечивающий внутренними ресурсами, разработанный план действий. Кажется, что первая и вторая задачи едины, но тут надо вспомнить о дополнительных требованиях к разрабаты- ваемому устройству, которые могут стать приоритетными – экономичность, напряжение питания, способ про- граммирования (записи программы), возможность перепрограммирования, поддержка компилятором и т.п.
Программатор Bascom Avril Lavigne
Здесь необходимо заложить некоторую избыточность производительности и, особенно, размеров памяти, обусловлен- ную не стопроцентной эффективностью компилированного кода; в), отвечающее задаче, решаемой отлаживаемой программой и ее па- раметрам. Если устройство отладки забирает у системы какие-либо аппаратные или программные ресурсы, то нужно попытаться обойтись без них, или, по крайней мере, использовать их наименьшей степени и в последнюю очередь.
Например, порты микроконтроллера, используемые для последовательного программирования, не нужно без крайней необходимости использовать в схеме разрабатываемого устройства; г) провести предварительное моделирование и проверку самых важных алгоритмов обработки данных или управления физическими объектами с использование специализированных программ: “Micro-Cap”, “Mathcad”, “Quick-Basic” и т.п.; д) определить значения требуемой производительности систем ввода-вывода, вычислений, преобразований, реагирования на внешние события. Оценить возможность решения этих задач с необходимой скоростью, напри- мер, путем написания и запуска (даже в отладчике) тестовых программ с интересующими фрагментами; е) программы, управляющие реальными устройствами, особенно вновь применяемыми написать отдельно в виде эскизов. Эскизы включить в состав тестовых программ, проверить и отладить на реальных объектах Время исполнения некоторых типовых операций микроконтроллера AVR на частоте генератора 8 МГц указано в таблице. Приведенные числовые значения приблизительны, так как время исполнения операций во мно- гом зависит от значения операнда.
Действие Время исполнение, мкс Сложение и вычитание чисел в формате с плавающей точкой (Single/Double) 20/50 Умножение чисел в формате с плавающей точкой (Single/Double) 50/150 Деление чисел в формате с плавающей точкой (Single/Double) 200/800 Вычисление математической функции в формате (Single/Double) 1000/5000 Считывание (загрузка) 12-16 разр. АЦП (ЦАП) с программ. Интерфейсом 20 Считывание (загрузка) 12-16 разр. АЦП (ЦАП) с аппаратным послед. 10 Считывание (загрузка) 12-16 разр. АЦП (ЦАП) с параллельным интерфейсом.
Справочник по программированию «Bascom-AVR» Порядок подключения внешних устройства (приемников и источников управляющих сигналов и данных) к линиям микроконтроллера не имеет значения, если не используются уникальные свойства портов (альтернатив- ные функции). Наличие альтернативных функций портов микроконтроллера, напротив, требует однозначной при- вязки внешних устройств к конкретным выводам процессора. Существует много вариантов использования и внут- ренних аппаратных средств. Ниже в таблице предлагается перечень аппаратных ресурсов микроконтроллера, ко- торые предлагается для решения некоторых стандартных задач. Задача микро- контроллера Рекомендуемые порты Используемые ресурсы Формирование частоты (вари- ант 1) Только порты с функцией вы- хода по совпадению: OC0A, OC0B (Timer0), OC1A, OC1B (Timer1), OC2A, OC2B (Timer2) Таймеры 0, 1 или 2 (имеющийся в используемой модели микроконтроллера) в режиме самозагрузки. Достоинства: широкий диапазон частот и чистый сигнал.
Процессор неза- гружен. Формирование частоты (вари- ант 2) Любой Любой таймер, запрограммированный вызывать прерывание каждые полпериода, генерируемой частоты. В прерывании производится инверсия порта.
Невозможно формировать час- тоту выше десятков килогерц. Имеется шум периода. Загруз- ка процессора незначительная. Формирование частоты (вари- ант 3) Любой С помощью программ задержки формировать длительности импульса и паузы выходного сигнала. Полная загрузка про- цессора.
Этот способ используется в операторе “Sound” Bascom. Недостаток – прерывания портят форму выходного сигнала. Измерение частоты (вари- ант 1) Только порты с функцией входа таймера: T0, T1, T2, T3 Два таймера: один формирует базу времени (интервал счета периодов измеряемой частоты); второй – счетчик числа пе- риодов. В прерывании первого запускается и останавливается второй таймер. В прерывании второго таймера считается число переполнений в программном счетчике. Измерение периода (вариант 1) Только порты с функцией пре- рывания по фронту или спаду: INT0, INT1, ICP Любой таймер запускается или останавливается по спаду измеряемого сигнала.
Частота заполнения таймера от Fкв. Производится подсчет длительности любого числа полупе- риодов.
Измерение периода (вариант 2) Только порты с функцией входа таймера: T0, T1, T2, T3 Два таймера: один предварительный делитель частоты. Вто- рой счетчик длительности, который запускается или останав- ливается по переполнению таймера 2.
Частота заполнения второго таймера от Fкв. Клавиатура из замыкающих кнопок Любой.
Программатор Bascom Avril
8 или 10 линий для 16 кнопок, 12 линий для 32 кнопок Организовать в виде матрицы 4 на 4, 8 на 2 или 8 на 4. Для экономии портов возможно использование шины данных индикатора для опроса клавиатуры. Аналоговая клавиатура из замыкающих кнопок Только порты с функцией входа АЦП: ADC0ADC7 Организовать в виде схемы резистивной матрицы, в которой замыкание каждой кнопка вызывает появление на входе АЦП уникального уровня напряжения. Пригодно для малокнопоч- ных клавиатур (не более 16 на каждый вход) АЦП с после- довательным интерфейсом Любые.
При наличии сигнала готовности порт с функцией прерывания по уровню INT Программный интерфейс SPI или Micro-Wire. Наличие у АЦП сигнала готовности позволяет организовать считывание по прерыванию.
Программатор Bascom Avr
Могут потребоваться еще какие-то линии. АЦП с SPI интерфейсом Только порты с функцией MOSI, MISO, SCK Аппаратный интерфейс SPI. Порт SS при этом желательно не использовать (установить «1») ЦАП с после- довательным интерфейсом Любые или порты с функцией MOSI, MISO, SCK Соответственно для программного или аппаратного интер- фейса. В некоторых случаях удается использовать USART, если он не используется по основному назначению Светодиодный 7(14) - сег- ментный ин- дикатор Любые – 8(16) линий данные, остальные для кодирования знакоместа (соответственно двоичного или позиционного) В прерывании с частотой 300 – 1000 Гц производится про- граммой вывод данных в мультиплексном режиме из внут- реннего буфера, в котором формируется код всех сегментов индикатора. Символьный индикатор Любой – 6 линий. Рекомендует- ся использовать 4-разрядный режим и линии Portc Индикатор используется в режиме управления по 4-разр.
Шине с побитным управлением портами, подключенными к индикатору. Графический индикатор Два порта: рекомендуется Porta – шина данных, Portc – порт управления Данные пересылаются побайтно, а управление осуществляет- ся побитно. 2.
Справочник по программированию «Bascom-AVR» Практика Проведем разработку микропроцессорной системы поэтапно с подробным комментированием. Кроме во- просов программирования с помощью “Bascom-AVR” рассматриваются технические и организационные вопросы создания программного проекта. В качестве объекта разработки, например, выберем многофункциональные элек- тронные часы со светодиодным индикатором. «Техническое задание». Задача этапа – определение и выработка исходных данных, необходимых для создания программы. Определим главные функциональные характеристики проекта: - основной режим с отображением времени в формате ЧЧММ с мигающей секундной точкой; - установка времени с клавиатуры в режиме редактирования; - сопровождение нажатий клавиатуры звуковым сигналом. Дополнительные функциональные режимы; - режим будильника с остановкой времени срабатывания и звуковым сигналом (желательно мелодичным); - режим таймера (секундомера) с отображением времени в формате ММСС; - цифровая коррекция погрешности хода (цифровая калибровка задающего генератора); - потенциальная возможность измерения и отображения параметров окружающей среды (температуры, влажности, давления), регулирование яркости индикатора в зависи- мости от освещенности автоматически.
Имеется в виду, что базовые технические и программные решения основ- ных функций не должны препятствовать расширению системы добавлением аппаратных и программных модулей. Основные требования к аппаратному исполнению изделия, определяемые, в том числе, функциональными характеристиками: - минимальное число компонентов; - четырехразрядный семисегментный индикатор.
Для упрощения конструкции целесообразно использовать стандартный модуль с мультиплексным управлением. Желательно наличие единичного индикатора секунд; - клавиатура, содержащая не менее четырех замыкающих кнопок; - звуковой индикатор; - система сетевого и автономного питания.
Настоящий этап заканчивается, когда определены, данные, необходимые для создания программы. Отсут- ствующие данные при этом вырабатываются и согласовываются. Результатом данного этапа также является, хотя бы, структурная схема подключения внешних устройств к микроконтроллеру и план распределения ресурсов, ко- торый желательно сразу оформлять в виде полей комментариев к программе. На рисунке 1 изображена принципиальная схема разрабатываемой системы, а в заголовке последующего примера программы расписан план использования ресурсов системы.
Программатор Bascom Avro
Схема разработана именно с учетом макси- мального использования внутренней периферии микроконтроллера и возможности расширения. Выбор модели микроконтроллера (ATmega8), в первую очередь, обусловлен двумя факторами: - необходимостью в трех таймерах для обслуживания задач подсчета часового времени с тактированием от специального часового кварцевого резонатора (асинхронный режим), формирования временных интервалов ска- нирования клавиатуры и мультиплексного индикатора и формирования звуковых тонов. наличием аппаратно и программно совместимых старших моделей (ATmega168, ATmega16, ATmega32), позволяющих без труда расширять систему. «Построение скелета программы».
Задача этапа – создание драйверов внутренних и внешних устройств и на их основе общей структуры программы микропроцессорной системы. Необходимость начать разработку программы с ее скелета обусловлено последовательным характером ра- боты над программой, то есть, когда последовательно решаются одна задача за другой. Последовательный харак- тер работы подразумевает и последовательную отладку программы. Ведь очевидно, что ошибки будут устраняться быстрее, если каждый вновь созданный программный модуль тут же проверять. Технология написания программ от скелета и является начальным элементов последовательного программирования., должен обеспечивать функционирование всех устройств и систем, по крайней мере, той части, которые необходимы на начальном этапе разработки программы. Отлаженный скелет программы обеспечивает ввод данных, например, с клавиатуры и вывод данных, например, на индикатор.
Он позволяет без применения внешних средств проверять работу вновь добавленных модулей. Следующий далее текст демонстрационной программы, выделен шрифтом Courier. Кроме собственных комментариев в текст добавлены замечания обозначающие назначение, правильный (или рекомендуемый) поря- док расположения частей программы. 3. Справочник по программированию «Bascom-AVR» Рисунок 1 – Схема электрическая принципиальная электронных часов ПРОГРАММА 1 Заголовок Комментарии, содержащие идентифицирующие сведения о программе: принадлежность изделию, номер версии, дату и место создания, имя автора, его телефоны и местонахождение, версии ком- пилятора, модель процессора, способ отладки (и как это отражено в программе), способ програм- мирования, используемые ресурсы микроконтроллера и все то, что невозможно узнать из после- дующего текста.
Справочник по программированию «Bascom-AVR» ' Timer1 – генератор звукового сигнала программируемой частоты ' На выходе PB1 (OC1A) формируется звуковой сигнал в форме меандра ' Timer2 – генератор прерываний с частотой 1 Гц, на основании которого вычисляется пройденное время ' Дополнительно на выходе PB3 (OC2) формируются импульсы длительностью 1 с (0.5 Гц), ' используемые для включения единичного светодиода ' Индикатор: ' Portd выход сегментов, Portc0.Portc3 - код знакоместа (позиционный). Он же порт ' сканирования клавиатуры. Индикатор с общим анодом. Активным уровнем - является '0' ' Четыре кнопки: Port0.Portc3 - код сканирования клавиатуры, Portc4 - линия возврата клавиатуры ' На линию Portc5 от источника питания '+5 В' приходит сигнал 'Включение сети' '- Определить модель микроконтроллера Записать имя файла, определяющего набор (имена) регистров с помощью директивы $Regfile.
Если это не сделать, но компилятор использует установки меню Options $regfile = 'm8def.dat' 'определить тип микроконтроллера '- Определение переменных Блок определения переменных оформляется в порядке возрастания их длины: Byte, Word, Integer, Long, Single, Double, String, Array. Переменные типа Bit не имеют смысла, тоже зани- мают один байт и принимают только два значения нуль и не нуль Dim Ndat As Byte 'признак 'обновить данные' Dim Ddat As Byte 'признак 'обновить индикатор' '- Dim Rbtim As Byte 'счетчик времени звонка '- Dim Rsec As Byte 'счетчик секунд Dim Rmin As Byte 'счетчик минут Dim Rhour As Byte 'счетчик часов.