роботы
робототехника
микроконтроллеры
Главная
Как сделать робота
Новости
Спорт
Статьи
Wiki
Форум
Downloads
Ссылки
Контакты  

Работа с АЦП на микроконтроллере AVR

CodeLibrary.AVRADC История

Скрыть незначительные изменения - Показать разницу в разметке

08.12.2015 23:05 изменил Admin -
Изменены строки 58-60 с

Подробнее можно прочитать в статье
Обработка аналоговых сигналов

на:
02.04.2011 19:19 изменил Admin -
Изменены строки 11-12 с
 Software:	AVR-GCC (WinAVR + патч 
                http://myrobot.ru/downloads/winavr_patch.php)
на:
 Software:	AVR-GCC (WinAVR)
Изменены строки 43-44 с
		sbi(ADCSR, ADSC);   // запуск преобразования
на:
		ADCSR |= _BV(ADSC);   // запуск преобразования
02.04.2011 14:57 изменил Admin -
Удалена строка 38:
02.04.2011 14:57 изменил Admin -
Изменены строки 11-12 с
 Software:	AVR-GCC (WinAVR)
на:
 Software:	AVR-GCC (WinAVR + патч 
                http://myrobot.ru/downloads/winavr_patch.php)
02.04.2011 14:52 изменил Admin -
Изменены строки 39-41 с
	ADMUX = 0b000011; // ADLAR=0 (5-й бит - выравнивание влево);
                          // MUX4..0=ADC3 (00011);
на:
	ADMUX = 0b000011; // MUX4..0=ADC3 (00011);
02.04.2011 14:49 изменил Admin -
Изменена строка 39 с:
	ADMUX = 0b000011; // ADLAR=1 (5-й бит - выравнивание влево);
на:
	ADMUX = 0b000011; // ADLAR=0 (5-й бит - выравнивание влево);
02.04.2011 14:46 изменил Admin -
Изменена строка 1 с:

(:title Работ с АЦП на микроконтроллере AVR:)

на:

(:title Работа с АЦП на микроконтроллере AVR:)

02.04.2011 14:45 изменил Admin -
Изменены строки 6-12 с

//------------------------------------------------------------------- // Работа с АЦП на МК AVR // Считывание аналогового сигнала по линии ADC3 // и вывод результата на порт D. // ATmega8, 1МГц //-------------------------------------------------------------------

на:

/*******************************************************************

 Title:		Работа с АЦП на микроконтроллере AVR
 Сopyright:	myROBOT, http://myrobot.ru
 Date:		апрель 2011
 Software:	AVR-GCC (WinAVR)
 Hardware:	ATmega8, 1 MHz

 Description:
 Пример демонстрирует считывание аналогового сигнала на линии ADC3
 и вывод результата на индикатор из 8-ми светодиодов, подключенных
 к порту D.
 Аналоговый сигнал можно получить, подключив фототранзистор 
 к выводу PC3.
  • /
Изменены строки 51-53 с
		PORTD = 1<<(ADCW/128);   // выводим на индикатор 
                                         // из 8-ми светодиодов, 
                                         // подключенных к порту D
на:
		PORTD = 1<<(ADCW/128); // выводим результат на индикатор 
                                       // из 8-ми светодиодов, 
                                       // подключенных к порту D
02.04.2011 14:35 изменил Admin -
Изменена строка 6 с:

//------------------------------------------------------------------------------

на:

//-------------------------------------------------------------------

Изменены строки 11-12 с

//------------------------------------------------------------------------------

на:

//-------------------------------------------------------------------

Изменены строки 17-18 с
	unsigned char i=255;
на:
Изменены строки 28-29 с
	ADMUX = 0b000011; // ADLAR=1 (5-й бит - выравнивание влево); MUX4..0=ADC3 (00011);
на:
	ADMUX = 0b000011; // ADLAR=1 (5-й бит - выравнивание влево);
                          // MUX4..0=ADC3 (00011);
Изменены строки 34-37 с
		sbi(ADCSR, ADSC); 	// запуск преобразования
		loop_until_bit_is_set(ADCSR,ADSC); // ждем, пока не будет сброшен ADSC

		_delay_us(1);
на:
		sbi(ADCSR, ADSC);   // запуск преобразования

		loop_until_bit_is_set(ADCSR,ADSC); // ждем, пока не 
                                                   // будет сброшен ADSC

		_delay_us(1);   // ждем обновления регистра данных
Изменены строки 41-43 с
		PORTD = 1<<(ADCW/128);
на:
		PORTD = 1<<(ADCW/128);   // выводим на индикатор 
                                         // из 8-ми светодиодов, 
                                         // подключенных к порту D
02.04.2011 13:41 изменил Admin -
Изменена строка 1 с:

(:title Внешние прерывания:)

на:

(:title Работ с АЦП на микроконтроллере AVR:)

Добавлена строка 7:

// Работа с АЦП на МК AVR

02.04.2011 13:37 изменил Admin -
Изменены строки 41-45 с

@]

на:

@]

Подробнее можно прочитать в статье
Обработка аналоговых сигналов

02.04.2011 13:35 изменил Admin -
Добавлены строки 1-41:

(:title Внешние прерывания:)


//------------------------------------------------------------------------------
// Считывание аналогового сигнала по линии ADC3
// и вывод результата на порт D.
// ATmega8, 1МГц
//------------------------------------------------------------------------------

#include <avr/io.h>
#include <avr/delay.h>

int main (void){
	unsigned char i=255;


// инициализация портов
DDRC=0x00;
PORTC=0b11111111;
DDRD=0xFF;
PORTD=0xFF;


	// инициализация АЦП
	ADCSR = 0b10000011; // ADEN=1 (7-й бит); ADPS2..0=011;
	ADMUX = 0b000011; // ADLAR=1 (5-й бит - выравнивание влево); MUX4..0=ADC3 (00011);

	while(1) {

		sbi(ADCSR, ADSC); 	// запуск преобразования
		loop_until_bit_is_set(ADCSR,ADSC); // ждем, пока не будет сброшен ADSC

		_delay_us(1);

		PORTD = 1<<(ADCW/128);
	}
}

Мой робот Wiki

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

  1. Проекты
  2. Статьи
  3. Библиотека кодов
  4. Компоненты
  5. Эксперименты
  6. Советы и хитрости