Это блочная адресация регистров (начиная с адреса 20h)
(20h - запись числа в 16ричном формате, 20h = .32)
(.32 - запись числа в 10тичном "человеческом" формате)
(20h = .32 = b'00100000' , где b'00100000' - запись в 2ичном формате)
(существует еще несколько разновидностей записи, но это основные)
Это эквивалентно
Мало того, здесь через двоеточие ":" мы резирвируем несколько
адресов (Регистр:3 ) . Обращение к зарезервированным регистрам
получаем через записи
Код: Выделить всё
Регистр+1
Регистр+2
Др_регистр+1
Др_регистр+2
где через "+ число" мы показываем приращение значения
(показываем для компилятора, ну и для себя тоже).
В секции "необходимая пауза" мы подготавливаем "Др_регистр'ы"
для того, чтобы в последствии их уменьшать в цикле, т.е.
последовательно ДЕКРЕМЕНТИРОВАТЬ, обеспечивая временнУю
задержку. Подготовка заключается в КОПИРОВАНИИ значений из
одних "регистр'ов" в "др_регистр'ы". "Региcтр'ы" фактически
у нас остаются не затронуты, до тех пор, пока по факту нажатия
на одну из кнопок мы не изменим содержимое "регистр'ов".
Факт нажатия оценивается путем битовой проверки каждой линии
порта. Т.к. кнопок у нас 8 штук, мы подготовили 8 подсекций
со значениями, которые будут определять длительность задержек.
Нажатие кнопки на соответствующей линии иницирует переход
в подсекцию со значениями, где в "региcтр'ы" ВНОСЯТСЯ
новые значения.
Для рассчета задержек существует множество программ,
одна из которых называется PIC_Delay_1_7. См вложение.
Вещи становятся простыми, если о них просто рассказать
великим, могучим русским языком )) +3 бутылки буратино