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

В категории материалов: 4
Показано материалов: 1-4

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

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

  • DDRx - регистр направления передачи данных - определяет, является тот или иной вывод порта входам или выходом; если некоторый разряд регистра DDRx содержит логический 0, то соответствующий вывод порта сконфигурирован как вход, в противном случаи - как выход;
  • PORTx - регистр порта - если вывод выполняет роль выхода, то в соответствующий разряд записывается значение, предназначенное для вывода; если вывод выполняет роль входа, то логический 0 в некотором разряде регистра PORTx соответствует высокоомный вход, а логическая 1 - вход, нагруженный подтягивающим сопротивлением;
  • PINx - регистр выводов порта - в отличие от регистров DDRx и PORTx доступен только для чтения и позволяет считать входные данные порта на внутреннюю шину мк.
Программирование в CV AVR | Просмотров: 3135 | Автор: Кирилл | Добавил: Space | Дата: 06.02.2011 | Комментарии (0)

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

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



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

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

Code
#asm
   .equ __lcd_port=0x18 ;PORTB   // Подключаем дисплей к выходам PORTB
#endasm


Программирование в CV AVR | Просмотров: 3325 | Автор: Кирилл | Добавил: Space | Дата: 24.01.2011 | Комментарии (0)

CV AVR

   CodeVisionAVR - это кросс-компилятор Си, интегрированная среда разработки и автоматический генератор программ, разработанные для семейства AVR-мк-ов Atmel. Обеспечивает выполнение почти всех элементов языка Си, которые разрешены архитектурой AVR, с некоторыми добавленными характеристиками, которые реализуют преимущество специфики архитектуры AVR.



   Кроме стандартных библиотек Си, компилятор Си CodeVisionAVR имеет библиотеки для:
  • алфавитно-цифровых LCD-модулей;
  • шины I2C
  • температурного датчика LM75
  • часов реального времени PCF8563, PCF8583, DS1302, DS1307
  • протокола 1-wire
  • температурного датчика DS1820/DS18S20
  • термометра/термостата DS1621
  • SPI
  • и т.д.

Программирование в CV AVR | Просмотров: 4476 | Автор: Кирилл | Добавил: Space | Дата: 23.01.2011 | Комментарии (0)

Для преобразования сигнала с дальномера Sharp необходимо использовать аналого-цифровой преобразователь. Рассмотрим программный пример работы с АЦП микроконтроллера atmega16, реализованный средствами компилятора CodeVision AVR.



Напряжение на выходе дальномера увеличивается по мере уменьшения расстояния до объекта. Это изменение целесообразно отслеживать. Как раз при помощи АЦП.



Немного об АЦП


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

Программирование в CV AVR | Просмотров: 1844 | Автор: MysterySt | Добавил: MysterySt | Дата: 27.12.2010 | Комментарии (0)