Управление ресурсами стенда УМПК-80
Автор: rado56_56 • Март 17, 2019 • Курсовая работа • 444 Слов (2 Страниц) • 610 Просмотры
БУ ВО
«СУРГУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Ханты-Мансийского автономного округа – Югры»
Политехнический институт
Кафедра автоматики и компьютерных систем
Пояснительная записка на курсовой проект
по дисциплине «Проектирование микропроцессорных систем управления»
Задание № 6
Тема: «Управление ресурсами стенда УМПК-80»
Выполнил: студент группы 605-41з
Л.А. Мошкин
Подпись студента_______________
Принял:
доцент Запевалов Андрей Валентинович
Подпись преподавателя __________
Дата принятия готовой работы
«___»_____________________2018 г.
Оценка __________
Сургут 2018 г.
Оглавление
Управление ресурсами стенда УМПК-80 3
Блок схема 3
Описание блока схемы: 4
Листинг 5
Вывод 6
Управление ресурсами стенда УМПК-80
Цель работы: изучение способов управления ресурсами стенда на уровне программного обеспечения.
ВАРИАНТ №6: Счетчик нажатия клавиш.
Блок схема
[pic 1]
[pic 2]
Описание блока схемы:
Инициализируем счетчик. Указываем адрес, в котором будут храниться значения регистровой пары DE. После каждого нажатия на кнопку будет прибавляться 1. КУДА?
Инициализируем указатель. Указываем адрес, в котором будут храниться значения регистровой пары BC. Будут сохраняться полубайты для декодирования и вывода информации на дисплей. ГДЕ БУДУТ СОХРАНЯТЬСЯ?
Переносим содержимое регистра D в аккумулятор А. Обнуляем разряды наложением маски (0000 1111). И записываем значение из аккумулятора А в регистровую пару BE и инкрементируем указатель.
Переносим содержимое регистра D в аккумулятор А. Обнуляем разряды наложением маски (1111 0000). Сдвигаем в право на 4 разряда. И записываем значение из аккумулятора А в регистровую пару BE.
Вызываем программу декодирования и отображения на дисплей.
Вызываем программу определения нажатой кнопки и при помощи флага z определяем нажата кнопка или нет. Если кнопка не нажата, следует z = 1, находимся в цикле. Как только кнопка стала активной (z = 0), то выходим из цикла. И еще раз запускаем программу определения нажатой кнопки что бы проверить отпустили кнопку или нет. Если кнопка нажата (z = 0), то находимся в цикле. Если кнопку отпустили (z=1), то выходим из цикла. Инкрементируем счетчик и переходим на инициализацию указателя.
Листинг
Адрес | Метки | М. код | Асемблер | Коментарий |
0800 | 11 | LXI D 0900 | Инициализация счетчика | |
0801 | 00 | |||
0802 | 09 | |||
0803 | M1: | 01 | LXI B 0BF0 | Инициализация указателя |
0804 | F0 | |||
0805 | 0B | |||
0806 | 7A | MOV A, D | Чтение данных из D запись в А | |
0807 | E6 | ANI 0F | Обнуление разрядов наложением маски 0000 1111 | |
0808 | 0F | |||
0809 | 02 | STAX B | Запись данных из А в регистровую пару BE | |
080A | 03 | INX B | Инкремент указателя | |
080B | 7A | MOV A, D | Чтение данных из D запись в А | |
080C | E6 | ANI F0 | Обнуление разрядов наложением маски 1111 0000 | |
080D | F0 | |||
080E | 0F | RRC | Сдвиг в право на разряд | |
080F | 0F | RRC | Сдвиг в право на разряд | |
0810 | 0F | RRC | Сдвиг в право на разряд | |
0811 | 0F | RRC | Сдвиг в право на разряд | |
0812 | 02 | STAX B | Запись данных из А в регистровую пару BE | |
0813 | CD | CALL 01E9 | Вызов ПП декодирования | |
0814 | E9 | |||
0815 | 01 | |||
0816 | M2: | CD | CALL 01C8 | Вызов ПП вывода информации на дисплей |
0817 | C8 | |||
0818 | 01 | |||
0819 | CD | CALL 0185 | Вызов ПП определения нажатой клавиши | |
081A | 85 | |||
081B | 01 | |||
081C | CA | JZ 0816 | Переход на метку М2: если Z = 1 | |
081D | 16 | |||
081E | 08 | |||
081F | M3: | CD | CALL 0185 | Вызов ПП определения нажатой клавиши |
0820 | 85 | |||
0821 | 01 | |||
0822 | C2 | JNZ 081F | Переход на метку М3: если Z = 0 | |
0823 | 1F | |||
0824 | 08 | |||
0825 | 14 | INX D | Инкремент счетчика | |
0826 | C3 | JMP 0803 | Без условный переход на метку M1: | |
0827 | 03 | |||
0828 | 08 |
Вывод
В данной лабораторной работе были изучены способы управления ресурсами стенда на уровне программного обеспечения. И создана программа согласно варианту счетчик нажатия клавиш. Цель достигнута.
...