
- •Курсовая работа
- •Содержание. Введение…………………………………………………………...………………3
- •Введение.
- •Теоретическая часть
- •Микропроцессор кр580вм80а
- •Тактовый генератор кр580гф24.
- •Т аймер кр580ви53
- •Дешифратор
- •Практическая часть
- •Структурная схема устройства
- •Описание работы алгоритма и блок-схема программы
- •Программа и её распределение по ячейкам памяти
- •Расчет емкости требуемой памяти и времени выполнения программы
- •Заключение.
- •Список использованной литературы.
Программа и её распределение по ячейкам памяти
Адрес памяти |
Метка |
Команда (мнемоника) |
Комментарий |
8000h |
|
MVI A |
Записываем в аккумулятор управляющее слово – СЧ1, только младший байт, Режим 1, 2ичная с.с. |
8001h |
|
01010010 |
|
8002h |
|
OUT |
Запись в Таймер 2 (адрес 111100) управляющего слова |
8003h |
|
11110011 |
|
8004h |
|
MVI A |
Записываем в аккумулятор управляющее слово – СЧ2, только младший байт, Режим 0, 2ичная с.с. |
8005h |
|
10010000 |
|
8006h |
|
OUT |
Запись в Таймер 2 (адрес 111111) управляющего слова |
8007h |
|
11110011 |
|
8008h |
|
MVI A |
Записываем в аккумулятор начальное значение СЧ2 Таймера 2 – число 4 |
8009h |
|
00000100 |
|
800Ah |
|
OUT |
Запись в Таймер 2 (адрес 111100) начального значения для СЧ2 |
800Bh |
|
11110010 |
|
800Ch |
|
MVI A |
Записываем в аккумулятор начальное значение СЧ1 Таймера 2 – число 2 (длительность импульса) |
800Dh |
|
00000010 |
|
800Eh |
|
MVI A |
Разрешаем работу счетчиков (начало посылки образа кода) |
800Fh |
|
1 |
|
8010h |
|
OUT |
|
8011h |
|
11111111 |
|
8012h |
|
MVI A |
Запись в Таймер 2 (адрес 111100) начального значения для СЧ1 – послали первый из 4х импульсов «образа кода» |
8013h |
|
2 |
|
8014h |
|
OUT |
|
8015h |
|
11110001 |
|
8016h |
|
NOP |
Подождали 10 мкс (2*5=10) |
8017h |
|
NOP |
|
8018h |
|
NOP |
|
8019h |
|
NOP |
|
801Ah |
|
NOP |
|
801Bh |
|
OUT |
Запись в Таймер 2 (адрес 111100) начального значения для СЧ1 – послали второй из 4х импульсов «образа кода» |
801Ch |
|
11110001 |
|
801Dh |
|
NOP |
Подождали 10 мкс (2*5=10) |
801Eh |
|
NOP |
|
801Fh |
|
NOP |
|
8020h |
|
NOP |
|
8021h |
|
NOP |
|
8022h |
|
OUT |
Запись в Таймер 2 (адрес 111100) начального значения для СЧ1 – послали третий из 4х импульсов «образа кода» |
8023h |
|
11110001 |
|
8024h |
|
NOP |
Подождали 10 мкс (2*5=10) |
8025h |
|
NOP |
|
8026h |
|
NOP |
|
8027h |
|
NOP |
|
8028h |
|
NOP |
|
8029h |
|
OUT |
Запись в Таймер 2 (адрес 111100) начального значения для СЧ1 – послали четвёртый из 4х импульсов «образа кода» |
802Ah |
|
11110001 |
|
802Bh |
|
IN |
Опросили выход СЧ2 Таймера 2 |
802Ch |
|
20h |
|
802Dh |
|
JZ END |
Если в аккумуляторе 0, то Tz=1, выполняется переход к метке END и программа завершает работу. Если в аккумуляторе 1, то Tz=0, и программа начинает посылку ответного кода. |
802Eh |
|
5Ch |
|
802Fh |
|
80h |
|
8030h |
|
MVI A |
Запрещаем работу счетчиков |
8031h |
|
00000000 |
|
8032h |
|
OUT |
|
8033h |
|
11111111 |
|
8034h |
|
MVI A |
Записываем в аккумулятор управляющее слово для Таймера 1 – СЧ0, мл. байт, Режим 4, 2ичная с.с. |
8035h |
|
00011000 |
|
8036h |
|
OUT |
Запись в Таймер 1 (адрес 111110) управляющего слова |
8037h |
|
11111011 |
|
8038h |
|
MVI A |
Записываем в аккумулятор управляющее слово для Таймера 1 – СЧ1, мл. байт, Режим 4, 2ичная с.с. |
8039h |
|
01011000 |
|
803Ah |
|
OUT |
Запись в Таймер 1 (адрес 111110) управляющего слова |
803Bh |
|
11111011 |
|
803Ch |
|
MVI A |
Записываем в аккумулятор управляющее слово для Таймера 1 – СЧ2, мл. байт, Режим 4, 2ичная с.с. |
803Dh |
|
10011000 |
|
803Eh |
|
OUT |
Запись в Таймер 1 (адрес 111110) управляющего слова |
803Fh |
|
11111011 |
|
8040h |
|
MVI A |
Записываем в аккумулятор управляющее слово для Таймера 2 – СЧ0, мл. байт, Режим 4, 2ичная с.с. |
8041h |
|
00011000 |
|
8042h |
|
OUT |
Запись в Таймер 2 (адрес 111100) управляющего слова |
8043h |
|
11110011 |
|
8044h |
|
MVI A |
Записываем в аккумулятор начальное значение Счётчика 0 Таймера 1 – число 0 |
8045h |
|
00000000 |
|
8046h |
|
OUT |
Запись в Таймер 1 (адрес 111110) начального значения СЧ0 |
8047h |
|
11111000 |
|
8048h |
|
MVI A |
Записываем в аккумулятор начальное значение Счётчика 1 Таймера 1 – число 6 |
8049h |
|
00000110 |
|
804Ah |
|
OUT |
Запись в Таймер 1 (адрес 111110) начального значения СЧ1 |
804Bh |
|
11111001 |
|
804Ch |
|
MVI A |
Записываем в аккумулятор начальное значение Счётчика 2 Таймера 1 – число 12 |
804Dh |
|
00001100 |
|
804Eh |
|
OUT |
Запись в Таймер 1 (адрес 111110) начального значения СЧ2 |
804Fh |
|
11111010 |
|
8050h |
|
MVI A |
Записываем в аккумулятор начальное значение Счётчика 0 Таймера 2 – число 28 |
8051h |
|
00011100 |
|
8052h |
|
OUT |
Запись в Таймер 2 (адрес 111111) начального значения СЧ0 |
8053h |
|
11110000 |
|
8054h |
|
MVI A |
Разрешаем работу счетчиков (начало посылки ответного кода) |
8055h |
|
1 |
|
8056h |
|
OUT |
|
8057h |
|
11111111 |
|
8058h |
|
MVI A |
Записываем в аккумулятор начальное значение Счётчика 0 Таймера 1 – число 17 (прошло 3,5 мкс после посылки 1го импульса ответного кода) |
8059h |
|
00010001 |
|
805Ah |
|
OUT |
Запись в Таймер 1 (адрес 111110) начального значения СЧ0 (прошло 8,5 мкс после посылки 1го импульса ответного кода) |
805Bh |
|
11111000 |
|
805Ch |
END |
HLT |
Завершение программы |