Меню
Главная
Прикосновение космоса
Человек в космосе
Познаем вселенную
Космонавт
Из авиации в ракеты
Луноход
Первые полеты в космос
Баллистические ракеты
Тепло в космосе
Аэродром
Полёт человека
Ракеты
Кандидаты наса
Космическое будущее
Разработка двигателей
Сатурн-аполлон
Год вне земли
Старт
Подготовки космонавтов
Первые полеты в космос
Психология
Оборудование
Модель ракеты
|
Космонавтика Архитектура 3-х шинных систем 540 541 54 2 54 3 544 54 5 546 54 7 548 549 555 551 552 553 554 555 556 557 558 559 560 561 56 2 56 3 564 56 5 566 56 7 56 8 569 570 571 572 573 574 575 576 577 578 579 580 581 .582 58 3 584 58 5 586 587 588 589 590 591 592 593 594 59 5 596 597 598 599 01F1 01P2 О 1 F3 О 1F4 О 1F5 О IP7 0 1F8 О 1FA О 1FD О 1FD OIPD О IPS .0 IFF О 25 2 О 202 О 25 2 0 202 О 20 2 О 202 О 20 2 О 202 О 202 О 20 2 О 20 2 О 204 О 207 О 208 О 209 О 20В 0 20С 0 20f О 210 О 21 1 0214 О 215 0216 О 219 021A О 21D 021D 021D 021D О 21D О 21D 021D О г1Ь О 21D О 21D О 21D О 21D О 21D О 21D О 21D OZID О 21Р О 221 0 223 О 225 О 227 О 229 D1 13 D5 7В D3 7А D3 F2 СЗ Аб О 1 POP D INX D PUSH D MOV А,£ OUT 0F1H MOV A,D OUT 0F2H ВОССТАНОВИТЬ АДРКС0 3У СОХРАНИТЬ ЗНАЧЕНИИ ВЬШЕСТИ АДРЕС НА ДИСПЛЕЙ ВЫВЕСТИ АДРЕС НА ДИСПЛЕЙ JMP NRED EIIE РАЗ НАЧАТЬ ОПЕРАЦИЮ Е1 ADEX POP И D1 POP D СЗ 03 JMP BEGIN ИДТИ НА НАЧАЛО УПВАВЛЯКПЕЙ ПРОГРАМ. * ПОДПРОГРАММА ЧИСТКИ ОЗУ РИС.9.17 ЗЕ FF 21 00 14 77 Р5 ЗЕ ВС СА 14 0 2 СЗ 07 0 2 СА О 3 00 сз о 7 о 2 CLRAM CL1 LCHK MVI LXI MOV PUSH MVI CMP POP INX JMP POP CMP JZ INX JMP A,OFFH АККУМУЛЯТОР = FF H.HOOH В H,L НАЧАЛЬНЫЙ АДРЕС ОЗУ FF В ПАМЯТЬ СОХРАНИТЬ СОДЕР. АККУМУЛЯТОРА PSW А,17Н LCHK PSW ,Н BEGIN Н ПРОВЕРИТЬ СТАРШИЙ БАЙТ=ПР£Л;Л. ЗНАЧ. ДА,ИДТИ НА ПРОВЕРКУ МЛАДЦЕГО ВАЙТА ВОССТАНОВИТЬ АККУМУЛЯТОР УВЕЛИЧИТЬ АДРЕС ОЗУ ОБРАБОТАТЬ СЛЕДУЮ11ИЙ АДРЕС ВОССТАНОВИТЬ АККУМУЛЯТОР ПРОВЕРИТЬ:ШАДШИЙ БАЙТ = РР КОНЕЦ ЭТОЙ ПОДПРОГРАММЫ УВЕЛИЧИТЬ АДРЕС ОЭУ повторить .ЗАНОВО С ДРУГИМ АДРЕСОМ * ПОДПРОГРАММА РЕАЛИЗАЦИИ КОМАНДЫ PROG ЭТА ПРОГРАММА СЛУЖИТ ДЛЯ УПРАВЛЕНИЯ FEPjiПРОГ.ПЗУ. ИНФОРМАЦИЯ О ЗУ ХРАНИТСЯ НАЧИНАЯ С ЯЧЕЙКИ UOOH. АДРЕСА ПЕРЕПРОГРАММИРУЕ(Г0 ПЗУ НАЧИНАЮТСЯ С ОООО .
ВЫВЕСТИ HA ДИСПЛЕЙ DDDDDD РАЗРЕШИТЬ ЩРЕДАЧУ ДАННЫХ В ПРОГ.ПЗУ ОБНУЛИТЬ СЧЁТЧИК ЦИКЛОВ 600 601 . 602 6-13 604 605 606 607 IfiOe 609 610 611 612 613 614 615 616 617 618 619 6 20 621 622 623 6 24 6 25 6 26 6 27 6 28 6 29 6 30 631 632 633 6 34 635 636 637 6 38 6 39 640 641 642 643 644 645 646 647 648 649 6 50, 651 652 6 53 6 54 655 6 56 6 57 6 58 6 59 оггс ЗС о 2?D,D.334 >0 22F , с 22F 1 Г 00 00 >.232 21 00 14 023,5 0 235 7£ D3 7В D3 7А D3 33 34 С 236 О 238 0 239 О 23В О 23C 023Е 0 23Е О гзЕ о 23Е 0 6 0 8 О 240 ЗЕ О 5 0 24 2 D3 35 0 244 0 5 0 245 сг 44 0 2 0248 ЗЕ О 1 О 24А D3 3 5 О 24 С О 24C О 24С О 24 С 0 24D 0 24F С2 О 252 7А О 253 0 255 О 258 0 259 0 25А О 25D О 25D 0 25D 025D ЗА 06 О 260 ЗС
ПРИ.иЕНИТЬ ПРОГРАММИРУЮВДЙ ИМПУЛЬС MVI MVI OUT PULSE DCR JNZ MVI OUT B,08 A,03 35H В PULSE A,0 1 35H ВКЛЮЧИТЬ CS/WE и ПРОГ. ИМПУЛЬС ШИРИНА ИМПУЛЬСА выключить ПРОГ. и.даульс ПОСЛЕДНИЙ АДРЕС ПРОГРАММИРОВАЛСЯ? 7В FB 58 О 2 FE 0 3 СА 5D О 2 23 13 СЗ 35 0 2 paOGi MOV А,Е CPI OFFH JNZ PROGl WIV A,D CPI 0 3 JZ LOPC ItlX H INX D JMP PR0G2 ПОСЛЕДНИЙ ВАЙТ A0-A7 ПОСЛЕДНИЙ БАЙТ А8-А9 ПОСЛЕДНИЙ АДРЕССДА) УВЕЛИЧИТЬ АДРЕСА О ЗУ И npOi ОБРАБОТАТЬ СЛЕДУЮПМЙ АДРЕС О 261 О 264 О 266 О 26 9 О 26 9 0 269 0 269 0 2ба О 26D 0 26Е 0 270 О 270 О 270 О 270 О 273 О 276 0 276 О 27 7 О 279 п 27А 10 10 ПОСЛЕДНИЙ РАЗ О ВРАБАТЫВАЛИСЬ ВСЕ 10 24 АДРЕСА? LOPC LDA CNTl ЗАГРУЗИТЬ СЧЕТЧИК 32 Об FE С8 С2 2F О 2 ЗЕ 01 D3 32 D3 35- LDA CNTl INR А STA CNTl CPI 210 JNZ PR0G3 200 ЦИКЛОВ?? HE 200 ЦИКЛОВ,ПОВТОРНЫЙ СТАРТ ПРОГРАММИРОВАНИЕ ОКОНЧЕНО .ШПЕР Ь ПРОВЕРИТЬ ЗАПРЕТИТЬ ПЕРЕДАЧУ ДАННЫХ В ПР.ПЗУ MVI А,01 OUT згн DCR А OUT 35H АККУМУЛЯТОР=0 CS/WE =0.0 У ИНИЦИАЛИЗИРОВАТЬ АДРЕС ПРОГ. ПЗУ И ОЗУ
0 27E О 27F О 282 О 282 0 282 0 282 0 282 О 282 0 283 О 28 5 О 288 О 289 О 28В О 2ав О 28£ О 28£ О 282 0 28F О 290 0 293 О 29 3 О 29 3 О 293 О 294 0 296 0 297 О 299 0 29B О 29D 0 29D 029D О 29D О 2A0 0 2A3 О 2S5 0 2АВ 0 2AB О 2AB 0 2АВ О 2AB О 2АВ О 2AB О 2АВ О 2АВ О 2AB 0 2АВ 0 2АВ О ЗАВ С 2AC О 2AD О 2AF О 2В0 О гвг 0 234 о 2В6 о гв9 о гвс о 2ВС о 2ВС о 2ВС С2 93 о 2 Р£ FF сг 8S о 2 FE 0 3 СА о 3 00 23 13 СЗ 76 02 СИР и JNZ PROOF СРАВНИТЬ ДАННЫЕ ВОЗУ И ПРОГ.ПЗУ НЕ РАВНЫ,01Ш6КА АДРЕС ПОСЛЕДНИЙ MOV А,£ CPI OFFH JNZ PR0G5 ЮУ A,D CPI О 3 JZ BEGIN - ПОСЛЕДНИЙ AO-A77 HE ПОСЛЕДНИЙ Л A Q - 7B D3 7A D3 Fl DB 31 D3 F2 ПОСЧЕДНИИ A8-A9 ПОСЛЕДНИЙ.НАЧАТЬ НОВУЮ КОМАНДУ УВЕЛИЧИТЬ АДРЕСА ОЗУ И ПРОГ.ПЗУ PR0G5 INX Н INX D JMP PR0G4 СРАВНЕНИЕ ПО СЛЁДУЮИЯМ АДРЕСАМ БЛОК ОБРАБОТКИ ОШИБОК А0-А7 В АККУМУЛЯТОР PROGF MOV А,Е OUT OFOH MOV A,D OUT OFIH IN 31H OUT 0F2H A8-A9 В АККУМУЛЯТОР НА ДИСПЛЕЙ ПРИНЯТЬ ДАННЫЕ ИЭ ПРОГ. ПЗУ НА ДИСПЛЕЙ ЗАЦИКЛИТЬ ПРОГ.ПОКА НЕ БУДЕТ НАЖАТА КЛАВИША CF CD 64 00 >А О 2 Ю РЕ 16 сг 9D02 СЗ 03 00 CALL KDET LDA KWGHT CPI 16H JNZ PR0G6 JMP BEGIN НАЖАТА КЛАВИША CF7? ШРНУТЬСЯ И О БРАБОТАТЬ ДРУГУЮ КОМАН. НА РИС.9. 21 ПОКАЗАНА ПРОГРАММА VFX ,БЛОК-СХЕМА КОТОРОЙ ИЗОБРАЖЕНА НА РИС.9.20 УСТАНОВИТЬ РЕЖИМ ЧТЕНИЙ ИЗ ПРОГ.ПЗУ AF ЗС D3 32 AF D3 35 ЕЗ 33 D3 34 1 I 00 00 21 00 14 ХЙА А INR А OUT 3 2Н XRA А OUT 35Н OUT ЗЗН сит 34Н ОБЕСПЕЧИТЬ РЕШИ ЧТЕНИЯ CS=0.0 V,PGM=0.0V Affi>iiC А0-А7=0 АДРЕС А8-А90 LXI В.ОООО УСТАНОВИТЬ АДРЕС ПРОГ.ПЗУ LXI H.UOOH УСТАНОВИТЬ АДРЕС ОЗУ НАЧАТЬ ЦИКЛ ЧТНЛЯ И ПРОВЕРНИ DB 31 VfXl IN 3IH ЧИТАТЬ ДАННЫЕ ИЗ ПРОГ.ПЗУ 720 огш 721 огвУ 722 огсг 723 02С4 724 02С5 725 02С8 726 огсА 727 02С8 728 02СБ 729 02D1 730 02D2 731 02D3 732 02D5 733 0206 734 0208 735 0209 736 02DC 737 огив 738 02DF 739 02E1 740 02E2 741 02B4 742 02В7 743 02SA 744 02SC 745 02EF 746 02F2 747 02F2 748 02F2 749 02F2 750 02F2 751 02F2 752 02F2 753 02F2 754 02F2 755 02F2 756 02F2 757 02F2 758 02F2 759 02F2 760 02F3 761 01F4 762 02F6 763 02F7 764 02F9 765 02FC 766 02FF 767 0300 768 0302 769 0303 770 0305 771 0307 772 0308 773 030A 774 030B 775 030B 776 0310 777 0311 778 0314 779 0315 CZ DC 02 3B 13 BA C2 DI 02 3E FF 6B C2 DI 02 C3 03 00 13 7A D3 34 03 33 23 C3 BO 02 D3 FO 7B 03 Fl 7A 03 F2 CO 64 00 VOUT ЗА 02 10 FE 16 OA 03 OH C2 Б4 02 VNEX VFAUr CALL VFALL A,13H VHEX A,OFFH VNEX BEGIN A,D 34H A.E 33H H VIY1 OFOH OPlH 0F2H KDET KWGHT BEGIN VOUT СРАШИТЬ ДАНШЕ ОЗУ И ПРОГ. ПЗУ ЕСЛИ НЕ РАВШ,ТО НА VFALL ПРОВЕРИТЬ СТАРШИЙ БАЙТ,ПОСЛЕД. АДРЕС НЕ ПОСЛЕДНИЙ,ПРИНЯТЬ СЛЕДУЮЩИЙ АДРЕС ПРОВЕРИТЬ МЛАДШИЙ БАЙТ,ПОСЛЕД. АДРЕС НЕ ПОСЛЕДНИЙ,ПРИНЯТЬ СЛЕДЭТОЩЙ АДРЕС НАЗАД К ОСНОВЮЙ ПРОГРАММЕ ЮНЫЙ АДРЕС ПРОГ. ПЗУ НЫДАТЬ ДАНШЕ ВЫДАТЬ ДАНШЕ НОШЙ АДРЕС ОЗУ СРАВНИТЬ СЛЕДУЮЩИЕ ДАНШЕ ВЫДАТЬ НА ДИСШЕЙ---ХХ ВЫВОД АДРЕСА НА ДИСПЛЕЙ ЖДАТЬ НАЖАТИЯ КЛАВИШИ НАЖАТА КЛАЕША СЕ? тТЛ НА ОЖИДАНИЕ НАЖАТИЯ КЛАШШ НА РИС.9.23 ПОКАЗАНА ПРОГРАММА COPY,БЛОК-СХЕМА КОТОРОЙ ИЗОБРАЖЕНА НА РИС.9.22 > > > к * * *!** ! ♦ * ------ - * РЕЖИМ ЧТЕНИЯ ШФОЙШадИ из ПРОГ. ПЗУ AF ЗС 03 32 AF 03 35 11 00 21 00 7В 03 33 7А 03 34 DB 31 77 ЗЕ 13 сг 14 ЗЕ FF ВВ СА 03 00 14 СОРТ XRA INE OUT XRA OUT LXI LXI COPYl MOV OUT MOV OUT IN MOV MVI CMP JNZ MVI CMP JZ INX INX CNEX 32H A D,0000 H,1400H A,13H CNEX A,OFFH E BEGIN 780 0316 CJ 02 781 0519 7B2 (19 JKP 00РГ1 SSD 60 STHBOIS АККУМУЛЯТОР ! cs=o.ov,paM=o.ov АДРЕС ПРОГ. ПЭУ=0 УСТАНОВИТЬ АДРЕС ОЗУ АДРЕС А0-А7 АДРЕС А8-А9 ЧИТАТЬ ИНФОРМАЦИЮ ИЗ ПРОГ. ПЗУ ВЫВЕСТИ ИНФОШАЦИЮ В ПЗУ ПРОВЕРКА НА ПОСЛЕДНИЙ АДРЕС ЕСЛИ АДРЕС НЕ ПОСЛЕДНИЙ,ТО НА CNEX МЛАДШИЙ БАЙТ ГОСЛЕДНЕГО АДРЕСА ЕСЛИ АДРЕС ПОСЛЕДНИЙ,ТО КОНЕЦ СЛЕДУЮЩИЙ. АДРЕС ОЗУ СЛЕДУЮЩИЙ АДРЕС ПРОГ. ПЗУ ПРИНЯТЬ СЛЕДШЩ ,рЩЫЕ ПРЕШДОЖЕНИЕШ) АССИБЛЕРА 662 663 66* 665 666 667 668 669 6 70 671 672 673 674 675 6 76 677 678 679 680 681 682 683 684 685 6 86 687 688 689 6 90 691 692 693 694 695 6 96 697 698 699 700 701 . 702 703 704 705 706 707 706 709 710 71 I 712 713 714 715 716 717 718 719 Глава 9 совпадают для всех адресов, производится возврат в основную программу (шаг 7). На ррс. 9.21 приведена реализация функции верификации средствами символического языка микропроцессора 8085. 9.9. Программные средства реализации функции копирования Последней функцией, которую мы рассмотрим, является функция копирования. Осуществляющая электрическое копирование данных из ППЗУ в ячейки ОЗУг. Эта функция используется для размножения уже существующего ППЗУ. Блок-схема реализации фулкции приведена на рис. 9.22. Из этой схемы видно, что на шаге2 производится чтение данных из ППЗУ, а на шаге 3 -их запись в ОЗУ. Подобные действия повторяются для всего диапазона адресов ОООО-OSFFie. На рис. 9.23 приведена реализация функции копирования средствами символического языка микропроцессора 8085. 9.10. Выводы по программным средствам В настоящей главе были рассмотрены все основные аспекты проектирования и написания программ для системы, управляемой с помощью микропроцессора. С целью более подробного изложения частных вопросов был рассмотрен конкретный пример. При этом были раскрыты общие вопросы, характерные для различных задач. Для большей наглядности использовался аппарат блок-схем, а необходимая полнота изложения достигалась с ПОМОЩЬЮ примеров программной реализации приведенных блок-схем. В главе был последовательно изложен процесс создания программного обеспечения системы. При этом правильный выбор отправной точки гарантирует успех. В главе заострялось внимание на тех важных вопросах, решение которых необходимо осуществить до начала разработки программного обеспечения. Правильное понимание рассмотренной задачи будет способствовать правильному использованию других микропроцессоров для решения конкретных задач. На рис. 9.24 приведена полная программа управления системой для микропроцессора 8085. Глава 10 ОТЛАДКА ТЕХНИЧЕСКИХ СРЕДСТВ СИСТЕМЫ В настоящей главе будут рассмотрены различные концепции поиска неисправностей и отладки системы, управляемой микропроцессором на примере устройства программирования ППЗУ, описанного в гл. 8 и 9. При этом используется техника поиска неисправностей, аналогичная той, которая обсуждалась в гл. 5. Будет подробно показано, каким образом можно проверить функционирование технических средств конкретной системы. Еще раз будут рассмотрены вопросы отладки технических средств системы с использованием метода, известного под названием тестирования посредством статических сигналов. Этот эффективный и сравнительно экономичный метод предполагает единый прямой подход к проблеме поиска неисправностей в аппаратуре. Вследствие простоты и некоторых других преимуществ метода по сравнению с динамическим тестированием при решении большинства задач поиска неисправностей рассмотрим еще раз общие принципы и применение тестирования-посредством статически)? сигналов. 10.1. Тестирование посредством статических сигаалов В, гл. 5 были освещены общие принципы тестирования посредством статических сигналов, а собственно метод использовался пои изложении вопросов отладки технических средств исходной сщ;темы. В настоящей главе этот метод применяется при отладке аппаратуры устройства программирования ППЗУ. Еще до установки микропроцессора в системе использование данного метода позволяет убедиться, что память и все схемы ввода-вывода функционируют правильно. На рис. 1(0.1 приведена схема используемого устройства тестирования посредством статических сигналов. Прежде чем перейти к подробному изложению вопросов отладки системы 8085 с помощью этого устройства, кратко осветим некоторые важные момонты, относящиеся собственно к используемому методу. Во-первых, отметим простоту технических средств устройства тестирования. Такое устройство можно построить с помощью стан-
|