Меню
Главная
Прикосновение космоса
Человек в космосе
Познаем вселенную
Космонавт
Из авиации в ракеты
Луноход
Первые полеты в космос
Баллистические ракеты
Тепло в космосе
Аэродром
Полёт человека
Ракеты
Кандидаты наса
Космическое будущее
Разработка двигателей
Сатурн-аполлон
Год вне земли
Старт
Подготовки космонавтов
Первые полеты в космос
Психология
Оборудование
Модель ракеты
|
Космонавтика Архитектура 3-х шинных систем 260 Глава 9 . МЫ не будет продолжено, чему соответствует условие нет> шага 10. Если отрабатывается ключ ввода, то данные, считанные на шаге 9, записываются в ОЗУз, как это показано на шаге 11. После этого осуществляется переход к шагу 8, на котором адрес ОЗУг увеличивается на 1. По завершении шага 8 снова производится переход к шагу 3. Программа реализации функции УСТАНОВКИ АДРЕСА приведена на рис. 9.115. 9.6. Программные средства реализации функции СТИРАНИЯ ОЗУ Перейдем к рассмотрению программных средств, предназначенных для реализации системной функции СТИРАНИЯ ОЗУ, для чего прежде всего определим эту функцию. Функция СТИРАНИЕ ОЗУ заключается в записи единиц (FFie) во все ячейки ОЗУг. Укрупненная блок-схема реализации рассматриваемой функции приведена на рис. 9.16. После записи единиц во все ячейки ОЗУг осуществляются возврат в основную программу и ожидание ввода новой функции. Программная реализация блок-схемы рис. 9.16 средствами символического языка микропроцессора 8085 показана на рис. 9.17. 9.7. Программные средства реализации функции программирования Программирование ППЗУ осуществляется в том случае, когда возникает необходимость хранения информации (отлаженных программ), длительное время используемой без перепрограммирования. Подобные запоминающие устройства, сохраняющие информацию при отключении питания, находят применение во многих областях. ППЗУ обладают еще одним важным свойством, которое заключается в том, что при необходимости записанную информацию можно стереть, а устройство - перепрограммировать в соответствии с новыми потребностями. При программировании ППЗУ требуемая программа вначале размещается в другом ЗУ, в нашем случае это ОЗУг, а затем пересылается при выполнении операции программирования в ППЗУ, где и хранится до тех пор, пока не возникнет потребность ее затереть. Рассмотрим теперь программные средства, необходимые для программирования ППЗУ. Система устанавливает ППЗУ в режим программирования. Данные из ОЗУг поступают на выходные линии ППЗУ. Далее на вывод программирования ППЗУ подается импульс. Выдача импульса программирования производится последовательно для каждого адреса (0000-OSFFie). Г Начало Системный адрес = 1400 Начало ОЗУ, Рис. 9.16. Блок-схема работы системы при реализации функции стирания ОЗУ. Запись FF по системному адресу Все OaVj заполнено. Выход Адрес = Адрес + 1 Следующий адрес Переход к главной управляющей программе г 2 3 4 5 6 7 0000 0000 0000 0000 -0000 0000 0000-0000 9 0002 10 0005 11 0006 12 0007 13 0009 14 ОООА 1 5 OO0D 16 ОООЕ 17 OO0F 18 0012 19 0013 20 0014 21 0017 22 0018 23 001B 24 001B 25 001B 26 001В 27 001В 28 001В 29 001С 30 0010 * . * * ПОДПРОГРАША чистки рЗУ 21 00 77 F5 ЗЕ ВС СА 12 F1 23 03 05 F1 BD СА IB 23 СЗ 05 OBQ 0000 CLRAM MVI A.OFFH 14 LXI H.UOOH CL1 MOV M,A POSH PSW MVI A,.17H CMP H JZ LCHK POP PSW INX H JMP CL1 LCHK POP PSW CMP L 00 JZ BEGIN INX H 00 JMP CL1 УСТАНОШгаЬ НАЧ. АДРЕС ПРОГРАМШ АККУМУЛЯТ0Р 1Т В H.L НАЧАЛЬШЙ АДРЕС ОЗУ FF В ПАМЯТЬ СОХРАНИТЬ СОДЕРЖАНИЕ АККУМУЛЯТОРА ПРОВЕРИТЬ СТАРШИЙ БАЙТ=ПРЕДЕЛ. ЗНА ДА,ИДТИ НА ПРОВЕРКУ МЛАДШЕГО БАЙТА ВОССТАНОВИТЬ АККУМУЛЯТОР УВЕЛИЧИТЬ АДРЕС ОЗУ - ОБРАБОТАТЬ СЛЕДУИВЙЙ АДРЕС ВОССТАНОВИТЬ АКЮЛИГЛЯТОР ПРОВЕРИТЬ:МЛАДШИЙ ВАЙТ УГ КОНЕЦ ЗТОЙ ПОДПРОГРАЮИ-УВЕЛИЧИТЬ АДРЕС ОЗУ ПОВТОРИТЬ ЗАНОВО О ДРУГИМ АДРЕСОМ О EBBOBS * НЕОБХОДИМ АДРЕС ДЛЯ МЕТКИ BEGIN BEGIN NOP ЭТО ПУСТОЙ ОПЕРАТОР АССЕМБЛЕРА END ПРЕДЛОЖЕНИЕ END АССЕМБЛЕРА 4 STMBOLS Рис. 9.17. Реализация блок-схемы рис. 9.16 в кодах символического языка микропроцессора 8085. Начало Установка на табло DDDDDD Индикация пользователю режима программирования системы Установка 2708 в режим программирования Выдача данных по адресу ППЗУ Подача импульса программирования на вывод 2708 Увеличение адреса на1 Сравнение ППЗУ с ОЗУ Установка адреса Увеличение адреса на 1 Отображение адреса и данных Переход к главной управляющей программе Ожидание нажатия клавиши сброса 0000 0000 0000 0000 0000 0000 7 0000 8 0000 9 0000 10 0000 11 0000 12 0000 13 0000 14 000 2 15 000 4 16 0006 1 7 ООО 8 18 ООО А 19 ОООС an 0OOF 21 00 Ю 22 0012 23 00 12 24 0015 25 0018 26 00 1 8 27 00 19 28 00 1В 29 00 1С 30 001Е 31 00 IF 32 00 21 33 0021 34 00 21 35 0021 36 0023 3 7 00 25 38 00 27 39 00 28 40 00 2В 41 00 2D 4 2 002Р 43 002F 44 00 2F 45 002Р 46 00 V 4 7 00 32 48 00 35 49 00 36 50 00 38 51 ООЗВ 52 ООЗС 53 ООЗЕ 54 0040 55 00 40 56 00:*3 57 0040 58 00 43 59 00 44 60 00 47 В ED D3 F0 ЕЗ F1 D3 F2 ЗЕ 00 ЕЗ 32 32 О 3 ЗС ЕЗ 34 1 1 00 00 21 00 14 ЕЗ 3) 7В ЕЗ 33 7 А ЕЗ 34 06 08 ЗЕ 03 ЕЗ 35 05 С2 27 00 ЗЕ О 1 D3 35
ПРИШНИТЬ ПРОГРАММИРУЮЩИЙ ИМПУЛЬС мта PULSE DC а jnz MVI в,0 8 A,03 35H в PULSE A,0 1 OUT 3 5H ВКЛЮЧИТЬ CS/WE и ПРОГ. ИМПУЛЬС ШИРИНА ИМПУЛЬСА ВЫКЛЮЧИТЬ ПРОГ. ИМПУЛЬС ПОСЛЕДНИЙ Адрес программировался? FE РР С2 ЗВОО 7А FE 03 СА 40 00 23 13 сз 18 00 MOV А,Е CPI OFFH JNZ PB0Q1 MDV А,Е CPI о 3 JZ LOPC РЮв1 INX Н INX D JMP PROG2 ПОСЛЕДНИЙ РАЗ ОБРАБАТЫВАЛИСЬ BOS 10 24 АДРЕСА ПОСЛЕДНИЙ БАЙТ -АТ ПОСЛЕДНИЙ БАЙТ а8-а9 ПОСЛЕДНИЙ АДРЕС (ДА) УВЕЛИЧИТЬ АДРЕСА О ЗУ И ПРОВ. ПЗ/ ОБРАБОТАТЬ СЛЕДУЮЩИЙ АДРЕС ЗА 0 3 32 0 3 FE С8 14 LOPC 14 LDA INR STA CPI CNT1 А CNT1 200 ЗАГРУЗИТЬ СЧЕТЧИК 250 ЦИКЛ0В777 Рис. 9.19. Реализация блок-схемы рис. 9.18 в кодах символического микропроцессора 8085. языка Рис. 9.18. Блок-схема работы системы в режиме программирования-. РЕАЛИЗАЦИЯ КОМАНДЫ PROG ДЛЯ 8080. ЭТА ПРОГРАММА СЛУЖИТ ДЛЯ УПРАВЛЕНИЯ ПЕРЕПРОГ. ПЗУ.- ИНФОРМАЦИЯ О ЗУ ХРАНИТСЯ НАЧИНАЯ С ЯЧЕЙКИ 1400Н. АДРЕСА ПЕРвПРОГРАММИРУЕМЭГО пзу НАЧИНАЕТСЯ С 0000 . * ПРОГРАМШСТ ДЖИМ К0Ф5Р0Н ♦ 62 6Э Ч 65 17 ?8 79 Ю 81 82 83 84 85 8 87 88 89 90 .91 92 93 94 95 96 97 98 99 ЮО Ю1 Ю 2 ЮЗ Ю4 Ю5 Юб Ю7 Ю8 Ю9 110 111 112 113 114 115 116 117 118 1 19 125 0049 004С 00 4С 0040 004С 004В ООЮ 00 51 0053 0053 0053 00 53 00 56 00 59 00 59 00 5А 0Г5С 00 5D 00 5Р О061 0062 0065 0065 0065 006 5 056 5 0065 0066 0068 ООбВ ООбС 006В 0071 0071 00 71 00 71 00 72 00 73 00 76 00 76 00 76 00(76 00 77 00 79 00 7А 00 70 00 7Е 00 83 00 83 00 8П 00 80 0083 00 86 0088 00 8В 00 8В 00 ав 00 ав опт 00 ав С2 12 00 ЗВ 01 D3 3 2 3D D3 35 jnz ргооз НВ аэовдюпв.говторный старт ПРОГРАМЮЦЮВАНИВ ОКОНЧЕНО .ВЕШРЬ ПРОВЕРИТЬ ЗАПРЕТИТЬ ПЕРВДАЧУ ДАННЫХ В ПРОГ. ПЗУ MVI кр\ OUT 32Н DCR А OUT 35Н АККУШГЛЯТОР=0 CS/WE = О .0 v ИНИЦИАЛИЗИРОВАТЬ АДИВС ПРОГ. ПЗУ И О ЗУ 11 00 00 LXI при 21 78 0 5 LXI Н,1400 7В PR0Q4 MOV А D3 33 OUT ЗЗН 7А ИПЧ А,П D3 34 OUT 4Н DB 31 IN 31Н BE СМР М С2 76 00 JN2; PROOF FE FF С2 71 00 7А FE 03 СА0 2 14 23 13 СЗ 59 00 D3 F0 7а D3 F1 DB 31 D3 F2 CD 00 14 ЗА 0 1 14 FE 16 G2 83 00 СЗ О 2 14 АДНВС ПОСЛЕДНИЙ? M3V А,в CPI OFFH JNZ PR0G5 MOV A,D CPI 0 3 JZ BEGIN АДРВС ОЗУ А0-А7-В АККУМУЛЯТОР АДЙВС В ПРОГ. ПЗУ А8-А9 В АККУМУЛЯТОР А8-А9 В ПРОГ. ПЗУ ЧИТАТЬ ДАННЫЕ ИЗ ПРОГ.ПЗУ В АККУМУЛ. СРАВНИТЬ ДАННЫЕ В ОЗУ И В ПРОГ. ПЗУ НЕ РАВНЫ .ОШИБКА ПОСЛЕДНИЙ Ю-А7 НЕ ПОСЛЕДНИЙ ГОСЛЕДНИЙ А8-А9 ПОСЛЕДНИЙ.НАЧАТЬ НОВУЮ КОМАНД УВЕЛИЧИТЬ АдаСАОЗУИ ПРОГ. ПЗУ PR0G5 INX Н INX D JMP PROGi СРАВНЕНИЕ ПО СЛЕДУЮЩИМ АДРЕСАМ * . - БЛОК ОБРАБОТКИ О ШИБОК PHOGP imV А,а АЗ-А7 В АККУМУЛЯТОР OUT OFOH ИЭ7 A,D А8-А9 В А-ЧКУМУЛЯТОР OUT OFIH НА ДИСПЛЕЙ IN 31Н ПРИНЯТЬ ДАННЫЕ ИЗ ПРОГ.ПЗУ OUT 0Р2Н НА ДИСПЛЕЙ ЗАЦИКЛИТЬ ПРОГ. ПОКА НЕ БУЛТ НАЖАТА КЛАВИША СВ РВООб CALL КШТ LDA KWGT CPI 16Н НАЖАТА КЛАШША СЕ?7? JNZ PR0Q6 JMP: BEGIN ВЕРНУТЬСЯ И О БРАБОТАТЬ ДРУГУЮ KDHAH. УКАЗАТЬ РАЗНЕПБНИЕ ПВРЕ№ННЫХ . * 121 008Е 122 008Е 123 008Е 124 008Б 125 008Е 126 008Б 127 008Б 128 008В 129 008Е 130 008Е 131 008Б Проектирование управляющего програлшного обеспечени 265 УСТАНОВИТЬ ПЕРЕМЕНШЕ. ♦ ♦ ♦, ,♦ ,♦♦ ♦ * *♦ * KDET EQU 1400Н KWGT EQU 1401H BEGIN EQU 1402H CNTI EQU 1403H 0 ERRORS 14 SYMBOLS END ДЛЯ АССЕМВЛ Через каждые 200 шагов программирования в диапазоне адресов 0000-03FF система выполняет операцию сравнения данных, записанных в ППЗУ с исходными данными, хранящимися в ОЗУг. В случае когда вся информация, записанная в ППЗУ, совпадает с исходной информацией из ОЗУг, считается, что операция программирования была выполнена успешно. Если же данные для какого-либо адреса ППЗУ не совпадают с соответствующими данными ОЗУг, то этот адрес и данные отображаются на табло. Блок-схема описанной процедуры приведена на рнс. 9.18. Из рнс. 9.18 видно, что работа подпрограммы начинается с записи на табло числа DiDDDDDig. Это делается с целью индикации факта реализации операции программирования ППЗУ. Для того чтобы полностью запрограммировать ППЗУ, необходимо затратить более минуты, так что индикация этой операции необходима. Далее система переводит ППЗУ в режим программирования (шаг 2), что осуществляется, как известно, путем подач напряжения -1-12 В на вывод CS/WE устройства 2708. Затем реализуемся циклическое повторение шагов 3, 4, 5, б, реализующих бственно программирование устройства 2708 с помощью данных из ОЗУг. По завершении полного прохода программирования всех 1024 ячеек осуществляется проверка на выполнение 200 циклов программирования, что показано на рис. 9.18 (шаг 7). Если 200 циклов не выполнено, производится переход к шагуЗ. В противном случае осуществляется верификация запрограммированных данных, что выражается шагами 8 и 9. Несравнение данных означает наличие ошибок при программировании устройства. В этом случае на табло отображается а) адрес первой по порядку ячейки, где обнаружено несравнение и б) данные в ППЗУ, заключенные по этому адресу, что выражается шагами 10 я 12. При полном сравнении данных осуществляется индикация правильности программирования путем выдачи на табло значения FDDDDD и производится пере-
|