Меню
Главная
Прикосновение космоса
Человек в космосе
Познаем вселенную
Космонавт
Из авиации в ракеты
Луноход
Первые полеты в космос
Баллистические ракеты
Тепло в космосе
Аэродром
Полёт человека
Ракеты
Кандидаты наса
Космическое будущее
Разработка двигателей
Сатурн-аполлон
Год вне земли
Старт
Подготовки космонавтов
Первые полеты в космос
Психология
Оборудование
Модель ракеты
|
Космонавтика Архитектура 3-х шинных систем Глава 9 дача управления в начало головной программы, что показано на рис. 9.18 (шаг 11). На рис. 9.19 приведена програймная реализация блок-схемы рис. 9.18 средствами символического языка микропроцессора 8085. 9.8. Программные средства реализации функции верификации Перейдем к рассмотрению функции верификации, заключающейся в сравнении данных ППЗУ с данными из ОЗУг. В слу- Проектирование управляющего программного обеспечения Начад t Установка адреса ППЗУ = О, установка адреса 03У= О Данные ППЗУ\.Нет анные ОЗУ2 Увеличение на 1 адреса ППЗУ и ОЗУ- Отображение ад- реса и данных Ожидание иажа -тия ключа сброса Возврат в главную управляющую прогамму Рис. 9.20. Блок-схема работы системы при реализации функции верификацнн. чае несовпадения какого-либо элемента данных на табло отображается адрес этого элемента и соответствующие данные. Рассматриваемая функция особенно необходима в том случае, когда существует сомнение в правильном программировании ППЗУ. Она используется также для правильности затирания информации в ППЗУ. С этой целью вначале производится сти-]рание ОЗУг и затем - проверка правильности стирания ППЗУ <с помощью ключа верификации. Блок-схема реализации функции верификации приведена на рис. 9.20, по которой видно, что вначале система устанавливает значение 0000 для адреса сравнения (шаг 1), Далее осущест- 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 21 21 22 23 24 25 26 27 28 29 30 31 32 33 3* 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 33 51 52 0000 0000 оооо 0000 оооо оооо оооо оооо оооо оооо 0001 000 2 000 4 ООО 5 000 7 сое 9 ОООВ ОООВ ООН 001 1 00 1 1 00 11 00 13 00 14 00 17 00 19 00 1А 00 ID 001Р 0020 00 23 00 26 00 27 00 28 00 2А 00 2В 002В 00 гв 00 31 ООЗЗ 00 34 00 36 00 37 00 39 ООЗС ООЗС ООЗС ООЗО ООЗС 00 3D ♦ - * ♦♦ ♦ ♦ * НА РИС. 9.21 ПОКАЗАНА ПРОГРАММА ,Ш10К-СХЕМА которой ИЗОБРАЖЕНА НА РИС. 9.25. ПРОГРАМЖСТ ДЖИМ КОФФРОН ж * <- ORG ОООО УКАЗАТЬ АССЕМБЛЕРУ НАЧАЛО ИРОГ. ♦ УСТАНОВИТЬ РЕЖИМ ЧТЕНИЯ ИЗ ПРОГ.ПЗУ AF ЗС D3 32 AF D3 35 D3 33 D3 34 11 00 00 21 со VFtl XRA INR OUT XRA OUT OUT OUT LXI LXI 32H A DDOOO H,1400U 0 ВЕСПЕЧИХЬ РЕЖИМ ЧЕНИЯ CS*0.0V,PGM=0.0V АДРЕС Ю-А70 АЖ-ЕС Ае-А90 УСТАНОВИТЬ АДРЕС ПРОГ.ПЗУ УСТАНОВИТЬ Ада С ОЗУ НАЧАТЬ дам ЧЗВНИЯ и ПРОВЕРКИ DB Ht С2 31 00 ЗЕ 13 ВА С2 26 00 ЗЕ FF ВВ сг 26 00 С 3 ЗС 00 13 7А D3 34 7В ГЗ 33 23 СЗ 11 оО D3 F0 7В D3 Р1 7 D3 Р2 СЗ 39 00 Wni VNEX VFAIL IN СМР JNZ MVI СМР JNZ MVI CMP JNZ JMP INX. MOV OUT MOV OUT INX JMP OUT MOV OUT MOV OUT JMP 31H H VFAIL A,13H D VNEX A,OFFH E VNEX START D A,D 34H A,E 33H H WY1 OFOH A,E 0F1H A,D 0F2H VOUT ЧИТАТЬ ДАННЫЕ ЙЭ ПРОГ. ПЗУ СРАВНИТЬ ДАННЫЕ ОЗУ И ПРОГ. ЕСЛИ на РАВНЫ,го НА VFAIL ПРОВЕРИТЬ СТАРШИЙ ВАЙТ,ПОСЛЕД. АДРВС НЕ ПОСЛЕДНИЙ,ПРИНЯТЬ СЛЕДУЮЩИЙ АДРЕС ПРОВЕРИТЬ МЛАДШЙ ВАЙТ,ПОСЛЕДНИЙ АДРЕС НЕ ПОСЛЕДНИЙ,ПРИНЯТЬ СЛЕДУЮИИЙ АДРЕС НАЗАД Н О СНОВГО Й ПРОГРАМШ НОВЫЙ АДРЕС ПРОГ. ПЗУ ВЫДАТЬ ДАННЫЕ ВЫДАТЬ ДАННЫЕ НОВЫЙ АДРЕС ОЗУ СРАВНИТЬ СЛЕДУЮПИЕ ДАННЫЕ ВЫДАТЬ НА ДИСПЛЕЙ----XX ВЫВОД АДРЕСА НА ДИСПЛЕЙ ЖДАТЬ ПРЕРЫВАНИЯ ШПЕРЬ ВВЕдаМ ФИКТИВНУЮ ПЕРЕМЕННУЮ 00 START NOP gj, АССЕМБЛЕРА О E3BDRS 6 SYMBOLS Рис. 9.21. Реализация блок-схв4<1ы рис. 9.20 в кодах символического языка микропроцессора 8085. вляется сравнение данных по адресу О из ОЗУг с данными по адресу О ППЗУ. Если эти данные не сравниваются, на табло выводятся адрес данных и собственно данные, что показано на схеме (шаги 3 и 4). При сравнении данных производится увеличение на 1 адреса (шаг 6). При последовательном увеличении адреса осуществляется сравнение данных по каждому адресу. В случае когда данные Начало Установка адреса ПГОУ = О, установка адреса ОЗУ = О Чтение данных ППЗУ Запись данных нз ППЗУ в ОЗУ П ослед ний\Нет адрес
Увеличение иа I адреса ППЗУ и ОЗУ Рис. 9.22. Блок-схема работы системы при реализации функции копирования. 2 3 А 0000 0000 0000 0000 0000 6 0000 7 0000 8 0000 9 ООО 10 ОООС 11 0000 12 0000 13 0000 14 0000 15 ООО! 16 0002 17 0004 18 0005 19 0007 20 ОООА 21 000D 22 ОООЕ 23 0010 24 0011 25 0013 26 0015 27 0016 26 0018 29 0019 30 001 с 31 001F 32 001F 33 0022 34 0023 35 0024 36 0027 37 0027 38 0027 39 0027 40 0О28 AF ЗС D3 32 D3 35 11 00 21 00 7В d3 33 7А ВЗ 34 DB 31 77 ЗЕ 13 ВА С2 22 ЗБ FF ВВ СА 27 СЗ 0D на рис.9.23 показана программа сокс,блок-схема которой изображена на рис.9.22 програшиот дким коффрон * ♦ * ♦ * око ооон .* режим чтения инФойшога иа прог. пзу сорт 00 14 XRA INH OUT ХЕА OUT LXI LXI С0РУ1 MOV OUT MOV OUT IN MOV MVI CMP JNZ MVI CMP JZ INX INX JMF CNEX 32h A 35H D.OOOO H.uooH A,13H CNEX A,OFFH E START C0PY1 АККУМУЛЯТ0Р=1 cs=O.OV PGM=0.0v АДРЕС ПРОГ. ПЗУ=0 УСТАНОВИТЬ АДРЕС ОЗУ АДРЕС а0-а7 АДРЕС а8-а9 ЧИТАТЬ ИНФОРМАЦИЮ ИЗ ПРОГ. ПЗУ ШВЕСТИ ИНФОМ-ЦИО В ПЗУ ПРОВЕРКА НА ПОСЛЕДНИЙ АДРЕС ЕСЛИ АДРЕС не П0СЛБ.;диЙ,10 НА СИЕХ МЛАШаИЙ БАЙТ П0СЛЕДНВ1 Э АДРЕСА ЕСЛИ АДРЕС ПОСЛЕДНИЙ,ТО КОНЕЦ СЛЕДУПЦИЙ АДРЕС ОЗУ СЛЕДУЮЩИЙ АДРЕС ПЗУ ПРИНЯТЬ СЛЕДУЮЩИЕ ДАНШЕ ♦ теперь введи! фиктивную переменную START NOP END 1 2 3 4 5 8 9 Ю 11 12 13 14 15 16 17 18 19 Z) 21 22 23 24 25 26 27 2S 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 000 3 000 4 ООО 5 ООО 7 000 9 ОООВ ОООЕ 00 11 00 14 О017 0018 001В 001В 001В 0О1В 00 IB 001В 00 IB 001В 00 IB 00 IB 00 1В 00 IB 001В 001В 001В 001В 00 IB 00 IB 00 IB 00 IE 00 IB 00 21, 00 23 00 26 00 29 00 2C 00 2C 00 2C 00 2d 00 20 00 2F 00 31 0032 0033 00 34 00 34 УПРАВЛЕНИЕ ПРОГРАМШПЮВАНИВМ ПРОГ. ПЗУ ♦ ♦ прогрАмшст даим коффрон
3KFF 13 ЕЗ F0 D3 F1 D3 F2 32 00 32 О 1 32 0 2 32 0 3 ЗС 32 04 10 10 10 10 ORG 00 УСТАНОВИТЬ НАЧАЛЬНЫЙ АДРЕС ЗАДАТЬ НАЧАЛЫШ ЗНАЧЕНИЯ ДЛЯ ВОаХ ГЕЕВвННЫХ # LXI SP,13FFH НАЧ. ЗНАЧЕНИЕ УКАЗАТЕЛЯ СТЕКА BEGIN XRA А НАЧ. ЗНАЧЕНИЯ ФЛАЖКОВ .ОБНУЛИТЬ АККУМ, EI РАЗРЕШИТЬ ПРЕРЫВАНИЯ OUT OFOH НОЛЬ НА ДИСПЛЕЙ OUT 0F1H OUT 0F2H ВЫДАТЬ НА ДИСПЛЕЙ ОООООО STA КТ1МЁ КТ1МЕ=0 STA CFUG CFLAG=0 STA KWGHT KWGHT=0 STA KCOMP KCOMP=0 INH A АККУМУЛЯТОР=1 STA KTOW KaOWOOOOOOJ УСТАНОВИТЬ АДРЕСА ПЕРВШННЫХ щ- KTIME EQU 1000 Н CFLAG EQU кт1ш + 1 KWGHT EQU CFLAG+1 KCOMP EQU KWGHT+1 KROW BQU KCOMP+1 NROW EQU KBOW+I ClfTl EQU NB0*+1 AINl EQU CNT1+1 AINZ EQU AIS1+1 AIN3 EQU AIN2+1 AIN4 EQU AIN3+1 НАЧАЛО 0егоВНОЙ ПРОГ. ОБРАБОТКИ ВВОДА КОМАНД CD 64 00 ЗА02 Ю FE 16 СА 20 00 DA 2С 00 СЗОЗ 00 CALL KDET LDA KWGHT CPI 16H JZ BEGN1 JC BEGN1 JMP ffiQIN ЖДАТЬ НАЖАТИЯ. КЛАВИШИ ВЫЧИСЛИТЬ ЗНАЧЕНИЕ КЛАВИШИ КЛАШША ВВОДА КОМАНДЫ??? ЕСЛИ ПЕРЕХОДЫ СРАБОТАЛИjTO КОМ. ПРАВ. . ИГНОРИГО ВАТЬ ВВОД ЗАО г D6 Ю 47 87 ю О 1 00 00 ВЫЧИСЛИТЬ АДРЕС ПЕРЕХОДА * РИС. 9.13 BEQN1 LDA SUI ITV ADD ADD KWOHT АККУМУЛЯТОР =KWaHT-16 АккумУлятор г АККУМУЛЯТ0Р 3 LXI В,00 Рнс. 9.24. Полная программа для микропроцессора 8085, реализующая все операции системы. ПРЕДЛОХБНИБ END 4ССБивЛЕрА О EBBOBS 4 STHBOLS -6 2 63 65 66 67 -68 69 Т) 71 72 73 7* 75 76 77 78 79 ю 81 82 83 84-85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 10 г 10 2 ЮЗ 10 4 10 5 Ю6 то 7 10 8 Ю9 1Ю 111 112 113 114 115 116 117 118 119 ЗПОО 58 00 5В00 44 0 1 0037 4Р 0038 21 ООЗВ09 ООЗС £9 003D 003D 00 3D ООЗО 003D 03 00 40 сз 0043 СЗ 00 46 СЗ 0 2 02 0049 СЗ 1D02 004С СЗ АВ 02 00 4Р СЗ F2 0 2 00 52 СЗ 5В 00 00 55 СЗ 61 00 00 58 00 58 00 58 00 58 00 58 00 58 СЗ 03 00 00 5В СЗ 0 3 00 00 5В СЗ 0 3 00 0061 СЭПЗ 00 0064 ООб4 .0064 0064 0064 -0064 0064 CD ZPOI 006 7 CD IP 0 1 00 6 A ЗА 01 Ю 00 6Г)-РВ 00 006 F СА 64 00 00 72 CD F5 00 0075 00 75 00 75 00 75 00 75 00 75 0075 00 75 0075 00 75 ЗА 00 10 00 78 00 78 00 78 00 78 00 78 PS 00 007А СА Э? 00 00 7D 00 7D 006D 00 7D 007Е 00 ТВ ЗА о 2 Ю ШУ с,А ВЫЧИСЛЕННОЕ С1е1!ЕДИВ в тгистр с LXI Н,TABLE ЗАГРУЗИТЬ БАЗОВЫЙ АДРЕС ТАБЛИЦЫ DAD В ПРИБАВИТЬ CJEIdSHHE К БАЗОЮ МУ АДРЕСУ PCHL ИДТИ К ВЫЧИСЛЕННОМУ АДРЕСУ ТАБЛИЦЫ XABLE jmp jmp jmp jmp jmp jmp jmp jmp jmp ТАБЛИЦА для АДЕЁСОВ ПЕРЕХОДОВ ENTER CENTY ADDSE CLRAM PROO copy КОНЕЦ ТАБЛИЦЫЕЯТНТС ******* КОМАНДЫ ENTRY,CENXRY,NAl ,NA2 ENTEll jmp begin centy jmp begin SA1 jmp begin NA2 jmp begin ****** * НАЧАЛО рис. 4.20 kdet call orow call colm lda cflag cpi оон JZ kdet call keyw КНЕЦ РИС. 4.20 НАЧАЛО РИС.4.21 ****** выли НАЖАТЫ КЛАВИШИ LDA KTI.MS CPI ООН jz- KCL01 *** НЕ ПЕРВЫЙ РАЗ * LDA KWGHT вышсти актишый набор вызвать годпрограмму colm .к неовходию проверить флажок столбца-проверить активность столбца не активный столбец,повторить цикл активный столбец,какой именно??? ЛЕРЕЗАГРУЗИЙ КтШ ИЗ ПАМЯ1М KTIMS=0?? ДА,ЭТО ПЕРВЫЙ РАЗ КАКАЯ ЦИФРА БЫЛА НАВРАНА77? 4 28 ООЮ 0081 00 84 0085 00 88 0088 00 88 00 88 00 89 00 ВС ООВР ООВР 00 8Р 00 8F 0092 00 93 00 96 00 96 0096 00 96 00 98 009В 00 9Е 009F 009F 00 9Р 00 9Р 0ОА2 00 А5 00 А5 00Ж5 00 А5 00 А7 ООАА ООАА ООАА ООАА ООАС 00 АР ООАР ООА? ООАР 00 В2 00 В2 0ОВ2 0ОВ2 00 В2 00 В2 00 82 00В2 00В2 00 В2 0ОВ2 0ОВ2 0ОВ2 00 В2 00 В2 00В2 00В2 00 В4 ЗАОЗ Ю В9 СА В? 00 32 00 10 СЗ АА 00 ЮУ с, А LEA КСОМР СМР С j2 ксюг ЧШАГ 8) XRA А STA КТ1ИЁ JMP KCL03 * (ШАГ 9) ЗА 00 10 KCL02 LDA KTIMB ЗС INR А 32 00 Ю 5ТА KTIME * ♦ (ШАГ Ю) FE 32 CPI 33 С2 ААОО jnz KCL03 CD Вг 00 CALL KOPN С9 RET ** **(llUir 3) ЗА О 2 Ю КОШ 1 LDA KWGHT 32 03 Ю STA КСОМР ♦ (ШАГ 4) ♦ Ж 01 MVI А,01 32 00 Ю STA KTIMB ---- . - (ШАГ 5) * ЗЕ0 1 КСЮЗ MVI А,01 32 04 Ю STA KROW (ШАГ 6) СЗ 64 00 JTMP KDET НВГИСТР C=KWQHT РЕГИСТР А=КСОМР KC0MP=KWQHT7? ДА/)НИ РАВНЫ!!!!!! ОНИ НЕ РАВНЫ ПЕРЕЗАПИСАТЬ KTIME ИДТИ НА ШРЕЗАГРУЗКУ АКТИВ. НАБОР ВЫЗВАТЬ KTIMB из ПАМЯТИ КТ1МВ=КТ1МВ+1 КТ11в=КТ1МВ+! КТ1Шг-=507? НЕ 50 ПРОВЕРИТЬ ГОТОВНОСТЬ ПУЛЬТА КОНЕЦ ЭТОЙ ПОДПРОГРАММЫ ксомр= kwght УСТАНОВИТЬ КТ1МЕ=1 УСТАНОВИТЬ АКТИВНЫЙ НАБ0Р=О0000001 идти к НАЧАЛУ ПРОГРАММЫ ЗБ 01 32 04 Ю * к <( * * НАЧАЛО 1ЮД1№0ГРАМНЫ * * к РИС.4. 22 ПРОГРАММА ПОДГОТОВКИ ПУЛЬТА ооо >>*** * >* * **>>> > (ШАГ \) KOPN MVI А,01 STA KHOW KROWOOOOOOO1
|