Главная » Статьи » Программирование » Программирование в BascomAVR

В категории материалов: 16
Показано материалов: 11-16
Страницы: « 1 2

Сортировать по: Дате · Названию
Немного об АЦП 

   В результате работы АЦП-(аналого-цифровой преобразователь), из физической величины «напряжение» (не пригодной для цифровой обработки) мы получим некое число, которое будет характеризовать наше напряжение. Напряжение, которое подается на АЦП, как правило, лежит в определенном диапазоне (от 0 до положительной величины), например 0-5В. (На этапе разработки схемы, или на этапе программирования этот диапазон устанавливается) Задача АЦП «рассказать» программе о положении нашей величины в этом диапазоне. Для этого весь диапазон разбивается на большое число одинаковых «ступенек». Если АЦП 8-ми разрядное, то таких ступенек будет 256, если 10-ти разрядное, то 1024. Величина напряжения, которое мы измеряем, с некоторой точностью обязательно попадет на какую-нибудь «ступеньку». И номер этой ступеньки АЦП передаст программе для дальнейшей обработки.



    Задать диапазон можно, подавая напряжение сравнения (максимальное для диапазона) на один из выводов микроконтроллера (AREF или AVCC), также можно задействовать внутренний источник напряжения сравнения микроконтроллера. На этапе программирования будет необходимо указать, с чем будет сравниваться сигнал (AREF, AVCC или internal).
Программирование в BascomAVR | Просмотров: 2107 | Автор: Кирилл | Добавил: Space | Дата: 24.01.2011 | Комментарии (0)

   Частенько бывает так, что нам требуется подключить контроллер к компьютеру с целью отладки программы, считывание данных с подключённых к контроллеру датчиков, управление и контроль по средствам компьютера. В этом случаи используется либо COM-порт он же протокол RS232 или USB-UART на микросхеме FT232RL вот его та мы и будем использовать, т. к. com-порты щас уже особо не встречаются. FT232RL является новым устройством среди интегральных схем для работы FTDI и USB UART интерфейса. Внутренний таймер счётчик (6 МГц, 12 МГц, 24 МГц и 48МГц) может быть выведен из устройства и используется для управления микроконтроллера или внешней логики, уникальный номер (ID-FTDIChip ™) может быть прочитан через USB, и таким образом формирует безопасный ключ, который может быть использован для защиты программного обеспечения клиента приложения от копирования.



    Теперь о программной части. Распишу только те команды, которые будут применяться в нашей программе. Все остальные команды можно посмотреть на официальном сайте Bascom AVR.

    $BAUD - глобальная установка скорости информационного обмена UART
    INPUT - ввод данных различных форматов.
    PPINT - отправить данные

   Команда $BAUD

   Синтаксис команды -  $BAUD = var    


Программирование в BascomAVR | Просмотров: 2467 | Автор: Кирилл | Добавил: Space | Дата: 24.01.2011 | Комментарии (5)

   Очень часто необходимо увидеть не которые показания датчиков. И чтобы их вывести можно воспользоваться двумя способами. Это вывод данных на пк через UART или на жк-дисплей. В этой статье рассмотрим вывод информации на жк-дисплей. Возьмём PC2004LRS-ANH-B-Q (4х20- что означает 4 строки по 20 символов). Воспользуемся модулем на котором уже разведён разъём(Jmp5) под жк-дисплей. Подключение осуществляется по 4-х битной схеме, таким образом мы экономим 4 вывода порта микроконтроллера.

   Схема подключения:



Кратко перечислим основные команды BASCOM AVR для работы c текстовыми дисплеями…

   Для начала в программе подключаем библиотеку для дисплея:

Code
$lib "lcd4.lbx"  'используем 4-битное подключение дисплея с помощью альтернативной библиотеки

    Далее определяем выводы на, которые будем подключать дисплей:

Config Lcdpin - конфигурируем подключение дисплея к выводам портов МК
Config Lcd - указываем какой именно дисплей подключён (кол-во символов и строк)
Программирование в BascomAVR | Просмотров: 2507 | Автор: Кирилл | Добавил: Space | Дата: 23.01.2011 | Комментарии (1)

   Мы уже с вами рассмотрели простой пример программы моргания светодиодом в BascomAVR. Теперь давайте разберёмся подробно как настраивать порты ввода/вывода мк более точно. Для примера, попробуем подключить кнопку. Берём наш контроллер+модуль к нему. На нём уже есть 2 кнопки. Задействуем и ту и другую. Опять же написав пару программ.

   Рассмотрим структуру мк. Порт имеете три части:

  • DDRx - регистр направления передачи данных - определяет, является тот или иной вывод порта входам или выходом; если некоторый разряд регистра DDRx содержит логический 0, то соответствующий вывод порта сконфигурирован как вход, в противном случаи - как выход;
  • PORTx - регистр порта - если вывод выполняет роль выхода, то в соответствующий разряд записывается значение, предназначенное для вывода; если вывод выполняет роль входа, то логический 0 в некотором разряде регистра PORTx соответствует высокоомный вход, а логическая 1 - вход, нагруженный подтягивающим сопротивлением;
  • PINx - регистр выводов порта - в отличие от регистров DDRx и PORTx доступен только дл чтени и позволяет считать входные данные порта на внутреннюю шину мк.

Code
Config PORTA.0 = Input     'здесь ножку PA0  мы назначили на вход
Config PORTA.0 = Output   'здесь ножку PA0  мы назначили на выход
Config PORTA = Input        'здесь все порты PA  мы назначили на вход
Config PORTA = Output      'здесь все порты PA  мы назначили на выход
Программирование в BascomAVR | Просмотров: 1991 | Автор: Кирилл | Добавил: Space | Дата: 23.01.2011 | Комментарии (0)

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

    Рассмотрим цикл Do...Loop. В Bascom avr это цикл используется чаще всего. Опишем действия цикла. Операторы цикла Do и Loop устанавливают необходимость безусловного выполнения операторов, расположенных между ними. Прекращение цикла происходит только при выполнение условий, заданных с помощью слова Until. Если вы не хотите чтоб цикл завершал свою работу, а повторялся снова и снова, то просто опускаем слово Until. Из цикла также можно выйти, с помощью операторов Goto или Exit.
Теперь о синтаксисе.
Do
' Тело цикла
Loop [ Until expression ]
Программирование в BascomAVR | Просмотров: 1286 | Автор: Кирилл | Добавил: Space | Дата: 27.12.2010 | Комментарии (0)

BascomAVR - приложение для персонального компьютера, с помощью этой программы можно выполнять следующие действия:
-писать программы для avr, pic и др. мк
-компилировать написанный код программы в машинный код в формате .hex, нужный для мк
-симулировать написанный вами код
-прошивать мк с помощью самого компилятора используя например программатор STK200/STK300, или с помощью внешних программ не входящих в BascomAVR, например USBASP_AVRDUDE_PROG(я использую эту программу и проблем не знаю, программатор соответственно USB, на фото ниже будет).

Программирование в BascomAVR | Просмотров: 2718 | Автор: Space | Добавил: Space | Дата: 27.12.2010 | Комментарии (11)

1-10 11-16