Перейти к содержанию
    

what_you_want

Новичок
  • Постов

    3
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный
  1. А если до этого регистр temp не был определен?
  2. все заработало, ошибка была в схеме. порты по умолчанию же на ввод настроены, можно обойтись без этого присваивания, как я понял. еще возник вопрос по команде bld bld temp, 0 ; записываем в нулевой бит регистра temp значение из T А остальные биты регистра temp чем заполнены? нулями по умолчанию?
  3. С ввода на вывод

    Здравствуйте, стал разбираться с программой Isis для эмулирование МК, столкнулся со странной проблемой. Код: .cseg .org 0 ldi temp,RamEnd ;инициализация стека out SPL,temp ldi temp,0xFF ;настройка порта D на вывод out DDRD,temp ldi temp,0x00 ;настройка порта B на ввод out DDRB,temp Begin: clr temp1 ;обнуляем регистр temp1 in temp1, PINB ;записываем данные из порта B в темп1 rcall Delay ;задержка out PORTD, temp1 ;выводим данные в порт D rcall Delay ;задержка rjmp Begin ;сначала ; задержка Delay: ldi Temp3,0 ldi Temp4,0 Loop: dec Temp3 brne Loop dec Temp4 brne Loop ret Программа простая, в зависимости от нажатых кнопочек читаем единицы-нули с порта B и передаем их на порт D. Но тем не менее, на выходе всегда горят единицы, вне зависимости от нажатых кнопок. Что я делаю не так?
×
×
  • Создать...