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

Изготовление 2-х слойных плат от 2$, а 4-х слойных от 5$!

Быстрое изготовление прототипа платы всего за 24 часа! Прямая доставка с нашей фабрики!

Смотрите видео о фабрике JLCPCB: https://youtu.be/_XCznQFV-Mw

Посетите первую электронную выставку JLCPCB https://jlcpcb.com/E-exhibition чтобы получить купоны и выиграть iPhone 12, 3D-принтер и так далее...

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

Безмостовые ККМ для 99% КПД!

Схема коррекции коэффициента мощности (ККМ) на основе так называемого «тотемного столба» (Totem Pole) обладает минимально возможными потерями и потенциально может обеспечить самые жесткие требования к энергоэффективности источников питания. Компания Wolfspeed представляет референсную разработку – плату ККМ CRD-02AD065N на базе собственных карбид-кремниевых MOSFET и диодов с наилучшими в отрасли характеристиками.

Подробнее

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

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

угу.

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

Share this post


Link to post
Share on other sites

Гибридные IGBT - сила Si и SiC в одном корпусе!

Компания Infineon представила новые гибридные IGBT-транзисторы на 650 В, которые сочетают в себе преимущества технологий TRENCHSTOP и CoolSiC. Использование SiC-диода Шоттки позволяет значительно расширить возможности IGBT и снизить уровень энергии, необходимой для включения транзистора (Eon), а также уменьшить потери на переключение.

Подробнее

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

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

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

Share this post


Link to post
Share on other sites

Вебинар «Параметры выше, цена ниже. Обновление в линейке AC/DC- и DC/DC-преобразователей MORNSUN» (26.01.2021)

Приглашаем 26 января на бесплатный вебинар, посвящённый преимуществам и отличиям новых источников питания и DC/DC-преобразователей Mornsun. На вебинаре будут рассмотрены изолированные и неизолированные DC/DC-преобразователи последнего, четвертого, поколения (R4) и компактные модульные источники питания второго и третьего поколений (семейства LS/R3 и LD/R2) на плату. Рассмотрим новую группу продукции – встраиваемые источники питания в кожухе.

Подробнее

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

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

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

Share this post


Link to post
Share on other sites
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...

  • Сообщения

    • Это всё-таки не техническая наука. Наверное, ближе к формальной, как и математика. Я разговаривал с математиком. Он кроме математики больше ничем не интересуется. Но это было ещё до вброса о лунной афере. Химики тоже нифига ничего не знают ни о космосе, ни о Аполлоне, хотя это естественная наука.  А вот люди инженерных профессий, если даже ничего и  не слышали о лунных фальсификациях, то очень быстро ориентируются в предоставленной информации противоборствующих сторон и разоблачают сторонников лунной аферы. Я для этого прикидывался дилетантом и выкладывал самые распространенные "факты" обмана, с просьбой разобраться и разьяснить положение дел. Как правило, почти никто не вникал в тонкости предоставленной информации от НАСА. Все довольно быстро заостряли своё внимание и замечали фальшивки из длинного списка  "фактов обмана" и после двух - трех разоблаченных фейковых доводов, остальные уже не рассматривали, вынося окончательный вердикт. ))  Среди астрономов вообще нет "немогликов". И нет таких, кто бы не знал о полете Аполлона с высадкой на Луну. Ну это и понятно, почему. Я утверждал именно о вранье, а не о заблуждении.  А какое может быть у наших  специалистов заблуждение по Аполлону??? Это люди, далекие от космонавтики могут в чем то заблуждаться, а у наших академиков и докторов подобные заблуждения исключены. Точно!  Это философское словечко встречается ещё и в математике.   Да какая разница, имела или не имела редакционная коллегия полномочий выступать авторами ?????  Ты хочешь сказать, что в этой книге, отредактированной академиками и докторами, описана конструкция Сатурна,  Аполлона, которые не летали на Луну и ровера, который не бороздил просторов её поверхности??    Остальное, чистой воды демагогия. Это не моё. В книге имеются все ссылки на литературу.
    • Мдя... ИИ не обманешь. Любимый вами Яндекс видимо хорошо вас изучил и выдаёт то, что вам действительно надо. Смиритесь и не дёргайтесь.
    • Питать сетевую ламповую радиолу от батареек - глупость и утопия. Так как аутентичный внешний вид уже похерен  (), то никакой антикварной ценности аппарат не представляет. Поэтому предлагаю следующее: Найти на месте специалиста с руками и головой, который удалит из неё ламповое шасси и внедрит вместо него схему современного тюнера с усилителем, которая потребляет в десятки раз меньше энергии, да и ловит радиостанции куда лучше. Органы управления и переднюю панель при этом сохранить. Заодно и внутри куча места освободится, хоть автомобильный аккумулятор можно будет засунуть.
    • У ТЭНа и материал другой, чем у лампочки, и  дельта температур холодный - горячий тоже сильно отличается (тем более, для "водяного" ТЭНа, он же не добела нагревается в баке). Так что, мизерное изменение сопротивления при нагреве можно вообще никак не учитывать.
    • Она как бы есть, но мнения о схеме неоднозначные. Недавно человек собирал здесь, предложили ещё несколько доработок.
    • Ты даже не представляешь, сколько известных людей за него голосовало и агитировало, которые сейчас готовы забить его чем попало насмерть!  Какие в адрес пуйла были в то время нарекания? Да никаких! То, что он патологический вор, стало позднее. Дальше сам знаешь...
    • Не уверен что правильно понимаю термин "гражданское общество".  Одно понятно точно - сегодняшний день является точкой бифуркации.  И про "гражданское общество" можно будет забыть, чем бы оно не было...

  • Модуль цифрового таймера с реле до 10А. НЗ и НО выходы

  • Similar Content

    • By Обычный Человек
      Микроконтроллер ATmega328p, внешний кварц 16МГц. Компилятор avr-gcc с оптимизацией O1

      Написал код для управление шаговым двигателем. Работает так: требуемая скорость задается переменной STP1_ReqSpeed, дальше с частотой 100Гц срабатывает таймер TIM0, который высчитывает с какой частотой надо подавать сигналы на вход шагового драйвера. TIM1 работает в режиме частотно импульсной модуляции и по прерыванию меняет значение пина на противоположное.

      Управление работает, скорость регулируется, но по какой то причине случаются пропуски шагов. Чаще всего во время ускорения. Количество пропусков от 0 до 4, обычно 2-3, длятся 32мс.

      Из кода вырезал неиспользуемое. Заменить прерывания на аппаратный ШИМ возможности нет. Как убрать эти пропуски?
      Осциллограммы:
       
       
    • By Aristarkh
      Куплю / приму в дар несколько штук Atmega48 / Atmega88 / Atmega168 / Atmega328 в DIP-е 
      Я в Москве, можно почтой 
    • By Женя Соловьев
      Всех приветствую и надеюсь на Вашу помощь по следующему заданию:
      Разработать принципиальную схему прибора с цифровой индикацией измеряемой величины, предназначенного для измерения среднего постоянного тока положительной шины питания нагрузки. Потребление от шины питания постоянного тока может носить импульсный характер. Минимальная частота импульсов может составлять 50 Гц.
      Диапазон измеряемого тока: 0-20 А. На индикаторе отображать величину тока с точностью, не менее 100 мА.
      Время индикации – 1с. Запуск автоматический.
      Как я себе представляю реализацию данной задачи: 
      Первым блоком будет датчик тока, его я хочу взять резистивный , но не до конца понимаю смогу ли добиться такой точности с помощью него, далее нужен по сути фильтр НЧ для выделения постоянной составляющей, далее нужно куда-то впихнуть по сути МВ для обеспечения индикации каждую секунуд, ну и далее на АЦП и на индикатор тут вопросов в принципе не создается, АЦП наверное будет с двойным интегрированием. По первой части большие сомнения того, как будет выглядеть схема, если есть возможность как-то показать как будет выглядеть схема то отлично, если нет, то литература и Ваши мысли очень приветствуются.
       
    • By olezka18
      Здравствуйте! Принесли зарядное, не заряжает, поискал поиском, подобного не нашел. Как и схемы для него, с виду довольно неплохое ЗУ

    • By Alejandro Kots
      Приветствую знатоки радиоэлектроники. 
      нужна помощь, я любитель, Не силён в радио электр.. Не ругайтесь))))
      В общем нужна помощь по сборке контроллера для управления двигателем (редукторный на 12в). 
      к контроллеру подключён сенсор влаги, дождя или как хотите назовём, При замыкании на нем контактов подаётся сигнал на двигатель ( закрывается) . Пробовал обычной платой с реле - работает, но сырое все, нужно сделать практично типа и Led состояния, и лэды для сенсоров и пару кнопок управления двигателем вручную. 
      Что посоветуете? Ардуино думаю не вариант. Какие контроллеры есть? Надо программируемый или нет? Направьте на путь истинны ) спасибо
       
       
       

×
×
  • Create New...