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



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


Группа:
Гости
Время:04:49

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

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

Поиск

Наш опрос
Какой язык вы хотели бы изучать?
Всего ответов: 352

Друзья сайта
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
    Рейтинг робо-сайтов


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


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

    В разделе материалов: 14
    Показано материалов: 1-3
    Страницы: 1 2 3 4 5 »


    Для преобразования сигнала с дальномера Sharp необходимо использовать аналого-цифровой преобразователь. Рассмотрим программный пример работы с АЦП микроконтроллера atmega16, реализованный средствами компилятора CodeVision AVR.
    Программирование в CV AVR? | Просмотров: 6582 | Добавил: DeepBlack | Дата: 09.02.2010 | Комментарии (1)

    И так не много общей теории:

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

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

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

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


    Expression - выражение условия прекращения цикла. Из цикла можно также выйти, применив в теле циклической программы директиву Exit Do или оператор Goto.
    Привиду два примеру. В одном бесконечное марганием светодиодом без выхода из цикла, в другом выход из цикла при достижение перемнной, определённого значения в условии Until.
    Программирование в BascomAVR | Просмотров: 6749 | Добавил: 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 | Просмотров: 3399 | Добавил: Space | Дата: 31.01.2010