Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Листинг 7 Текст программы pushbutton_ISR.s






.include " key_codes.s"

.extern KEY_PRESSED

.extern PATTERN

 

/******************* Обработчик прерываний от кнопок************************/

 

.global PUSHBUTTON_ISR

PUSHBUTTON_ISR:

subi sp, sp, 20 /* Сохраняем регистры в стеке*/

stw ra, 0(sp)

stw r10, 4(sp)

stw r11, 8(sp)

stw r12, 12(sp)

stw r13, 16(sp)

 

movia r10, 0x10000050

ldwio r11, 0xC(r10) /* Считываем значение из edge-capture регистра*/

stwio r0, 0xC(r10) /* Сбрасываем прерывание */

 

movia r10, KEY_PRESSED

CHECK_KEY1:

andi r13, r11, 0b0010 /* Если была нажата кнопка key1 */

beq r13, zero, CHECK_KEY2

movi r12, KEY1

stw r12, 0(r10)

br END_PUSHBUTTON_ISR

 

CHECK_KEY2:

andi r13, r11, 0b0100 /* Если была нажата кнопка key2*/

beq r13, zero, DO_KEY3

movi r12, KEY2

stw r12, 0(r10)

br END_PUSHBUTTON_ISR

 

DO_KEY3:

movia r13, 0x10000040

ldwio r11, 0(r13) /* Считываем значение с переключателей */

movia r13, PATTERN

stw r11, 0(r13) /* Сохраняем измененный текст */

 

END_PUSHBUTTON_ISR:

ldw ra, 0(sp) /* Восстанавливаем регистры из стека */

ldw r10, 4(sp)

ldw r11, 8(sp)

ldw r12, 12(sp)

ldw r13, 16(sp)

addi sp, sp, 20

 

ret

.end

Лабораторная работа №4

Исследование работы интервального таймера и применение его в приложениях пользователя

Цель работы: изучение работы интервального таймера и применение его в приложениях пользователя.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.