Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Розробка системи управління опалювального котла

Реферат Розробка системи управління опалювального котла





gn="justify"> r16, 0b11100011 PORTD, r16


ret


; ***************************************** ****************:

; перевіряє натиснення клавіші в клавіатурі повертає номер клавіші в разі натискання

; інакше повертає -1 (255) також -1 повертається у разі, якщо минулого разу була; натиснута та ж кнопка повертається значення - мінлива Key


; блок перевірки рядка (всього їх 4) R17, PinD; читаємо порт DKeyTest; викликаємо програму перевірки

; програма повертає номер кнопки: 0 .. 2

; або -1 - якщо немає натиснутих кнопок

R17, 0; завантажуємо код поточної строкіR18, 255; якщо нічого не натиснуто - йдемо дальшеSetKey; інакше - переходимо на обробку

; кінець 0-го блоку

R17, PinD

rcall KeyTestR17, 3R18, 255SetKey

R17, PinDKeyTestR17, 6R18, 255SetKeyR17, PinDKeyTestR17, 9R18, 255SetKey

R17, 0


SetKey: R17, R18; додаємо номер кнопки до коду строчкіR18, Key; вантажимо код кнопки, прочитаний в минулий разR18, 0b00001111; "чистимо" його по маскеR17, R18; якщо минулого разEndKeyRead; була натиснута не та ж кнопка, виходимо

R17, 0b10000000; інакше - пишемо прапорець "повтор": Key, R17; зберігаємо код кнопки в ОЗУ

; виходимо


; ***************************************** ****************

KeyTest: R17, 0b01110000; обрізаємо по маскеR18, 0b01110000R17, R18; інвертуємо біти по маскеNoButtons; якщо всі нулі (немає натиснутих), переходимо за міткою

R18, 0; инициализируем лічильник

R17, 0b00010000; перевіряємо 0-ю кнопкуEndKeyTest; натиснуто - виходR18; інакше - інкремент лічильника

R17, 0b00100000; перевірка 2 кнопкіEndKeyTestR18

R17, 0b01000000; перевірка 3 кнопкіEndKeyTest

: R18, 255; якщо нічого не натиснуто - повертаємо 255

: ret


; ***************************************** ****************:

; запускає виконання операції, закріпленої за кнопкою

R17, Key; завантажуємо змінну KeyR18, R17; перевіряємо на наявність флажкаR18, 0b10000000; "повтор" або-1EndKeyboard; якщо повтор або -1 - виходимо

ZH, High (KeysLUT * 2); завантажуємо табліцуZL, Low (KeysLUT * 2); істинності (клавіша -> значення)

R18, 0; зміщуємося на номер клавіші

add ZL, R17ZH, R18


lpm; завантажуємо значення елементаR17, R0

R18, Digit +2; зсуваємо розряди індіка...


Назад | сторінка 12 з 18 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Якщо ваш працівник затриманий чи засуджений
  • Реферат на тему: Якщо ремонт виявився модернізацією
  • Реферат на тему: Якщо лікарняний невірно розрахований
  • Реферат на тему: Якщо ви викликаєте швидку допомогу
  • Реферат на тему: Як бути, якщо контрагент за договором - нерезидент?