Уважаемые посетители! Форум CQHAM.RU существует исключительно за счет показа рекламы. Мы будем благодарны, если Вы не будете блокировать рекламу на нашем Форуме. Просим внести cqham.ru в список исключений для Вашего блокировщика рекламы.
Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 11 по 20 из 32

Тема: ADC Mega8

  1. #11
    Аватар для vadim_d
    Регистрация
    29.10.2006
    Адрес
    Санкт-Петербург
    Сообщений
    14,744
    Цитата Сообщение от Ромм Посмотреть сообщение
    если бы я не правильно записывал биты в регистры
    В мануале четко написано про префикс 0b
    Вадим


  2. #12
    Цитата Сообщение от vadim_d Посмотреть сообщение
    В мануале четко написано про префикс 0b
    Вадим, сегодня попробую. Отпишусь.
    Никогда такого не было и вот опять...

  3. #13

    Регистрация
    12.09.2006
    Адрес
    Болгария, Силистра, KN34PC
    Сообщений
    1,420
    Позывной
    LZ2WSG
    Также убрать временные задержки при прерывании. Плохая практика ето (если не ошибочная).
    Только изменение переменную/флаг - коротко и быстро. Даже печат на lcd быть вне прерывании.
    (думаю, добавили это временно, для некоторых тестов, напр: "проходит ли там программа там или нет?").

  4. Спасибо от Constantin007

  5. #14
    Аватар для vadim_d
    Регистрация
    29.10.2006
    Адрес
    Санкт-Петербург
    Сообщений
    14,744
    Цитата Сообщение от veso74 Посмотреть сообщение
    Только изменение переменную/флаг - коротко и быстро. Даже печат на lcd быть вне прерывании
    Веселин, это очень правильное замечание, в прерывании только самое необходимое. Я в код не глядел
    Вадим

  6. #15
    Ромм, eсли фоторезисторы затемнены их сопротивление большое и когда переключаете входы АЦП нужно делать небольшую паузу перед запуском преобразования, иначе входная емкость не успеет зарядиться полностью и результат будет непредсказуемым. Поэтому у вас работает правильно только с одним входом АЦП, если конечно нет других ошибок.
    Keep your pecker up!

  7. #16
    Там по 10k pull-down, поэтому уже импеданс источника удовлетворяет требованиям. К тому же входная емкость заряжается не по факту переключения канала ADC (в ADMUX), а только после старта преобразования (на диаграмме - там, где выборка-хранение).

  8. Спасибо от Ромм

  9. #17
    Цитата Сообщение от veso74 Посмотреть сообщение
    думаю, добавили это временно,
    Конечно! Это же "маркер" случилось ли прерывание.

    Цитата Сообщение от sharp Посмотреть сообщение
    Ромм, eсли фоторезисторы затемнены их сопротивление большое и когда переключаете входы АЦП нужно делать небольшую паузу перед запуском преобразования, иначе входная емкость не успеет зарядиться полностью и результат будет непредсказуемым. Поэтому у вас работает правильно только с одним входом АЦП, если конечно нет других ошибок.
    У меня же только на одном входе фоторезистор.
    На втором контроль напряжения кроны, на втором кнопки.

    Добавлено через 25 минут(ы):

    Чудо не случилось. Заменил все на 0b...
    Без результата...
    while (1)
    {
    //lcd_clear();
    //lcd_puts("Privet!");
    //delay_ms(1000);
    //lcd_clear();
    //delay_ms(1000);
    //lcd_clear();
    ADMUX=0b01000101; // выбор ADC5 фоторезистор
    ADCSRA=0b11001101; // старт преобразования
    A=adc_data*0.048; // вычисление значения измеренного напряжения
    B=floor(A);

    //lcd_gotoxy(1,1);
    sprintf(temp,"%u", B);
    lcd_puts(temp);
    //A=0;
    //B=0;
    //adc_data=0;
    delay_ms(1000);
    ADMUX=0b01000100; // ADC4 клавиатура
    ADCSRA=0b11001101; // старт преобразования
    A=adc_data*0.0048; // клавиатура
    // B=floor(A);
    lcd_gotoxy(1,1);
    sprintf(temp,"%5f", A);
    //delay_ms(5000);
    //lcd_clear();
    //sprintf(temp,"%05f", B);
    lcd_puts(temp);
    // A=0;
    //adc_data=0;
    delay_ms(1000);
    }
    Последний раз редактировалось Ромм; 13.03.2021 в 04:45.
    Никогда такого не было и вот опять...

  10. #18
    Чуда и не будет...

    Цитата Сообщение от Ромм Посмотреть сообщение
    #define ADC_VREF_TYPE ((0<<REFS1) | (1<<REFS0) | (0<<ADLAR))
    Нажмите на изображение для увеличения. 

Название:	1.png 
Просмотров:	167 
Размер:	13.7 Кб 
ID:	353774

    Нажмите на изображение для увеличения. 

Название:	2.png 
Просмотров:	159 
Размер:	15.6 Кб 
ID:	353775

    Соедините AREF через емкость 100n на землю.
    Блог - r9ofg.ru, Телеграм канал - t.me/r0aek_me

  11. #19
    Уже. Это я на схеме забыл дорисовать...
    Никогда такого не было и вот опять...


  12. #20
    Ромм, Ваш вариант конфигурации - опорное напряжение подаётся на вход AREF извне.....

    Чтобы использовать внутренний опорник на 2,56v, поставьте биты REFS1 и REFS0 в единицу. Кондер на AREF оставьте.

    И чтобы было проще бит ADLAR в ADMUX в единицу, сверхточность тут не нужна.
    Блог - r9ofg.ru, Телеграм канал - t.me/r0aek_me

Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Частотомер на mega8
    от Ромм в разделе Конструкции на микроконтроллерах для радиолюбителей
    Ответов: 55
    Последнее сообщение: 14.10.2018, 19:31

Ваши права

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