Forming the time delays of the microcontroller | Microcontrollers from scratch #6

  Рет қаралды 75,960

Dmitriy Zabarilo

Dmitriy Zabarilo

Күн бұрын

The library of microcontroller delays is quite convenient and practical. It is called as follows: _delay_ms (777) - the time in milliseconds is specified in brackets. Also, the time can be set in the number of cycles of the microcontroller and microseconds. In this video, the #define preprocessor directive is considered, which greatly facilitates the readability of the code. Time intervals are applied to the example of flashing LEDs, which improves the visualization of this process and increases the visibility of the function _delay. However, to apply a delay, you must first connect the delay library delay.h

Пікірлер: 87
@Программированиемикроконтролле
@Программированиемикроконтролле 3 жыл бұрын
Программирование микроконтроллеров. Полный курс для начинающих: diodov.net/programmirovanie-mikrokontrollerov-avr/ Электроника для начинающих. Мощный курс. diodov.net/elektronika-dlya-nachinayushhih/
@фывпувкеп
@фывпувкеп 4 жыл бұрын
Вы великий человек !!! Низкий поклон ! Огромное спасибо! Храни ВАС БОГ!
@persontashik_z
@persontashik_z Жыл бұрын
Никому кроме Аллаха поклонятся нельзя!!!
@АлексейМихайлов-щ5ы
@АлексейМихайлов-щ5ы 3 жыл бұрын
Спасибо за уроки! Всё понятно объясняете.
@allallall2321
@allallall2321 5 жыл бұрын
Спасибо большое!
@vadimdonkov7853
@vadimdonkov7853 4 жыл бұрын
Добрый день. Очень полезная информация в доступной форме. Спасибо огромное! Есть одна проблемка, не подскажите, где можно скачать Proteus? Из тех вариантов Proteus 7, что находил в инете, crack не работает, а в более поздних версиях Proteus 8.5 не работают библиотеки
@splinterkab9007
@splinterkab9007 4 жыл бұрын
Может установил неправильно. Или попробуй запустить от админа. Если будешь устанавливать снова, этот или другой, то сначала удали всё. Revounistaller прога для удааления, ей пользуюсь. А скачат протеус с рутрекера можно.
@vadimdonkov7853
@vadimdonkov7853 4 жыл бұрын
@@splinterkab9007 Спасибо за инфу. Нашёл Proteus 8.1 Установил, всё работает.
@ВасяПупкин-ы3ч9ч
@ВасяПупкин-ы3ч9ч 5 жыл бұрын
Не совсем понял почему зеленый мигает два раза подряд а желтый один раз?
@Evgen_Ruban
@Evgen_Ruban 4 жыл бұрын
Ребята, у меня что-то в симуляторе протеус поочерёдно появляется единичный уровень не на нулевом и первом выводах порта D, а на нулевом и третьем !!? 100 раз проверил, не могу найти ошибку, вроде ж всё как у автора : int main(void) { DDRD=0b00000011; while (1) { PORTD=00000001; _delay_ms(500); PORTD=00000000; _delay_ms(500); PORTD=00000010; _delay_ms(500); PORTD=00000000; _delay_ms(500); } } Обидно!!
@Ivan-rc4it
@Ivan-rc4it 4 жыл бұрын
Вы забыли поставить 0b перед значениями, поэтому он эти числа не воспринимает как двоичные.
@Evgen_Ruban
@Evgen_Ruban 4 жыл бұрын
@@Ivan-rc4it Большое спасибо!
@Michael35y.o.
@Michael35y.o. 4 жыл бұрын
@@Ivan-rc4it спасибо
@splinterkab9007
@splinterkab9007 4 жыл бұрын
DDRD = 3 ..... PORTD = 1; _delay_ms(500); PORTD = 0; _delay_ms(500); PORTD = 2; _delay_ms(500); PORTD = 0; _delay_ms(500); Так будет работать. Хотя в двоичной проще для представления происходящего. Ну и нули можно не писать. Наприме PORTD = 0b00000000; можно заменить на PORTD = 0; а например PORTD = 0b00000010; на PORTD = 0b10; А то столько нулей печатать рука устанет.
@egorgolubev6371
@egorgolubev6371 6 жыл бұрын
вы же знаете что автор просто перезалил эти уроки с другого канала?
@fix02onf74
@fix02onf74 6 жыл бұрын
С какого?
@ОлегШабунов-п4д
@ОлегШабунов-п4д 5 жыл бұрын
Владелец каналов "Electronics Club" и "МИКРОКОНТРОЛЛЕРЫ С НУЛЯ" один и тот же.
@Иванов-у2к
@Иванов-у2к 5 жыл бұрын
Възхищавам се от професионализма и изложението! Чудесно! Благодаря!
@grays97
@grays97 2 жыл бұрын
про то что человек не видит больше 24 кадров - миф и бред. сравните плавность какой-нибудь игры на 30 фпс и 60, да и моники в 144Гц не просто так существуют.
@АркадийШаховканалопрограммиров
@АркадийШаховканалопрограммиров Жыл бұрын
Здесь немного другое имеется ввиду. Эффект превышения 24 кадров может легко почувствовать, если будете смотреть на колесо автомобиля или лопасть вертолета, которая очень быстро вращается. Если она будет вращаться со скоростью выше 24 оборотов в секунду или больше 1500 оборотов в минуту. То будет казаться, что он вращается медленно и в обратную сторону.
@АртёмКапельцев
@АртёмКапельцев 5 жыл бұрын
Ну блин четко про задержки объяснил..До этого не понимал..Буду дальше смотреть..Если еще так и про прерывание доходчиво и понятно объяснишь, то вообще не знаю тогда, куда тебя целовать..
@VasiliyLakomov
@VasiliyLakomov 4 жыл бұрын
Здравствуйте! Спасибо за ваш труд ! Я правильно понял, что с помощью данной команды(_delay_ms(500)), временная продолжительность свечения светодиода равняется его выключенному состоянию ? Т.е светодиод работает столько же, сколько он и не работает ?
@ПетрПетрошвиллер
@ПетрПетрошвиллер 3 жыл бұрын
Задержка перед выполнением следующей строки программы. 1. Включили диод. 2. Ждем полсекунды. 3. Выключили диод. 4. Ждем полсекунды. 5. Повтор (возврат к п. 1, то есть снова включаем диод.)
@alexeyvert-miller3374
@alexeyvert-miller3374 5 жыл бұрын
Автору большое спасибо! Такие как ТЫ,друг, помагают другим,и это достойно уважения! Из критики: записывая уроки с остановками,увеличь промежуточное время,т.е.делай паузы, чтобы всё не преврашялось в словесную кашу)
@RomSimbel
@RomSimbel 4 жыл бұрын
а плейер на паузу ставить не пробовали? в таких случаях помогает ))))
@alexeyvert-miller3374
@alexeyvert-miller3374 4 жыл бұрын
@@RomSimbel я не просто так написал *словесную*. Улыбнуло=)
@alexeyvert-miller3374
@alexeyvert-miller3374 4 жыл бұрын
@@RomSimbel хотя Вы правы, субтитры можно прочитать.Но я имел ввиду именно голосовое пояснение. Иногда слушаешь и на лету эксперементируешь с полученнными знаниями
@alexandersperling5728
@alexandersperling5728 Жыл бұрын
программа пишет такой текст и выдает три ошибки. Обучение кончилось не начавшись. В чес проблема? "mixed model AVR2.DLL failed to authorize - Missing or invalid Customer Key.."
@АлександрКоротков-ю2р
@АлександрКоротков-ю2р 11 ай бұрын
Добрый вечер. слушаю и выполняю вашу лекцию. запрограммировал два канала как читается в лекции. прошил омега 8 замигал 1 LED второй не реагирует. Померил напряжение 1,3V- пониженное напряжение я правильно понимаю. Что надо сделать чтоб 2 LED заработало.
@СергейИванович-ф9ц
@СергейИванович-ф9ц Жыл бұрын
9,38 Мигание одного светодиода идет с периодичностью 2 сек. Не 0,5 сек. Мигание двух светодиодов ...1 сек.
@endorphinair8166
@endorphinair8166 11 ай бұрын
но ведь LED в данном случае уже не является константой тк ее значение изменяется, а вот MIG действительно константа
@FlashDNK
@FlashDNK 6 ай бұрын
Дайте пожалуйста ссылку, где скачать AVRDUDE
@ВалентинПетрович-ж3ф
@ВалентинПетрович-ж3ф Жыл бұрын
Представляю чтоб два диода мигали 500 000 команд писать 😀😀
@ДимаЗвездный
@ДимаЗвездный 5 жыл бұрын
Смотрю оба канала и многие вещи становятся понятными. Очень нравятся ваши уроки. Продолжайте дальше.
@emmetray9703
@emmetray9703 4 жыл бұрын
Спасибо _delay_ms(500) большое _delay_ms(500) !
@ВикторРом-у8ш
@ВикторРом-у8ш 5 жыл бұрын
Большое спасибо за урок! Всё понятно, доходчиво для начинающих Творческих вам успехов!
@РусланХафизов-з7ц
@РусланХафизов-з7ц 4 жыл бұрын
Спасибо, все просто и доступно. Действительно можно научиться)
@igorpoll2134
@igorpoll2134 2 ай бұрын
Большое спасибо!
@alibdfy
@alibdfy 3 жыл бұрын
Напишите адрес почты есть вопрос по ATmega8A
@GrafKarlsonskiy
@GrafKarlsonskiy 5 жыл бұрын
Зачем по 10 раз писать этот порт( хватило бы двух раз же
@СашаРябчик-й2с
@СашаРябчик-й2с 5 жыл бұрын
не ной! повторение - мать учения.
@ОлегЗ-э3г
@ОлегЗ-э3г 4 жыл бұрын
Спасибо за труд.
@владимиржабин-у7ш
@владимиржабин-у7ш 2 жыл бұрын
Proteus если можно ссылку скачать . везде с вирусом.
@mindaugasj.5792
@mindaugasj.5792 2 жыл бұрын
Спасибо автору, все работает! Любопытный вопрос: почему на выводе PC6/RESET появляется напряжение +5V ?
@dtuhfscbhy6957
@dtuhfscbhy6957 3 жыл бұрын
а вот если самому организовать цикл из 500тыс команд, можно легко получить прерывание)
@a-c.o.s.1806
@a-c.o.s.1806 5 жыл бұрын
Спасибо, все ясно-понятно.
@ЕвгенийБондарев-к7ф
@ЕвгенийБондарев-к7ф 11 ай бұрын
Благодарю , очень все доходчиво объясняете! 🎉
@reks-iy4cf
@reks-iy4cf Жыл бұрын
Спасибо , все работает! Отличные уроки!
@wetal1961
@wetal1961 3 жыл бұрын
Ты молодец. С тобой не так страшно браться за микроконтроллеры.
@ВячеславБуев-у4ф
@ВячеславБуев-у4ф 5 жыл бұрын
Перепутал строчные и прописные буквы, но это мелочи, уроки хорошие
@ЕвгенийА-т6ч
@ЕвгенийА-т6ч 4 жыл бұрын
Спасибо, с удовольствием посмотрел)))
@МихаилВолков-б2м
@МихаилВолков-б2м Жыл бұрын
👍
@КонстантинКорешков-ю4ы
@КонстантинКорешков-ю4ы 3 жыл бұрын
почему тактовая частота МК 1МГЦ, разве не 8МГЦ согласно datasheet atmega8?
@eler0n
@eler0n 3 жыл бұрын
Встроенный генератор позволяет выбрать частоту 1, 2, 4, 8 МГц, а с внешним кварцем можно чуть ли не от 0 до 16 МГц
@alexpoplavskiy7027
@alexpoplavskiy7027 3 жыл бұрын
Супер, очень интересно, спасибо
@romanbru9504
@romanbru9504 2 жыл бұрын
Спасибо добрый человек
@Elburusİsmayılov-w4i
@Elburusİsmayılov-w4i 3 жыл бұрын
Молодец просто супер......
@Djadya
@Djadya 4 жыл бұрын
Класс!
@СашаРябчик-й2с
@СашаРябчик-й2с 5 жыл бұрын
применение функции дефайн не упрощает, а наоборот архиусложняет понимание кода программы. ладно если этих дефайнов один или два. А если их 15? С налёту хрен запомнишь что на что меняется. сиди тыркайся что куда чего
@Ivan-rc4it
@Ivan-rc4it 4 жыл бұрын
когда я начинал учить программирование микроконтроллеров то так же как и Вы думал, но сейчас понимаю, что это намного проще как рассказывает автор. Со времен, если Вы не забросите то почувствуете как это упрощает.
@splinterkab9007
@splinterkab9007 4 жыл бұрын
Ну можно например написать так. #define LED_ON PORTC = 1 #define LED_OFF PORTC = 0 Или по маске проще, чтоб включить нужный светодиод. Тпа такого. #define LED_ON PORTC |= 0b1 #define LED_OFF PORTC &= ~0b1 ..... LED_ON; _delay_ms(500); LED_OFF; _delay_ms(500); И мигай диодом сколь хочется и в любом месте кода можно вставить. Если тут можно запутаться, то он ещё про функции не рассказывал.
@arelav285
@arelav285 3 жыл бұрын
Как сделать задержку на 10 секунд?
@ПетрПетрошвиллер
@ПетрПетрошвиллер 3 жыл бұрын
_delay_ms(10000)?
@eduardtabler3771
@eduardtabler3771 2 жыл бұрын
spasibo sa uroki. gde mogno naiti proteus bes platno?
@clashersupercelov2697
@clashersupercelov2697 2 жыл бұрын
Просто пишешь протеус скачать, и скачиваешь с официального сайта около 900мб
@nickgajilarov7572
@nickgajilarov7572 4 жыл бұрын
#define F_CPU 1000000UL #include #include int main(void) { DDRD=0b000000011; // назначаем порд Д0 и Д1 как выходной while (1) { PORTD = 0b00000001; //подаем 5 В на Д0 _delay_ms(500); //задерка в 1/2 с PORTD = 0b00000000; // отводим 5 В с порта Д0 _delay_ms(500); PORTD = 0b00000010; //подаем 5 В на Д1 _delay_ms(500); PORTD = 0b00000000; _delay_ms(500); } } Здравствуйте. Помогите , пожалуйста , какие бы порты я не брал "C,B", у меня пермонентно горят все порты D, даже те на которых стоит логический "0".Проверял привязку контроллера к файлу hex , чего только не делал , не помогает
@cr00z
@cr00z 4 жыл бұрын
1. Проверь, тот ли контроллер прошиваешь 2. Проверь схему внимательно, есть вариант, что светодиоды на +5 включены, а не на минус 3. Дохлый контроллер, воткни второй такой же, если все повторится - см п.1,2
@BarVados
@BarVados 3 жыл бұрын
У меня proteus выдает ошибку: mixed model AVR2.DLL failed to authorize - Missing or invalid Customer Key. (версия proteus-а демонстрационная). В демонстрационной версии должно запускаться?
@amusinov23
@amusinov23 2 жыл бұрын
Кликните 2-раза по МК на схеме ,внизу в левом углу окошко Exclude from Simulation. Поставьте галочку и OK,,, Должно сработать.У меня тоже самое было пока англоязычные видео не посмотрел не разобрался .
@alexandersperling5728
@alexandersperling5728 Жыл бұрын
Ваш комментарий помог мне решить такую ж проблему. Ну теперь проблема в том что лампочка не горит, когда загружаю программу.
@BarVados
@BarVados Жыл бұрын
@@alexandersperling5728 я тогда нормальную версию в итоге поставил
@alexandersperling5728
@alexandersperling5728 Жыл бұрын
@@BarVados а где вы её взяли? Я скачал на официальном сайте демо.возможно она ограниченна и по этому не даёт запрограммировать контролер.
@BarVados
@BarVados Жыл бұрын
@@alexandersperling5728 тут варианта 2либо купить, либо не покупать, если совесть позволит крякнутую поставить...
@ДмитрийЦарев-б7п
@ДмитрийЦарев-б7п 4 жыл бұрын
Какой 25й кадр.. о боже...
@ПетрПетрошвиллер
@ПетрПетрошвиллер 3 жыл бұрын
это к тому, что начиная с 24 гц и выше создаётся иллюзия плавного движения и мозг не воспринимает кадры, как отдельные картинки! Но, конечно, можно заметить мерцание или врезку лишнего кадра. Это ж очень сложно понять, да?
@хаторихандзо
@хаторихандзо 5 жыл бұрын
Автор мог бы и намекнуть начинающим, что Протеус крякнутый нужен.
@Not_932
@Not_932 5 жыл бұрын
Он может об этом и знает, но не станет во все горло говорить об этом на ютубе. Потом еще ловить страйков от правообладателей и принципиальных покупателей таких программ.
@СуперМарио-х3ь
@СуперМарио-х3ь 5 жыл бұрын
Кому надо те поймут
@OlegNaruto
@OlegNaruto 5 жыл бұрын
Закрыл видео после фразы: "мало кто видит даже 25-й кадр"
@Not_932
@Not_932 5 жыл бұрын
ага, прям как консольщики, которые не видят больше 30 фпс :D
@АркадийШаховканалопрограммиров
@АркадийШаховканалопрограммиров Жыл бұрын
Это правильно. Если человек, выпустивший данное видео, не понимает как работает человеческое зрение, то и в микроконтроллерах он вообще ничего не понимает и ничего дельного сказать не может. Просто возможно вам стоило зайти на канал с медицинской тематикой, если вы хотели узнать про 24 кадра и человеческое зрение.
LED garland on microcontroller | Microcontrollers from scratch #7
19:06
Программирование микроконтроллеров для начинающих!
Рет қаралды 72 М.
Will A Guitar Boat Hold My Weight?
00:20
MrBeast
Рет қаралды 251 МЛН
Watermelon magic box! #shorts by Leisi Crazy
00:20
Leisi Crazy
Рет қаралды 16 МЛН
Как подписать? 😂 #shorts
00:10
Денис Кукояка
Рет қаралды 7 МЛН
Timer-counter 0 ATmega8 | Programming AVR microcontrollers on C #12
29:09
Программирование микроконтроллеров для начинающих!
Рет қаралды 72 М.
Seven segment indicator | Microcontrollers from scratch # 8
14:04
Программирование микроконтроллеров для начинающих!
Рет қаралды 73 М.
Cдвиговые регистры 74HC595 и 74HC165
6:08
Максим Обухов
Рет қаралды 35 М.
Уроки Ардуино. Прерывания по таймеру
9:04
Заметки Ардуинщика
Рет қаралды 107 М.
Программирование микроконтроллеров на си
11:34
Александр Писанец
Рет қаралды 34 М.