Эту часть назовем так как избавься от delay, там где а это реально не надо.
Для это нам потребуется научиться использовать прерывания и работать с таймерами.
Что такое таймер?
Это аппаратное периферийное устройство которое может подсчитывать импульсы от системного генератора или от внешнего источника и формировать прерывания по достижению переполнению. Конфигурация таймер мы можем задавать разные промежутки времени его работы или использовать для формирования прерываний с определенным периодом.....