Jump to content
AlexMerser

Программирование Attiny 13

Recommended Posts

Здравствуйте, нужна помощь в написании дипломной работы на тему: "Разработка индикатора непрерывности цепи заземления специальной аппаратуры". А именно: есть готовый код прошивки микроконтроллера Attiny 13 ( без комментариев) и алгоритм его работы(составлял программист, который уволился и в общем-то связь с ним потеряна). Нужно подробно закомментировать каждую строку кода, чтобы было понятно даже новичку в программировании. Файлы программы и алгоритма прикрепляю. Если возьметесь, пишите на почту filatov.alex1996@mail.ru . О цене и сроках готовности договоримся.

инцзкод.docx

Алгоритм работы программы ИЗАП.docx

Share this post


Link to post
Share on other sites

Код писал человек, слабо знакомый с контроллерами. Хотя, справедливости ради, код отформатирован по-человечески, имена у переменных нормальные.
 

ISR(TIM0_COMPA_vect)
{
	cli();
	ADCSRA |= (1 << ADSC);
	while(!(ADCSRA & (1 << ADIF)))
	data[numberOfADCConversion - 1] = ADCL;
	data[numberOfADCConversion - 1] += (unsigned int)(ADCH << 8);
	numberOfADCConversion--;
	sei();
	return;
}

Вот это пример неумения писать под контроллеры. В самом начале прерывания делается cli, в конце - sei. Это не то что бесполезно, это вредно. Далее идет длительное ожидание окончания преобразования, что тоже бред. Прерывания для кого придумали?!

Глубже не копал.

Кстати, "новички" часто просят прокомментировать каждую строчку кода, не понимая, что это совершенно бесполезно. Вот написать нормальные комментарии да, имеет смысл, а дублирование кода в комментариях только усложняет чтение.


Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Share this post


Link to post
Share on other sites
В 07.04.2019 в 13:35, AlexMerser сказал:

нужна помощь в написании дипломной работы на тему:

и

В 07.04.2019 в 13:35, AlexMerser сказал:

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

эти задачи как то не вяжутся друг с другом! Вы хотите что бы вам объяснили как работает программа???

А вы знаете как работает микроконтроллер??? Это надо объяснять? Это в комментариях не уберется!!!

В дипломе вы собираетесь написать как работает программа???

Но тут есть большие сомнения что она вообще работает(!), потому как индикации в ней нет, насколько я смог заметить беглым взглядом!

А судя по названию индикация является одной из основных функций устройства!


Можно сделать все! Но чем больше можно, тем больше нельзя!

Share this post


Link to post
Share on other sites

Вебинар «Microchip и современный подход к искусственному интеллекту. Разворачиваем нейронную сеть на 32-битном микроконтроллере» (13.10.2021)

Приглашаем всех желающих 13 октября 2021 г. посетить вебинар, посвященный искусственному интеллекту, машинному обучению и решениям для их реализации от Microchip. Современные среды для глубинного обучения нейронных сетей позволяют без детального изучения предмета развернуть искусственную нейронную сеть (ANN) не только на производительных микропроцессорах и ПЛИС, но и на 32-битных микроконтроллерах. А благодаря широкому портфолио Microchip, включающему в себя диапазон компонентов от микроконтроллеров и датчиков до ПЛИС, средств скоростной передачи и хранения информации, возможно решить весь спектр задач, возникающий при обучении, верификации и развёртывании модели ANN
Подробнее

Join the conversation

You can post now and register later. 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...

  • Сообщения


  • Медиа ресивер Up2stream AMP V3 с WiFi, Bluetooth 5.0, DLNA, Airplay от Arylic. УНЧ 2*50Вт. Может работать как USB DAC

  • Similar Content

    • By Evgenii53
      Здравствуйте.
      Нужна прошивка на микроконтроллер 12F629/675.
      Схема скачана в интернете и предназначена для освещения курятника лампами накаливания 220 вольт с имитацией «восхода и заката».
       Временные интервалы «восхода и заката» выбраны 6 утра и 21 час вечера.
      Длительность «восхода и заката» по 20 минут (лампы медленно загораются или гаснут под управлением симистора).
      Если в дневное время срабатывает датчик освещённости (фоторезистор HER –  GL5528), лампы не включаются и включаются, когда он разрешит, в ночное время фоторезистор бездействует. Фоторезистор можно (или нужно?) переключить на 5 ногу.
      Нужно установить программное ограничение на срабатывание датчика освещения от кратковременного изменения освещённости (например падение света фар движущегося автомобиля на датчик и т.д). Фоторезистор устанавливается на кабеле длинной около 2 метра.
      Логика работы кнопки: длительное нажатие (больше 3 секунд), устанавливает внутренние часы на полдень.  Время синхронизируется от сети 50Гц.
      Светодиод отображает наличие питания сети. Если сеть есть, он всё время светится и раз в 2 секунды кратко моргает. Если сети нет и устройство питается от батарей, светодиод погашен и раз в 2 секунды вспыхивает. При установке времени полдня светодиод несколько раз моргает.
      Схема рабочая, я проверял в работе (без фоторезистора) на тестовой прошивке, работает нормально.
      По оплате, думаю договоримся.

    • By dodik
      Необходимо разработать программу-конвертер для установщика компонентов TVM802
      из формата Proteus ( дан в приложении) в формат  .csv 
      информация тут :
      https://mysku.ru/blog/taobao/66380.html
      Аналогичная разработка https://github.com/nica-f/tvm802-mdgen
      Начальная стоимость ... пусть будет 5т. руб . Торг уместен .
      Конкретные предложения лучше присылать в личку .
       
      proteus.PKP
    • By Евгений61
      Уважаемые знатоки языка Си. К Вам такой вопрос.
      Имеется функция на языке Си. В этой функции содержится одна статическая переменная. Проблема в том что каждый вызов этой функции отвечает за разный выполняемый алгоритм.
      Что бы было понятнее делаю таймер с задержкой включения в котором сохраняется время для каждого таймера. Вопрос состоит в том как можно сделать, чтобы при вызовах этой функции значения статической переменной были свои для каждого вызова.
      Или только писать две одинаковые функции с разными переменными?
    • By Andrey Gressikov
      Я начинающий программист, пытаюсь программировать микроконтроллеры в среде АВР.
      У меня возник вопрос, вот например у нас есть двоичная система исчисления где 3 мы можем записать так:
      00000011, однако чтобы подать логическую 1 на третий порт микроконтроллера мы должны сделать следующую запись
      PORTC=00000100, т е существует некая разница между названиями портов и системами исчисления, в таком случае как мне используя 16 ричную систему исчисления подать напряжение на какую либо ногу порта.Я знаю что данная запись 0х01 подает логическую 1 на 0 ногу, а данная запись 0х10 на 4 ногу ,ну а как быть дальше?
      Как подать напряжение на 5 ногу порта? Если я в чем то заблуждаюсь - поправьте, если чего то незнаю расскажите.
      Заранее благодарю. 
    • By Anton K
      Подскажите схему/код "ограничителя нарпяжения"  на уровне 3.5в,  на Attiny13 для фонарика питание от Li-ion.

      int i = 126; void setup() { analogReference(INTERNAL); pinMode(0, OUTPUT); // Задаем напругу pinMode(A2, INPUT); //Замеряем напругу } void loop() { analogWrite(0, i); if (analogRead(A2) < 500 ) { //Если напряжение меньше заданного, уменьшаем скважность ШИМ i = i - 1; } if (analogRead(A2) > 500 ) {//Если напряжение больше заданного, увеличиваем скважность ШИМ i = i + 1; } } В результате выдает 2,5 вольт и никак не реагирует на задание analogRead(A2) 
       
×
×
  • Create New...