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. Это не то что бесполезно, это вредно. Далее идет длительное ожидание окончания преобразования, что тоже бред. Прерывания для кого придумали?!

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

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

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

Финальные результаты тестирования литиевых батареек FANSO при нормальных условиях

Перед разработчиком устройства, в котором предполагается использование батарейки, всегда стоит задача выбора того или иного бренда. Конечно, наиболее объективный результат по качеству можно получить при реальном тестировании в режиме работы самого устройства. Для того чтобы у разработчиков была некоторая информация о реальных значениях основных параметров ЛХИТ, инженеры компании КОМПЭЛ решили провести серию из трех тестов. Первый тест на постоянный разряд в нормальных климатических условиях, начатый в апреле 2019 г., мы завершили.

Узнать финальный результат тестирования

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...

  • Similar Content

    • 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) 
       
    • By griin
      Купил на аллиэкспресс wifi выключатель. Установил программу, опробовал. Все работает. Вопрос - Как подсмотреть протокол обмена командами.(т.е. на каком порту, HTTP....?)
    • By Джон_Иксрей
      Разбирался тут у вас на форуме с одной проблемкой. Обнаружил что здесь довольно дружелюбный народ обитает.
      И недолго подумав решил может тут мне помогут прояснить картину. (может быть немного оффтопа(?))
      Далее идут биографические данные:
      В общем: думаю о будущем, выбирая вектор развития. Есть, если можно так сказать, хобби - пайка всякой чуши, другими словами интересно. Ещё увлекаюсь наукой, в частности физикой, астрономией, астрофизикой. Также увлекает музыка, фото, а с недавних пор светомузыка. Последнее место работы - звукорежиссер, уже почти год. Хорошо разбираюсь во всём, о чем написал выше.
      После 9-го класса решил поступить в колледж, поступил на специальность организация гостиничных хозяйств и туристских комплексов. К несчастью умер отец, когда я был на первом курсе. Мать-пенсионерка не могла оплачивать учебу - отсюда такой разнообразный список мест работ о котором ниже. После окончания колледжа тяжело заболела, а затем умерла мама. Прошло уже 3-4 года, метаюсь то туда, то сюда по разным работам. Два года назад остепенился. Жена заканчивает учебу в этом году, но сейчас не об этом.
      Дополнительно: сменил кучу мест работы(указал только те, где работал не менее 3х месяцев) часть из них - разнорабочий, официант, токарь+плотник, строитель, водитель, фотограф, печатник, оператор эвм, сисадмин, диджей, копирайтер, дизайнер, несложный ремонт ПК. (хронология не соблюдена)... всё это за 8,5 лет.
      В идеале хотел бы стать астрофизиком, но в стране "Икс" из снг есть только одно заведение, где этому учат, за очень много денег, которых у меня попросту нет. Да и возраст уже не тот, когда всё налету схватываешь. В итоге выбираю что-то из хобби, или из того что умею. В последнее время очень интересует программирование.
      Теперь из всего предыдущего вытекла цель - заработать денег. Куча денег - не нужна, нужно немного больше чем просто на коммуналку и еду. С женой конкретно решили сменить континент проживания - учим английский. Целевая страна намного более развита, чем та, в которой живем. Блин опять отвлёкся от вопроса, простите.
      Собственно ВОПРОС:
      Стоит ли мне самоучится программированию, либо совершенствовать навыки ремонта техники. Или может ещё есть что-то что я упустил, исходя из того, что я написал выше. 
      Спасибо.
      З.Ы. сижу и жду Ваших мыслей по этому поводу.
    • By Kudich
      Всех приветствую!
      Сам я программирую на стандартной среде ардуинки, и в одном проекте потребовалось увеличить частоту ШИМ на портах 5,6,9,10,11,13 Arduino Micro. На этой ардуино стоит Atmega32u4, есть тут знатоки avr? Как повысить частоту на этих пинах?
  • Сообщения

    • Про sub seconds Alarm я и забыл, благодарю
    • Посмотрите на возможности контроллера управления мотора TDA1058 - ее в СМ применяли, по видимому, это вчерашний день, а Вы говорите "уровень ЧПУ". В даташите достаточно информации. За нас это сделают 5-7 кг мокрого белья. Можно попробовать покрутить от руки барабан с таким весом. А потом - пустой. TDA1085.pdf
    • можно  ниже но на спектре появляются нежелательные пички   а в остальном разницы нет!! Alex 63  выложи свою модельку с правильными транзисторами а то как то и мне и  тем кто в теме интересно воочию глянуть разницу...ну блин не заморачиваться же с поиском этих транзюков да и вставлять я их не умею 
    • Управление двигателя стиралки микропроцессорное. Процессор получает(считает) импульсы с тахо-датчика и сравнивает записанное в программе стирки. Если импульсов меньше  открывает тиристор раньше, если больше то позже. Тем самым поддерживая записанные в программе обороты двигателя. не зависимо от степени загрузки стиралки. Плавное нарастание и спад при отжиме, режим стирки всё записано в программе стирки, сколько времени крутить в одну сторону сколько в другую.  
    • Тут человек о частотах мозговой прослушки  спрашивает, и радиолюбители с радиопрофессионалами сразу возбудились и в гигагерцы упёрлись. А мозг то человечий на низких и сверхнизких пашет - от 35 герц  и ниже. Ты, любезный, к подводникам лучше обратись. Они в этом прилично шарят. В сверхнизких то. Кстати, и нейрофизиологи тоже не из последнего десятка. Кой в чём рубят. Ну там ещё психиатры. Но это последнее дело, лучше с этими не связываться- те ещё придурки.
    • @Дмитрий Вас при чем тут ослик и вопросы) брал не дорого б.у ,- может ) осталось ККМ и мостовой преобразователь сделать)
    • Экранный бокс из молочного пакета. Может использоваться как подручное средство для экранирования  плат и макеток с чувствительными схемами. Алюминиевая фольга внутри покрыта плёнкой, которую, для надёжного контакта, нужно проколоть. Для этого достаточно вручную, и с усилием, прижать губки крокодилов. Остальное понятно по фото.
×
×
  • Create New...