#include "key_codes.h"
extern volatile int key_pressed;
extern volatile int pattern;
/*****************************************************************************
Процедура обработки прерываний от кнопок
******************************************************************************/
void pushbutton_ISR(void)
{
volatile int * KEY_ptr = (int *) 0x10000050; //базовый адрес кнопок
volatile int * slider_switch_ptr = (int *) 0x10000040; //базовый адрес переключателей
int press;
press = *(KEY_ptr + 3); // Читаем содержимое регистра edge-capture
*(KEY_ptr + 3) = 0; // Сбрасываем регистр edge-capture
if (press & 0x2) //если была нажата кнопка KEY1
key_pressed = KEY1;
else if (press & 0x4) //если была нажата кнопка KEY2
key_pressed = KEY2;
else //если была нажата кнопка KEY3
pattern = *(slider_switch_ptr); //определяем какие переключатели
//установлены в верхнее положение
return;
}
Мультимедийные компоненты процессорной системы
Этот раздел описывает аудиопорт, видеопорт, аудио/видео конфигурационный модуль, LCD дисплей 16*2, и PS/2 порт.