- •1.Введение в микропроцессорную технику.
- •3. Цикличность работы микропроцессора.
- •3.5 Временные диаграммы команд.
- •5.Система команд мп кр580ик80.
- •5.1.Формат команд.
- •5.2.Способы адресации команд и схемы их выполнения.
- •5.3.Команды мп кр580ик80 (классификация по назначению).
- •6 Арифметические основы мпс.
- •6.1 Системы счисления
- •6.2Перевод чисел из одной системы счисления в другую.
- •6.3Коды чисел в мпс.
- •6.4 Арифметические действия с кодами чисел.
- •7.Основы програмирования мпс.
- •7.1Общие сведения.
- •7.2. Программный ввод–вывод данных.
- •8.5. Програмируемый контроллер прерываний кр580вн59. Общая хар-ка(стр-я схема,режимы работы). Программирование
- •8.7. Програмируемый контроллер прямого доступа к памяти.
- •8.9.Програмируемый интервальный таймер.
- •9. Секционированные микропроцессоры
- •9.1. Принцип микро программного управления. Особенности мп, построенных на этом принципе
- •7.7. Структура мву на основе секционированных мп
- •10.Микроконтроллеры
- •10.1.Общие сведения о микроконтроллерах
- •10.2.Микроконтроллеры avr.Общие характеристики. Выводы. Тактовый генератор.
- •10.3.Процессор. Его состав и функции. Регистр. Состояние cpeg. Назначениедругих регистров. Пространство ввода-вывода.
- •10.4.Структура памяти (азу,пзу и т.Д.)
- •10.5.Переферийные устройства
7.Основы програмирования мпс.
7.1Общие сведения.
Технология разработки программ для МПС идентична соответственно технологии программирования на алгоритмич языках высокого уровня для ЭВМ.
При программировании МПС используются графич. представление алгоритмов,но число символов резко ограничено.
Символы графических представлений алгоритма.
Символ |
Его значение |
Выполнение операции, в рез-те кот. изменяется знач-е или располож-е в ЗУ данных | |
Ввод или вывод данных | |
Начало, конец или прерывание процесса обработки данных | |
Ветвление по условию | |
Соединит. линии. |
Форма записи программ для МПС
Программа машинных кодов |
Программа в мнемокодах | ||||
Адрес |
Данные |
Метка |
Мнемоника команды |
Операнды |
Число тактов |
|
|
|
MVI |
A,04H |
-- |
Составление простейших программ
Задача 1. Линейный вычислит процессор. Сложить числа: a=03H, b=B1H, c=07h. Результат поместить в адрес ЗУ 8021H. решение: карта распред-я памяти: 1). данные ввода введем непосредственно в программе, а для вывода напишем
2).Блок схема
Машинные коды |
Мнемокодах | ||||
Адрес |
Данные |
Метка |
Мнемоника команды |
Операнды |
Комментарий |
8000 8001 |
3E 03 |
|
MVI
|
A,03H |
Непосредственная загрузка аккумулятора с 16-ричным числом 03 |
8002 8003 |
D6 B1 |
|
MVI |
B,B1H |
Непосредственная загрузка числом В1 |
8004 8005 |
0E 07 |
|
MVI |
C,07H |
Непосредственная загрузка РОН с данными 07Н |
8006 |
80 |
|
ADD |
B |
Сложение содержимого аккумулятора и регистра В. Результат в аккумуляторе |
8007 |
81 |
|
ADD |
C |
Сложение содержимого аккумулятора и регистра С. Результат в аккумуляторе
|
8008 8009 800A |
32 21 80 |
|
STA
|
8021H |
Пересылка данных из аккумулятора в адрес ЗУ 8021 |
800B |
76 |
|
HLT |
|
Остановка программы |
Пример 2. Разветвляющийся вычислительный процесс. Вычислить значение
Результат поместить в РОН общего назначения С, а х поместить в РОН В.
Решение. Распределение памяти
Адрес/Регистр |
Данные |
В |
х |
С |
у |
Блок-схема:
Машинные коды |
Мнемокодах | ||||
Адрес |
Данные |
Метка |
Мнемоника команды |
Операнды |
Комментарий |
8000 |
|
|
MOV |
A,B |
A←(B) |
8001 |
|
|
ANA |
A |
Логическое умножение содержимого аккумулятора на само себя A←(A∙A). В рез-те появится сост-е флагов s,p,z. |
8002 8003 8004 |
КОП 0А 80 |
|
JP |
M1 … |
Если флаг s=0, переход к метке М1. |
8005 8006 |
|
|
MVI |
C,03H |
С←03Н |
8007 8008 8009 |
КОП 0С 80 |
|
JMP |
M2 |
Переход к М2 |
800А 800В |
|
|
MVI b |
C,00 |
С←00Н |
800С |
|
|
HLT |
|
STOP |
Пример 3.Циклический вычислительный процес.Вычислить сумму.
ai-известные2-е числа.
Решение:Распределение памяти.
Адрес/Регистр |
Данные |
8020 |
А1 |
8021 8022 8023 8024 |
А2 А3 А4 y |
Блок схема:
Программа:
LXI H, 8020H |
Загрузка регистровой пары HL адресом 8020 |
MVI C, 04H |
Непосред. загрузка рег. С данными 04Н |
MVI A, 00H |
Непосред. загрузка аккумулятора данными 00Н |
M1: ADD M |
Сложение содержимого аккумулятора с содержимым ячейки памяти, адрес кот находится в рег. паре HL |
INX H |
Инкремент адреса рег пары HL |
DCR C |
Декремент регистра счетчика С |
JNZ M1 |
Если содержимое счетчика ≠ 0, переход к оператору с меткой М1 |
STA 8024 H |
Пересылка данных из аккумулятора в адрес 8024 |
HLT |
Остановка программы |
Пример 5.
Дан массив из 10 двоичных чисел. Составить прогр мнемокода для нахождения max из них. Решение:Распределение памяти
Адрес/Регистр |
Данные |
8020 |
а1 |
8021 |
а2 |
… |
|
8029 |
а10 |
802А |
аmax |
Блок схема:
Решение было заданно домой.