Интерфейсы периферийных устройств. Ключев А.О - 261 стр.

UptoLike

260
3. Текстовый редактор.
Написать программу, реализующую функции простого текстового редактора. Ввод
текста должен осуществляться с клавиатуры стенда SDK-1.1 кнопками «0 – 9». Таким
образом, текст может состоять только из цифровых символов. Объем вводимого текста не
должен превышать 8 строк по 16 символов, при этом ЖКИ отображает только две соседние
строки. Номер текущей строки должен отображаться на светодиодном индикаторе (первая
строкапервый светодиод, вторая строкавторой светодиод и т.д.). Перемещение по тексту
осуществляется с помощью курсора, управляемого клавишами «A» (влево), «B» (вправо),
«C» (вверх) и «D» (вниз). Ввод текста производится в позицию, указываемую курсором, при
этом все символы находящиеся правее введенного символа сдвигаются, курсор перемещается
(как в обычном текстовом редакторе). В качестве клавиши перевода строки выступает кнопка
«*», удаление символов должно производиться кнопкой «#».
В рамках задания необходимо реализовать:
драйвер светодиодных индикаторов;
драйвер клавиатуры;
драйвер ЖКИ.
4. Бегущая строка.
Написать программу, реализующую эффект «бегущей строки». Эффект заключается в
постепенном смещении отображаемой на ЖКИ строки по кругу (вправо или влево).
Управление «бегущей строкой» должно осуществляться с клавиатуры стенда SDK-1.1:
кнопка «A» – смена направления движения текста;
кнопка «B» – смена строки ЖКИ, по которой двигаетсябежит») текст, причем
смена должна производиться немедленно;
кнопки «C» и «D» – изменяют скорость движения текста (диапазон значений: 1 – 10
позиций в секунду).
Для формирования скорости движения строки обязательным является использование
таймера микроконтроллера ADuC812. Движение текстовой строки реализуется таким
образом, чтобы исчезающая из области видимости часть текста появлялась постепенно с
противоположной стороны строки ЖКИ. Кроме того, отображение «бегущей строки» должно
быть плавным, четким, без образованных движением текста «хвостов».
По нажатию кнопки «*» программа переходит в режим ввода новой текстовой строки.
Ввод производится с помощью кнопок «0 – 9». Таким образом, вводимый текст может
состоять только из цифровых символов. При вводе должна контролироваться длина текста
(не менее 1 и не более 16 символов). Завершение ввода строки производится кнопкой «*».
Отмена вводакнопка «#». Исполнение программы должно начинаться с прокручивания в
верхней строке ЖКИ слева направо текста «SDK-1.1».
В рамках задания необходимо реализовать:
драйвер таймера;
драйвер клавиатуры;
драйвер ЖКИ.
5. Монитор состояний устройств.