Суббота, 25.05.2024, 14:30
| RSS
[SEARCH_TITLE]
[SEARCH_FORM]
Важно!!!
Для успешного просмотра
сайта воспользуйтесь
браузером Mozilla Firefox



Мини-Профиль
Гость


Группа:
Гости
Время:14:30

Гость, мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизуйтесь!

Категории раздела
О программаторах [4]
Не много о том как и с помощью чего программировать.
Программирование в BascomAVR [6]
Учимся благодаря статьям писать программы. Язык Basic
Программирование в CV AVR? [4]
Учимся благодаря статьям писать программы. Язык Си

Поиск

Наш опрос
На каком языке вы пишите?
Всего ответов: 367

Друзья сайта
roboforum
  • robozone
  • Железный феликс
  • robo.com.ua
  • imobot
  • ASARobotics
  • Grover
  • Электроника
  • Your Device
  • Программирование BASCOM
  • Basic для PIC мк
  • Электроника для всех
  • RassionRobots
  • Newrobots-world

  • Статистика

    Каталог-Молдова - Ranker, Statistics
    RoboRing.Ru
    << | list | ? | >>
    Rambler's Top100
    Рейтинг@Mail.ru
    Рейтинг робо-сайтов


    Помоги сайту
    ЯндексЯндекс. ДеньгиХочу такую же кнопку


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

    В категории материалов: 6
    Показано материалов: 1-3
    Страницы: 1 2 »

    Сортировать по: Дате · Названию · Рейтингу · Просмотрам
    И так не много общей теории:

    Последовательность инструкций, предназначенная для многократного исполнения, называется телом цикла. Единичное выполнение тела цикла называется итерацией. Выражение определяющее, будет в очередной раз выполняться итерация, или цикл завершится, называется условием выхода или условием окончания цикла (либо условием продолжения в зависимости от того, как интерпретируется его истинность — как признак необходимости завершения или продолжения цикла). Переменная, хранящая текущий номер итерации, называется счётчиком итераций цикла или просто счётчиком цикла. Цикл не обязательно содержит счётчик, счётчик не обязан быть один — условие выхода из цикла может зависеть от нескольких изменяемых в цикле переменных, а может определяться внешними условиями (например, наступлением определённого времени), в последнем случае счётчик может вообще не понадобиться.

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

    Узнать о циклах подробней

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


    Expression - выражение условия прекращения цикла. Из цикла можно также выйти, применив в теле циклической программы директиву Exit Do или оператор Goto.
    Привиду два примеру. В одном бесконечное марганием светодиодом без выхода из цикла, в другом выход из цикла при достижение перемнной, определённого значения в условии Until.
    Программирование в BascomAVR | Просмотров: 6760 | Добавил: Space | Дата: 01.02.2010

    Демонстрационный вариант работы шарпа.

    Ну здесь всё просто. Для определения препятствия нам всего лишь надо считывать данные с ацп. Срабатывание шарпа настроим в проге. Если требуется измерять расстояние в см, то здесь уже по сложней. Надо подумать над несколькими формулами, по которым будет считать расстояние. Я измерять расстояние уже пробовал можно глянуть здесь. В программе шарп будет срабатывать когда препятствие окажется в диапозоне, когда АЦП будет меньше или равно 500. Когда он сработает загорится светодиод.

    $regfile = "m16def.Dat"                                     ' мк ATmega16

    $crystal = 16000000                                         ' частота кварца 16мГц

    Config Adc = Single , Prescaler = Auto , Reference = Internal       'конфигурация АЦП

    Config Pina.2 = Input

    Config Portc.4 = Output : Led Alias Portc.4

    Dim АЦП As Word

    Enable Interrupts                                           'разрешаем все прерывания

    Led = 1                                                     'изначально гасим светодиод

    Do

    Start Adc                                                   'запускаем аналого-цифровое преобразование

    АЦП = Getadc(2)                                             'считываем результат с пина 2 порта А.

    If АЦП >= 500 Then : Led = 0 : Else : Led = 1 : End If

    Loop

    End



    Программирование в BascomAVR | Просмотров: 3407 | Добавил: Space | Дата: 31.01.2010

    Для управления сервой воспользуемся циклом For. Сервопривод возьмём HXT12K.

    И так действие данного цикла, выполняет некотрые действия заданное число раз. Основой управления конструкцией FOR...NEXT служит изменение указанной переменной от начального до конечного значения.
    Синтаксис конструкции:

    For var = start To end [Step value]
    'Повторяемый блок
    Next


    var - переменная, start - начальное значение переменной, end - конечное значение переменной, value - значения шага изменения переменной. Изначально шаг идёт уже как 1, поэтому step 1 ставить не обязательно. Переменная может уменьшаться в зависимости от шага. Если число в шаге положительно, значит переменная увеличивается, отрицательное переменная уменьшается.
    Что касается настройки программы под работу сервопривода. Нам потребуется указать кол-во подключённых серв, присвоить имя servo1 к одному из портов и указать длину импульса.
    Программирование в BascomAVR | Просмотров: 5755 | Добавил: Space | Дата: 31.01.2010

    1-3 4-6