Jump to content
Sambler

МК ATMEGA16 и индикаторы ( Ошибка в коде, не могу решить )

Recommended Posts

У меня была похожая тема,  я решил проблему установив в include util/delay.h
Но возникла еще одна ошибка, не могу понять, что оно хочет

#include <util/delay.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#define DEL    _delay_ms(1)

char tab[7];

char decod( char digit){
char retval;
switch (digit){
            case 0:  {retval=0b00111111;   break; }
            case 1:  {retval=0b00000110;   break; }
            case 2:  {retval=0b01011011;   break; }
            case 3:  {retval=0b01001111;   break; }
            case 4:  {retval=0b01100110;   break; }
            case 5:  {retval=0b01101101;   break; }
            case 6:  {retval=0b01111101;   break; }
            case 7:  {retval=0b00000111;              break; }
            case 8:  {retval=0b01111111;   break; }
            case 9:  {retval=0b01101111;   break; }
default :retval=0b00000000;
}
return retval;
}
//**********************************************************
void afis(void){
for (int i=0; i<6; i++){
PORTC=~(1<<i);
if (i==2) PORTA=decod(tab[i])|(1<<7);
else if (i==4) PORTA=decod(tab[i])|(1<<7);
else PORTA=decod(tab[i]);
DEL;
}
}
//***********************************************************
void main(void){
DDRA=0xFF;
PORTA=0x00;

DDRC=0x3F;
PORTC=0xFF;

TCCR1B = (1<<CS12)|(1<<CS10)|(1<<WGM12);                  // /1024 regim CTC
OCR1A = 976;
TIMSK = 1<<OCIE1A;           //permitera intrerupeti ‚egalitate’
sei();

while (1){
afis();   }   }
//***********************************************************




ISR(TIMER1_COMPA_vect)
{         
                                                                       //secunde
tab[0]++;
 if (tab[0]>9) { tab[0]=0;        
tab[1]++;}
                                               // minute
if (tab[1]>5) {tab[2]++;                      
tab[1]=0;}
 if (tab[2]>9) {tab[3]++;                     
tab[2]=0; }
 if (tab[3]>5) {tab[4]++;                     
tab[3]=0;}                                // ore
 if (tab[4]>4) {tab[5]++;                     
tab[4]=0;}
 if (tab[5]>2) {tab[5]=0;}

}



p.s. Я обещал, что предыдущая - последняя тема, но я ошибся, не думал, что тут 2 разные программы будут. В этот раз 100 процентов последняя тема и пойду сдавать работы Ы)
image.png.68035c08807b7f968a394732abff6cdb.png
 

image.png

Share this post


Link to post
Share on other sites

она тебе пишет, что определять тип переменной в циклах допустимо только в С99 , Си в чистом виде это не позволяет , вынеси определение переменной i в тело функции , оная у тебя изменяется 0...7 , зачем ей размерность в 16бит? ей достаточно тип unsigned char.

 

Share this post


Link to post
Share on other sites
9 минут назад, IMXO сказал:

бред написан...

Код написан моим преподом, не мной)) я если бы знал, я бы не задавал вопросы.
 

 

9 минут назад, IMXO сказал:

ынеси определение переменной i в тело функции

Что то типа этого?image.png.b2cb28f8cc4d923e46ca637f9eed488a.pngimage.png.27e022196f900d03d2dfe2548ddf910e.png
Я не силён в программировании, но как бы всё заработало, но как то криво, не так, как у преподавателя в задании

Edited by Sambler
Добавил последнее предложение

Share this post


Link to post
Share on other sites

Повышаем уровень передаваемой мощности в однопарной сети Ethernet

В статье приведено описание новых гибридных разъемов для использования в SPE-приложениях. По сравнению с традиционными разъемами, в основе структуры которых лежит технология PoDL (Power over Data Line), предлагаемое решение содержит в себе дополнительные контакты питания, но сохраняет при этом компактные размеры. А работа с более высокими значениями тока значительно расширяет возможности применения предлагаемых разъемов в различных топологиях, по сравнению с PoDL.
Подробнее

3 минуты назад, Sambler сказал:

Что то типа этого?

угу.

бред уж давно удалил из поста, скобки не правильно посчитал

Share this post


Link to post
Share on other sites

Вебинар «Новинки и решения Traco для промышленных и отраслевых приложений» (28.10.2021)

Компэл 28 октября приглашает всех желающих принять участие в вебинаре, где будет рассмотрена новая и перспективная продукция компании Traco. Мы подробно рассмотрим сильные стороны и преимущества продукции Traco, а также коснемся практических вопросов, связанных с измерением уровня шумов, промывкой изделий после пайки и отдельно разберем, как отличить поддельный ИП Traco от оригинала.

Подробнее

2 минуты назад, IMXO сказал:

бред уж давно удалил из поста, скобки не правильно посчитал

Удивительно, что сам допер.
Но всё же, почему не получается как должно, а Должно быть так:image.png.2effd5321e2c3e0cf88812d452dd05a9.png

Share this post


Link to post
Share on other sites

Популярные пружинные клеммники Degson со склада Компэл

Пружинные разъемные клеммники Degson с технологией Push-In обеспечивают надежное и безопасное электрическое соединение. При их использовании исключается возможность короткого замыкания в точке контакта, что гарантирует надежное соединение. Электрическая безопасность клеммных блоков подтверждается соответствием мировым стандартам UL, IEC и VDE.
Подробнее

1 минуту назад, Sambler сказал:

почему не получается как должно

опять индикаторы перепутал?

Share this post


Link to post
Share on other sites

Датчики дальности ST обеспечивают безопасность в период COVID-19

Оптические датчики приближения STMicroelectronics из семейства Flight Sense™, средства разработки и программное обеспечение для них позволяют как организовать бесконтактную работу торговых и информационных точек и соблюдение социальной дистанции в непростой эпидемический период, так и строить сложные пространственные системы вплоть до трехмерных моделей. Рассмотрим устройство для обнаружения и измерения расстояний до объектов без физического контакта, и инструментарий для его разработки, а также другие примеры.
Подробнее

4 минуты назад, IMXO сказал:

опять индикаторы перепутал?

Хм, ну да, СА стоит, сейчас....
ЭХ, и почему нигде не указано,что СС нужен....
А в чем собственно их отличие? один рабочий а другой - нет ? :DD ( глупо, да )


Всё заработало))))) 

image.png

Edited by Sambler
Заработало!!!

Share this post


Link to post
Share on other sites

Действительно, в чём отличие индикаторов, в которых светодиоды разной полярностью распаяны? Что по вашему значит аббревиатуры CC и CA применительно к светодиодным индикаторам?


Учение - изучение правил. Опыт - изучение исключений.

Share this post


Link to post
Share on other sites

оба рабочие , отличие в том что активный индикатор для анода "+", для катода "-"

сегменты наоборот.

Share this post


Link to post
Share on other sites
3 минуты назад, Alexeyslav сказал:

Что по вашему значит аббревиатуры CC и CA

А вот вы меня заинтересовали данным вопросом, пойду литературу почитаю по этому поводу, будем еще чем предъявить преподавателю

Спасибо Всем, кто помогал мне на этом форуме, если тема не закроется, чуть позже отпишу, на какую оценку приняли работы)))
Удачи в жизни Вам ребята, добрые вы люди!

Share this post


Link to post
Share on other sites

Что-то мне подсказывает, что это обыкновенные маячки на предмет открывали ли код вообще и вникали в него хоть чуть чуть.


Учение - изучение правил. Опыт - изучение исключений.

Share this post


Link to post
Share on other sites

возможно маячки

а мне , что этот код в железе адекватно работать не будет и дальше протеза его не проверяли.

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • IEEE1394 - цифровой интерфейс, в своё время ему даже  пророчили  перспективу "убийцы USB", но не срослось. В данном случае просто перегоняет готовый, оцифрованный самой камерой, поток на компьютер. Для аналога не годится.
    • А если автор данного усилителя планировал режим А2 с сеточными токами?  Ведь не зря же он применил разделительные трансформаторы. Тогда как? 
    • Так я и не собираюсь на обычных. Поищу более точные 0.1-0.5% Диапазон измерений от 0.5 до 3.5 в.  Опять тратить разряды АЦП. В начале с 0.5 вольтами можно смериться, как-раз идентифицировать обрыв цепи измерения, а выше 3.5  можно конечно и К.З. , но для этого можно и до 3.6-3.7 вольт поднять диапазон измерений. 12 бит не так уж много. С максимально возможной. При измерении 0.5 - 3.5 потеряю около 580 единиц АЦП при ИОН 3.5в, а при ИОН 4.096 уже 1096.
    • Несеольео вольная интерпретация. Вр первых, не утчены резисторы по 82 Ома. Во вторых, Вы полагаете лампу источником тока.  На самом деле, это не так. И замена катодного резистора с 320 на 470 Ом не даст требуемый результат. Поскольку меняется как смещение, так и напряжение А - К. Проще всего построить на ВАХ линии, сответсвующие тому или иному значению катодного сопротивления и по ним определять режим. Если принять за основу даташит, выложенный тимвалом, то в диапазоне анодных напряжений 750 - 1250 Вольт сопротивление катодного смещения, для рекомендованных режимов, примерно 1.2 - 1.3 кОм, а напрядение источника анодного питания - 800 - 1330 Вольт. Вы, где то, в этом диапазоне, по питанию. Значит, и значение катодныого резистора стоит ожидать того же порядка.
    • 850 Ом это общее сопротивление. Не важно сколько резисторов, хоть один, хоть два, хоть десять и как они соединены, хоть параллельно, хоть последовательно. Даже вперемешку можно.  Уж закон Ома то вы знаете надеюсь? 
    • Попался старый UPS APC CS500 и усилитель на tda2050 из колонок SVEN MA-333. Решил для колонок собрать это всё вместе. После разворота радиатора, плата установилась как "родная", при этом рёбра заняли правильное положение для вентиляции.  Основной проблемой стало включение питания, собрал схему на таймере NE555 на макетной плате, дежурное питание от адаптера 5v (800mA) для телефона, в данном случае samsung. Лучше использовать фирменные адаптеры, т.к. в них компоненты намного качественнее.  Управление разместил в напечатанном на 3D принтере адаптере, который вставляется вместо трансформатора UPS. Автоматический предохранитель на 7A был заменён на плавкий 2A, через переходник также напечатанный на 3D принтере. Так же задняя панель с выходами на нагрузку от UPS была заменена панелью для ручек управления, так же напечатанной на 3D принтере.Так же этот формат подойдёт для всяких tda2030 и т.д. ну и усилителей класса D  
    • Если от любого источника фон, то это земляная петля в усилителе - 95%. Найти и обезвредить разорвать

  • Радиомодуль Zigbee CC2531 Sniffer. 2.405-2.485 ГГц. Одно из применений - управлять датчиками Xiaomi без шлюза

  • Similar Content

    • By Эдик Ибрагимов
      Использовать микроконтроллер семейства 8951
       
    • By Илья1964
      Нужен специалист, ориентирующийся в MotionLab3 для настройки серводрайвера EVEREST XCR ETHERCAT SERVO DRIVE (EVE-XCR-E) от компании INGENIA для привода отечественного BLDC (0,7 кВт). Энкодер магнитный от компании RLS. Мануал с описанием MotionLab3 можно скачать здесь https://doc.ingeniamc.com/mot3/documentation/motionlab3-user-manual, сам пакет здесь https://doc.ingeniamc.com/mot3/downloads  .  BLDC сидит на оси  линейного перемещения и должен вращаться влево-вправо. Никаких особых хитростей в движении мотора нет.
    • By Klumjuk
      Добрый день! Никак не могу найти резистор R97 на плате бумбокса. Можете определить на фото, либо как-нибудь объяснить мне, где он...
      Вот фотка основной платы,и платы зарядки.
      (На основной плате обозначен контролер заряда,если что)


    • By Klumjuk
      Сгорел контроллер питания в колонке, батарейка 7.4 вольта. Помогите подобрать такой же контролер, либо аналог. Весь интернет обрыл,ничего не нашёл (

    • By Иванов Владимир
      Здравствуйте! Я профан в этой теме, но по работе нужно. Хочу собрать так скажем приёмник на микроконтроллере, чтоб демодулировал сигнал. Сигнал собираюсь подавать с компа. Типо на мк подключённый к компу послать модулированный сигнал. Задача в том чтоб запрограммировать сам мк на демодуляцию. Какой мк и отладочную плату посоветуете?
×
×
  • Create New...