Космонавтика  Архитектура 3-х шинных систем 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 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

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 ПЗУ НАЧИНАЮТСЯ С ОООО .

ЗЕ DD

A.ODDH

D3 F0

OFOH

D3 Р1

OFIH

D3 F2

0F2H-

ЗЕ 00

A,00

D3 32

32 06 10

CNT1

ВЫВЕСТИ 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 ЗС

CS/WE = 12 VOLTS

D ЛО0О H

ЗАГРУЗИТЬ НАЧ.АДРЕС ПРОГ. ПЗУ

H, 1400 И

ЗАГРУЗИТЬ НАЧ. АДРЕС ОЗУ

PRG2

ДАННЫЕ ИЗ ОЗУ В АККУ;*УЛЯТОР

ВЫВЕСТИ ДАННЫЕ В ПРОГ. ПЗУ

A ,li

А0-А7 В АККУМУЛЯТОР

3 5H

А0-А7 В ПРОГ. ПЗУ

А8-А9 В АККУ1 УЛЯТ0Р

34 H

А8-А9 В ПРОГ. ПЗУ

ПРИ.иЕНИТЬ ПРОГРАММИРУЮВДЙ ИМПУЛЬС

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 У

ИНИЦИАЛИЗИРОВАТЬ АДРЕС ПРОГ. ПЗУ И ОЗУ

00 00

78 0 5

H.UOO

АДРЕС ОЗУ

PR0G4

A0-A7 В АККУМУЛЯТОР

АДРЕС В ПРОГ. ПЗУ

А8-А9 В АККУМУЛЯТОР

34 H

А8-А9 В ПРПГ. ПЗУ

ЧИТАТЬ ДАННЫЕ ИЗ ПРОГ.ПЗУ В АККУМ.



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 с помощью этого устройства, кратко осветим некоторые важные момонты, относящиеся собственно к используемому методу. Во-первых, отметим простоту технических средств устройства тестирования. Такое устройство можно построить с помощью стан-



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 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