Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Proteus, KiCAD и другие ECAD Разработчик так или иначе сталкивается с системами автоматизированного проектирования. Данный раздел - по САПР.

 
Опции темы
Непрочитано 24.11.2014, 17:20  
WindoЗavr
Заблокирован
 
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
WindoЗavr на пути к лучшему
По умолчанию attiny13 adc

написал программу под атмегеу8

Код:
#include ‹mega8.h›
#include ‹delay.h›
#include ‹stdio.h›

void main(void)
{
PORTC=0x00;
DDRC=0x00;

PORTD=0x00;
DDRD=0xFF;

ACSR=0x80;
ADCSR=0x85;

while (1)
    { 
        ADCSR |= 0x40;
        delay_ms(50);
        if (ADCW ›=155)
        {
   действие
        } 
        else
        {
      действие
        }
      };
}
а как её на attiny13 запустить?
порты В/В я поменял, а с инициализацией adc не получилось
WindoЗavr вне форума  
Непрочитано 24.11.2014, 18:14  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: attiny13 adc

Посмотри в даташите
Там 3 регистра всего
Это не 2 десятка как в СТМ
niXto вне форума  
Непрочитано 24.11.2014, 18:32  
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,780
Сказал спасибо: 2,909
Сказали Спасибо 3,117 раз(а) в 2,108 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: attiny13 adc

Сообщение от WindoЗavr Посмотреть сообщение
ADCSR=0x85;
1. Что-то я не вижу в документации на эти контроллеры регистр ADCSR. Вижу ADCSRA.
2. Написав вместо этого (если на GCC):
Код:
ADCSR=_BV(ADEN)+_BV(ADIE)+_BV(ADPS0);
не надо было-бы задумываться, "а не перенёс-ли Atmel биты в другие позиции". Так у них иногда бывает, несмотря на заявления о совместимости. Хотя, в данном случае - это не важно.
3. В третьих - где установка опорного напряжения и номера канала (ADMUX)?
ForcePoint вне форума  
Непрочитано 24.11.2014, 18:48  
WindoЗavr
Заблокирован
 
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
WindoЗavr на пути к лучшему
По умолчанию Re: attiny13 adc

Код:
PORTB=0x00;
DDRB=0b11110000;

ACSR=0x80;
ADCSRA=0x85;
на атмеге оно и так работало
WindoЗavr вне форума  
Непрочитано 24.11.2014, 22:13  
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,780
Сказал спасибо: 2,909
Сказали Спасибо 3,117 раз(а) в 2,108 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: attiny13 adc

Сообщение от WindoЗavr Посмотреть сообщение
на атмеге оно и так работало
Тема-то - про портирование (портируемость) кода, а не про то, что на mega8 работало.
При манкировании инициализацией ADMUX, канал и выравнивание результата, предположим, будут выбраны одни и те-же - ADC0 с выравниванием вправо. А вот источник опрного напряжения - всё-таки разный. Vcc для tiny13 и внешний источник на Aref для mega8.
Ответ уже очевиден?
ForcePoint вне форума  
Непрочитано 25.11.2014, 09:23  
SMACK
Временная регистрация
 
Регистрация: 23.05.2006
Сообщений: 60
Сказал спасибо: 8
Сказали Спасибо 1 раз в 1 сообщении
SMACK на пути к лучшему
По умолчанию Re: attiny13 adc

скорей всего в атмеге8 дефолтного состояния ADMUX было достаточно для нормальной работы твоего проекта
SMACK вне форума  
Непрочитано 25.11.2014, 12:41  
DmFil
Прописка
 
Аватар для DmFil
 
Регистрация: 15.07.2009
Адрес: г. Москва
Сообщений: 262
Сказал спасибо: 36
Сказали Спасибо 59 раз(а) в 35 сообщении(ях)
DmFil на пути к лучшему
По умолчанию Re: attiny13 adc

В начале инициализация АЦП проводилась?
В остальном по тексту у меня работает


// ADC initialization

// Digital input buffers on ADC0: On, ADC1: On, ADC2: On, ADC3: On пока не включешь выход 5в не работает!!!
DIDR0|=(0‹‹ADC0D) | (0‹‹ADC2D) | (0‹‹ADC3D) | (0‹‹ADC1D);
ADMUX=ADC_VREF_TYPE;
// 0‹‹ADATE ----------------- режим одиночного преобразования
// 1‹‹ADIE -----------------разрешает прерывание
ADCSRA=(1‹‹ADEN) | (0‹‹ADSC) | (0‹‹ADATE) | (0‹‹ADIF) | (1‹‹ADIE) | (1‹‹ADPS2) | (0‹‹ADPS1) | (1‹‹ADPS0);
ADCSRB=(0‹‹ADTS2) | (0‹‹ADTS1) | (0‹‹ADTS0);
DmFil вне форума  
Непрочитано 26.11.2014, 00:41  
ILIS1982
Прохожий
 
Регистрация: 08.05.2010
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
ILIS1982 на пути к лучшему
Радость Re: attiny13 adc

Правильно выбрать DDRB (вход)

Настройка регистров:
ADMUX = _BV(MUX1)|_BV(MUX0); // выбираем ADC3 для контроля напряжения
//ADMUX = _BV(REFS0)|_BV(MUX1); // выбираем ADC2 для контроля напряжения
//ADMUX |= _BV(REFS0) - встроенный 1.1в
ADCSRA = _BV(ADPS2)|_BV(ADPS1)|_BV(ADPS0); // - внешний 5В

Само считывание:

ADCSRA |= _BV(ADEN); // Разрешаем ADC
ADCSRA |= _BV(ADSC); // Инициируем прерывание считывания напряжения
while(bit_is_set(ADCSRA, ADSC)); // Ждем, пока закончится преобразование напряжения и обработается прерывание
// Читаем значения, обязательно сначала младший, потом старший!
uint8_t adc_data = ADCL;
uint8_t adc_data_h = ADCH;

ADCSRA &= ~(_BV(ADEN)); // Запрещаем ADC

Вот и вся любовь)
Дальше обрабатываем полученные значения.

Для справки:
Максимальное разрешение 10 бит (это в десятичной системе 1023).
// 0x?? 0x?? = (1023/Vcc)*V
// 2 0x28 = 2.7V Vcc=5V
// 1 0xEB = 2.4V Vcc=5V
// 1 0xC2 = 2.2V Vcc=5V
// 1 0x99 = 2.0V Vcc=5V
// 1 0x70 = 1.8V Vcc=5V
ILIS1982 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Attiny13 на коде из Bascom не просыпается по WDT 123ksn AVR 7 18.12.2017 23:30
Tim19 -> DMA -> значение ADC в memory kvark85 ARM 6 03.06.2014 15:00
Мигалка на Attiny13 deeman30rus Отвлекитесь, эмбеддеры! 97 12.05.2013 12:33
LPC2148 ADC напряжение на выходе nerozero Микроконтроллеры, АЦП, память и т.д 6 14.07.2012 09:35
Шумит и свистит ADC на LPC2148 Vas2 Микроконтроллеры, АЦП, память и т.д 5 01.03.2009 16:14


Часовой пояс GMT +4, время: 02:20.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot