Урок №3 Подключаем кнопку на языке программирования Assembler, при нажатии кнопки включаем светодиод

Поделиться
HTML-код
  • Опубликовано: 2 фев 2025

Комментарии • 4

  • @igordudnikov6467
    @igordudnikov6467 Год назад

    благодарю Вас за уроки, с нетерпением жду следующие уроки по ассемблеру...

  • @marina16350
    @marina16350 6 месяцев назад

    Судя по объяснениям автора нажатию кнопки соответствует подключение бита 2 порта D к земле (в настройках эта линия порта D настроена на ввод и подтянута к питанию внутренним подтягивающим резистором). Тогда 3-ей командой после метки PINCYCLE должна быть команда SBIC PIND,2 (Skip Bit Clear - пропустить следующую команду, если линия PIND.2 =0, или что то же самое - пропустить следующую команду, если кнопка нажата). В программе видеоролика там стоит команда SBIS PIND,2 - Skip Bit Set - пропустить следующую команду если бит установлен, что неверно - не соответствует продекларированному замыслу. И вообще для столь простой задачи как изменение состояний линий 0 и 1 порта D в зависимости от состояния кнопки (нажата - отпущена) данный код довольно запутанный и к тому же неоптимальный. Отсутствие же подробных комментариев к тексту программы при наличии ошибок делает восприятие данного ролика весьма затруднительным не только начинающему обучение, но и человеку имеющему опыт в практическом программировании.
    Кстати попробовала на железе с 3-ей командой после метки Pincycle SBIS PIND,2 (как у автора в ролике и на сайте). Внешне все как будто нормально - работает. Однако это из-за того что далее стоит задержка в 100 мкс (длинная часть кода) и наиболее вероятно момент нажатия кнопки приходится именно на эту часть, поэтому и работает. При уменьшении задержки появляются сбои - залипание в исходном состоянии при нажатии кнопки. Тогда как при использовании SBIC и с минимальной задержкой DELAY все продолжает нормально работать!!!

  • @olegst7989
    @olegst7989 Год назад

    Для старта, написание таких простых программ, это нормально, но более сложные уже выйдут за рамки восприятия. Ассемблер нужно максимально привести в Си подобный язык, тогда можно писать сложные высокоэффективные программы.
    IF r16, '

  • @olegst7989
    @olegst7989 Год назад

    перед написанием кода, желательно, показать блок схему(сценарий) программы, так сильно легче писать и понимать задачу, чего мы хотим достигнуть.