• ×   Вставлено в виде отформатированного текста.   Восстановить форматирование

      Разрешено не более 75 смайлов.

    ×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

    ×   Ваш предыдущий контент был восстановлен.   Очистить редактор

    ×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Похожие публикации

    • Автор: polych
      Здравствуйте.
      У меня возникла проблема в прошивке микроконтроллера Atmega8.
      Задача заключается в том чтобы сравнивалось опорное на напряжение АЦП с подаваемым на вход АЦП напряжением и далее результат выводился на дисплей. У меня возникли сложности с настройкой АЦП, как я думаю оно находится в спящем режим так как когда я загружаю hex файл в Proteus и запускаю пошаговую отладку, то мои условия не выполняются и в переменной в которую я прописываю значение подаваемого напряжения постоянно находится значение опорного напряжения.
      Код пишу в Atmel Studio 6 на С
      Симуляцию делаю в Proteus
      Очень нужна помощь
      Спасибо!
      Примерный код в Atmel,не судите строго только начинаю изучать микроконтроллеры
      #define F_CPU 1000000UL
      #include <avr/io.h>
      #include <avr/interrupt.h>
      #include <util/delay.h>
      static volatile int u = 0;
      static volatile float v;
      int main(void)
      {
       DDRB=0xFF;
       PORTB=0x00;
       DDRC=0x00;
       PORTC=0xFF;
       
       //настройка АЦП//
       ADCSRA |=(1<<ADEN)//включение ацп
       |(1<<ADPS1)|(1<<ADPS0)|(1<<ADFR);//ADPS2-ADPS0-тактовая частота АЦП???
       //ADCRA=0x83
       ADMUX |= (0<<REFS1)|(1<<REFS0)//внешний ИОН
       |(0<<MUX0)|(0<<MUX1)|(0<<MUX2)|(0<<MUX3); //вход PC0
       //ADMUX=0x00
          while(1)
          {ADCSRA |=(1<<ADSC);//начинаем преобразование
           while ((ADCSRA&(1<<ADIF))==0);//ждём флага окончание преобразование
          _delay_ms(5);
           u=ADCW;// считываем ADC
          
           v = (float) u*0.0048828;
           if (v>=2.1){
            PORTB=0x01;
           }
           else{
            PORTB=0xFF;
           }
           _delay_ms(5);
      Также начальный проект в протеус, опять же не судите строго)
      micro.pdsprj
    • Автор: paulb
      Есть задумка собрать вольтметр постоянного напряжения (до 1000В) на ГРИ, использовав за основу популярную схему часов. Либо на базе микросхемы ICL7107, если это возможно. Знающих прошу помочь.
    • Автор: admin
      Сайт Паяльник открывает обучающий видеокурс по AVR-микроконтроллерам.
      В этой теме "обратной связи" будем постепенно добавлять новые видеоролики с нашего канала. Здесь можно задавать вопросы, давать рекомендации, критиковать, оставлять отзывы и пожелания, а также запросы на тему будущих видеоуроков.
      Ведет видеокурс наш форумчанин kobzar.
      Профиль пользователя на сайте cxem.net. Там же финансовые реквизиты для тех, кто пожелает финансово отблагодарить автора данного видеокурса
      Подписка на YouTube канал
      Краткий обзор сред разработки для различных микроконтроллеров на сайте: http://cxem.net/software/soft_mcu.php
      Внимание начинающим! Перед тем, как задавать вопросы не по теме видеоуроков, прочитать:
      Статьи по МК для начинающих
      Книга по программированию микроконтроллеров AVR
      Также, здесь же на форуме рядом с этой темой смотрите прикрепленные темы: для начинающих, по языку Си и т.д. Все вопросы не по видеокурсу задавайте только там. С этой темы подобные вопросы удаляются
      Кракозябры вместо русских букв
      Ребята - спешу сообщить что найден метод борьбы с кракозябрами вместо русских символов, при работе с ЖК. Дело в том, что у некоторых из вас, проект создается в кодировке UTF-8, а наша библиотека работает только с ср1251
      Фикс:
      1.Открываем проект
      2. File - Advanced Save Options
      3. Вместо кодировки UTF-8 выбираем Cyrillic(Windows) - cp1251
      Сохраняем, сохраняем проект - компилируем!
      Добавлено 12.01.16 :
      Изменённые версии библиотеки lcd_5110 :
      От Alex - http://forum.cxem.ne...20#comment-2287906
      От COKPOWEHEU - http://forum.cxem.net/index.php?showtopic=136229&st=1840#comment-2373820
       
    • Автор: ruhi
      Меня тут порадовали задачкой для АВР (я когда то очень много таких порешал, на практике - напомнили молодость ):
      http://cxem.net/mc/mc446.php
      сформулирована так: Нужно два быстрых элемента "И" и одновибратор. Можно использовать серию 155 у которой время срабатывания даже меньше получается, но не подходит по энергопотреблению. Хотелось бы сделать это на Attiny13.
      Остановимся пока на 
      Я, соответственно, предложил реализацию:
      Можожно сделать так:
      loop1:
      in reg1, pina; 1-tick
      in reg2, pinb; 1-tick
      and reg1, reg2; 1-tick
      LSR reg1; 1-tick
      out portB, reg1; 1-tick
      rjmp loop1; 2-tick

      Это код на ассемблере , который реализует два «элемента И» на АВР со временем срабатывания около 1мкс, в зависимости от тактовой частоты МК.
      На частоте 16 MHz это 7/16 мк-секунды(7 ticks, на самом деле +4 = 11тиков максимум время срабатывания, позже поясню), входы элемента-И должны быть на одинаковых пинах условных портов A and B, а выходы следующие по старшинству биты-пины. Вообще говоря перед выводом в порт, скорее всего, нужно будет еще маску добавить это еще +1 тик!

      Цикл можно переделать на использование только одного порта. Мой вариант в закодированном архиве приатачен, ключ выложу через неделю!
      Мне интересно можно ли сделать быстрее чем у меня получилось! Сможет кто нибудь предложить вариант решения?
      В общем, похоже что, на ассемблере можно написать «два элемента И» со временем срабатывания около 1.5мкс даже на 10МГц при произвольном расположении ног на одном порту.
      bestAvrCodeForAnd.7z
    • Автор: paulb
      Прошу помочь изменить прошивку из проекта http://cxem.net/mc/mc187.php
      Часы будут содержать 4 индикатора
      1) управление функционалом без изменений (время, дата, температура). 
      2) убраны индикаторы отвечающие за секунды, т.е. нужно вырезать функции 
      отображения секунд и года.
      3) отображение температуры без десятых градуса (индикатор №3 и №4).
      Схема:


  • Сообщения