РАДИОСХЕМЫ



СТАРЫЙ ФОРУМ

ФОРУМ НА ЭЛВО

РАДИОФОРУМЫ


СХЕМЫ И СТАТЬИ
  • БЛОГИ
  • НОВОЕ
  • СХЕМЫ
  • РАЗНОЕ
  • ТЕОРИЯ
  • ТЕЛЕВИДЕО
  • СВЕТОДИОД
  • МЕДТЕХНИКА
  • БЫТТЕХНИКА
  • ИЗМЕРИТЕЛИ
  • СПРАВОЧНИК
  • ТЕХНОЛОГИИ
  • РЕМОНТ СХЕМ
  • МОБИЛЬНИКИ
  • КОМПЬЮТЕРЫ
  • НАЧИНАЮЩИМ
  • ЗАРЯДКИ И АКБ
  • СИГНАЛИЗАЦИИ
  • АУДИОТЕХНИКА
  • АВТОВЕЛОМОТО
  • БЛОКИ ПИТАНИЯ
  • РАДИОПРИЁМНИКИ
  • МЕТАЛЛОИСКАТЕЛИ
  • МИКРОКОНТРОЛЛЕР
  • РАДИОПЕРЕДАТЧИКИ

  • Курс по ускорению работы Мозга на 100%


    Архив - только для чтения
    Форум радиолюбителей » СХЕМЫ » МИКРОСХЕМЫ » Первые шаги в микроконтроллерах (Схемы программаторов, вопросы, советы)
    Первые шаги в микроконтроллерах
    Пн, 23.09.2019, 09:39 | Сообщение # 271        
    nolpofaze
    аватар
      Постов: 442   Друзья 
    sergeu15794, как-то не понятно вопрос звучит...
    Например вот содержимое хекса:
    Код
    :020000020000FC
    :1000000012C018951895E0C01895189540C118951C
    :10001000D9C0EEC01895189518951895189518958B
    :1000220018951895E0E6F0E000270193F430E9F71F

    а что за цифры у Вас на входе????
    Ср, 05.02.2020, 12:59 | Сообщение # 272        
    globusvrn1974
    аватар
      Постов: 92   Друзья 
    Прошу помощи сообщества!
    Я учксь программировать ATtiny13. Уже получилось написать первую программу, зашить ее и увидеть моргающий светодиод. Теперь надо получить данные от АЦП. Но что-то не выходит. Подскажите, пожалуйста, где сидит козявка!
    АЦП запускается разово, обработка прерываний не используется. Ловим бит завершения цикла преобразования

    Код

    #include <avr/io.h>
    #define BitSet(x,y)  x|=(1 << y)
    #define BitDrop(x,y)    x&=~(1 << y)

    char AAA;

    void Delay_us(int US)
    {
    for (int i = 0; i<=US; ++i)
    {
    asm("nop");
    }
    }
    void Delay_ms(int MS)
    {
    for (int i = 0; i<=MS; ++i)
    {
    Delay_us(900);
    }
    }

    char BitTest(unsigned aValue, unsigned aNumber)
    {
    if( aValue & (1 << aNumber)) {return(1);} else {return(0);}
    }

    char ReadAnalog(char pin)
    {
    BitDrop(ADMUX,MUX0);
    BitDrop(ADMUX,MUX1);
    switch (pin)
    {
    case 1:
    {
    BitSet(ADMUX,MUX0);
    }
    break;
    case 2:
    {
    BitSet(ADMUX,MUX1);
    }
    break;
    case 3:
    {
    BitSet(ADMUX,MUX0);
    BitSet(ADMUX,MUX1);
    }
    break;
    }
    BitDrop(ADMUX,REFS0);    //    Vref = Vcc
    BitSet(ADCSRA,ADLAR);    //    форматирование выходных данных левое
    BitDrop(ADCSRA,ADIE);    //    не используем прерывания
    BitDrop(ADCSRA,ADATE);    //
    ADCSRA = (1 << ADPS2)|(1 << ADPS1)|(1 << ADPS0);    //    предделитель = 128
    DIDR0 |= (1 << ADC3D); // запрещаем цифровой вход на ноге аналогового входа
    BitSet(ADCSRA,ADEN);    //    включаем АЦП понеслась!
    // Ждем окончания преобразования
    while (BitTest(ADCSRA,ADSC) == 1);
    char a = ADCH;
    char b = ADCL;
    BitDrop(ADCSRA,ADEN);    //    выключаем АЦП
    return(a);
    }

    int main(void)
    {
    BitSet(DDRB,4);  // выход данных
    BitDrop(DDRB,3);    // измеритель напряжения
    while (1)
    {
    //моргаем светодиодом с частотой, пропорциональной данным от АЦП
    AAA = ReadAnalog(3);
    BitDrop(PORTB,4);    // выкл светодиод
    Delay_ms(AAA);
    BitSet(PORTB,4);    // вкл светодиод
    Delay_ms(AAA);
    }
    }


    часть строк пока отключена. Когда получится взять правильно данные, можно уже говорить и о правильном соединении двух байт в слово...
    Ср, 05.02.2020, 22:50 | Сообщение # 273        
    msmmmm
    аватар
      Постов: 891   Друзья 
    globusvrn1974, не вижу старта преобразования, только проверка ADSC.
    Чт, 10.09.2020, 19:05 | Сообщение # 274        
    transistor856
    аватар
      Постов: 628   Друзья 
    ребят,а какая прога прошивальщик работает с ком портом,и чтоб в её списке микросхем была мега 328?а то в моей пони этой меги нет,а нужно прошить мегу в дип корпусе для ТТ
    Чт, 10.09.2020, 19:55 | Сообщение # 275        
    Fazotron
    аватар
      Постов: 849   Друзья 
    Прошивал мегу 328 для прибора Понькой и залочил микроконтроллер.Методом проб вылечил другой программой.Если интересно,то посмотри мои посты в Лечение микроконтроллеров AVR.
    Чт, 10.09.2020, 20:12 | Сообщение # 276        
    transistor856
    аватар
      Постов: 628   Друзья 
    Fazotron спасибо,посмотрю
    Чт, 10.09.2020, 20:23 | Сообщение # 277        
    vrytsev
    аватар
      Постов: 475   Друзья 
    Цитата transistor856 ()
    списке микросхем была мега 328

    UniProf
    Чт, 10.09.2020, 20:27 | Сообщение # 278        
    transistor856
    аватар
      Постов: 628   Друзья 
    vrytsev а где её скачать можно?она у вас есть?
    Чт, 10.09.2020, 20:31 | Сообщение # 279        
    vrytsev
    аватар
      Постов: 475   Друзья 
    В интернете. Есть но на компе, я с планшета.

    Добавлено (10.09.2020, 21:35)
    ---------------------------------------------
    На схем.нет и ещё много где.

    Чт, 10.09.2020, 20:39 | Сообщение # 280        
    transistor856
    аватар
      Постов: 628   Друзья 
    а вас не затруднит её в архив сделать и скинуть сюда,когда будете за компом?
    Форум радиолюбителей » СХЕМЫ » МИКРОСХЕМЫ » Первые шаги в микроконтроллерах (Схемы программаторов, вопросы, советы)
    Поиск:

    Внимание! Форум переехал на Tehnodium.ru



    © 2010-2022 "Форум Радиосхемы". All Rights Reserved  Почта  PDA