Меню
Главная
Прикосновение космоса
Человек в космосе
Познаем вселенную
Космонавт
Из авиации в ракеты
Луноход
Первые полеты в космос
Баллистические ракеты
Тепло в космосе
Аэродром
Полёт человека
Ракеты
Кандидаты наса
Космическое будущее
Разработка двигателей
Сатурн-аполлон
Год вне земли
Старт
Подготовки космонавтов
Первые полеты в космос
Психология
Оборудование
Модель ракеты
|
Космонавтика Архитектура 3-х шинных систем р ц. 1й -- § о ее о. га а. рация тракта, по которому должна обновляться или записываться цифра. Ниже в этой главе будут рассмотрены вопросы программного управления цифровым индикатором. Выходы устройства 74LS42 вывод 2 вывод 3 Коды адреса вывод 1 о 1 1 Рис. 4.9. Логические значения сигналов на выводах схемы 74LS42, показанной на рис. 4.8, соответствующие различным кодам адреса. 4.7. Программное управление клавишным пультом В оставшейся части этой главы рассмотрим программное обеспечение для управления работой клавишного пульта. Из клавишного пульта будет поступать информация о замыкании ключа, которая однозначно соответствует позиции замкнутого ключа и должна быть зарегистрирована. Обсудим испоЛьзуемые на практике экономичные методы разработки и отладки программного обеспечения. Наконец, рассмотрим программное обеспечение, необходимое для функционирования системы, базирующейся на одном из четырех типов микропроцессоров, представленных в этой книге, а именно 8080, 8085, Z80 и 6800. Системы, основанные на микропроцессорах 8080 и 8085, могут иметь идентичное программное обеспечение. Оно же может использоваться и для систем, основанных на микропроцессоре Z80. Однако мы не приведем здесь программ, написанных с использованием мнемоник микропроцессора Z80. Более важно уметь понимать суть взаимодействия рассматриваемых программных и аппаратных средств микропроцессорных систем управления. Программные средства будем разрабатывать небольшими частями, соответствующими отдельным функциям управления. Потом эти части объединим в функциональную программу программного обеспечения. По сравнению с попыткой представить задачи в виде одной функции этот подход позволяет легче решить общую задачу проектирования программных средств. Причем программное обеспечение в этом случае удобнее отлаживать. 4.8. Программный метод формирования сигналов на входах матрицы клавишного пульта Рассмотрим, программные средства, необходимые для управления аппаратными средствами, выполняющими установку по способу взаимного исключения на входных линиях клавишного пульта уровня, соответствующего логическому 0. Напомним, что только одна входная линия клавишного пульта в лбой момент времени может находиться в состоянии логического (к Сначала рассмотрим блок-схему, определяющую поря;10к выполнения указанных действий. Затем представим программное обеспечение, реализующее эту блок-схему, для микропроцессоров 8080, 8085, Z80 и 6800. Отметим еще раз, что микропроцессоры 8080, 8085 и Z80 могут выполнять программы, разработанные для микропроцессора 8080. Поэтому будем представлять программное обеспечение только в мнемониках микропроцессоров 8080 и 6800. Микропроцессор Z80 может выполнять программы, разработанные для микропроцессора 8080, однако набор команд микропроцессора Z80 Шире, чем у микропроцессора 8080. Микропроцессор Z80 имеет свой собственный набор мнемоник. Читателю должно быть пoняfнo, что структура программного обеспечения для разных микропроцессоров может быть различной. Поэтому, используя микропроцессоры в качестве системных контроллеров, следует обращаться к руководствам по их программному обеспечению. Руководства содержат наборы мнемоник конкретных микропроцессоров. Однако общая структура программного обеспечения микропроцессоров подобна структуре программного обеспечения каждого отдельно взятого микропроцессора. На рис. 4.10 показана блок-схема алгоритма генерации входных сигналов для клавишного пульта. Отметим, что формирование входных сигналов осуществляется с помощью подпрограммы. Начальное значение слова Si устанавливается при инициализации микропроцессорной системы. Ниже в этой главебудет точно определено, что подразумевается под термином - инициализация микропроцессорной системы. Сейчас же достаточно знать, что начальное значение слова Si должно быть записано в память перед тем, как микропроцессор начнет работать по программе, блок-схема которой представлена на рис. 4.10. Это требование легко объясняется тем, что, судя по блок-схеме, программа должна принимать решение, зависящее от значения слова Si. Значение этого слова должно быть установлено после включения питания, иначе оно будет иметь некоторое произвольное значение, обусловленное случайным состоянием памяти. Случайное значение Si приведет к тому, что решение, принимаемое программой после анализа этого слова, окажется ошибочным. Программа, блок-схема которой дана на рис. 4.10, сначала выбирает слово из памяти. Затем производится проверка на равенство значения этого слова коду lOie. Если факт равенства устанавливается, то это означает,что последняя входная линия уже имела уровень логического О и следующей линией, на которой должен устанавливаться уровень логического О, является линия Ro. Если текущее значение слова Si не равно 10ш, то программа просто сдвигает содержимое слова на один разряд Шаг 1. Шаг г Шаг 2 В Шаг 3 Начало Запись данных об активной горизонталь ной линии клавиатуры в ячеПку S, Сдвиг данных в S, на I разряд влево. О - позиция D Запись значений данных в память S,= 00000001 ROW = S, Шаг 2а Шаг 4 Шаг 5 Шаг S Нивсргмрова-иие ROW Вывод ROW d порт FE Возврат Рис. 4.10. Блок-схейа программы генерации входных сигналов матрицы клавишного пульта. влево. При выполнении этого сдвига в первой позиции слова должно появиться значение 0. Подчеркиваем это, так как различные микройроцессоры выполняют операцию сдвига слова различными способами. Некоторые микропроцессоры могут в первый разряд сдвинутого слова поместить 1. Чтобы точно определить, как выполняется сдвиг влево, необходимо обратиться к руководству по программному обеспечению используемого микропроцессора. Если анализируемое слово оказывается равным lOie, то согласно блок-схеме программы (см. рис. 4.10) будет установлено новое значение слова, равное 01 le. После этого выполнение программы продолжается с точки В, указанной на блок-схеме. На этом шаге программа записывает новое слово в память. По- D, Do о о о о о 1 о о да наступает время отладки программы или программное обеспечение кому-либо передается, хорошая документация будет бесценной. В некоторых случаях стремление получить хорошую Активна* горизонтальная линия Инвертированные данные 111110 11 Запись данных в порт ЕЕ Рис. 4.11. Этот рисунок поясняет действия, выполняемые в шагах 3-5 блок-схемы, показанной на рис. 4.10. Слово состояний входных линий матрицы записывается в память. Затем оно инвертируется и записывается в порт вывода. Активной линии соответствует логическое значение 0. мешенное в память слово будет анализироваться при следующем обращении к этой программе. После записи нового значения слова в память слово, определяющее значения сигналов на горизонтальных линиях матрицы клавишного пульта, инвертируется. Это действие заключается в установке значения 1 во всех разрядах, за исключением разряда, соответствующего входной линии подлежащей активизации. Разряд, определяющий активизируемую линию, принимает значение 0. Описанные действия иллюстрируются рис. 4.11. В конце концов, программа выведет сформированное слово в определенный порт вывода. Напомним, что на рис. 4.4 порт вывода, связанный со входными линиями клавишного пульта адресовался кодом FE. На рис. 4.12 представлен текст программы для микропроцессора 8080, соответствующий блок-схеме, приведенной на рис. 4.10. Следует учитывать, что эта программа представляет собой один из возможных вариантов реализации блок-схемы, представленной на рис. 4.10. Совершенно ясно, что существует много различных способов программной реализации данной блок-схемы. Это аналогично большому разнообразию методов схемной реализации каких-либо функций. Какой бы вариант реализации программы ни был избран, программа всегда должна быть хорошо документирована. Ког- 311 ООКВ 312 ООЕВ 3V3 ООЕВ 3U ООЕВ > 315 ООЕВ , 316 ООЕВ 317 ООЕВ 318 ООЕВ 319 ООЕВ 320 ООЕВ 321 ООЕВ 322 ООЕЗ 323 ООЕВ 324 ООЕВ 32 5 ООЕВ , * 326 ООЕВ * 327 ООЕВ зА 04 10 OHOW LDA KROVf 328 ООЕЕ * 329 ООЕЕ ** (ШАГ 2) 330 ООЕЕ * 331 ООЕ FE 10 - CPI ЮН 332 oovo сг 00 Jnz okowi 333 00F3 * 334 OOi3 (ШАГ 2A) 335 0OF3 * 33 6 OOF3 ЗЕ 01 i!Vr A.OIK 337 OOFS СЗ Г9 00 JMf ST3 338 O0F8 * 339 00F8 * (ШАГ гв) 340 00F8 341 00F8 ОТ OROWl HLC 342 OOF9 343 OOF9 *х .* (щАг з) 344 OOF9 * 345 O0F9 32 04 10 ST3 STA KEOW - * (ШАГ 4) СМА * **к(шдг 5) * ООТ OFEH * (ШАГ 6) * ♦ 1h()( * )h( . * ПРОГРАММА ШВОДА АКТИВНОГО НАБОРА НА ПУЛЫ * * ИМЯ этой ПРОГРАМШ-ОКОГ ♦ * ЭТОРИС.4.12 * * ♦ )( )( ♦ * РИС.4.12-ПОДПР01ТАМИА К РИС.4.10 В ЫНЕМОНИКВ 8080 х ** * **)( * ♦ ПОВХОРШЙ вызов АКТИВНОГО НАБОРА СКАНИРОВАНИЕ НАБОРА ЗАКОННЕЮ??? ЕСЛИ НЕТ,ТО ШАГ 2В ПЕРЕМЕСТИТЬ АКТИВШЙ НАБОР ИДХЯ НА ШАГ 3 СДВИНУТЬ ДАННЫЕ-ВЛЕВО,О В DO СОХРАНИТЬ АКТИВШЙ НАБОР ИНВЕРТИРОВАТЬ СЛОВО,НАБОРА ВЫВЕСТИ АКТИВНЫЙ НАБОР В ПОРТ ГВ 346 OOFC 347 OOFC 348 OOFC 349 OOFC 2P 350 OOFD 351 OOFD 352 OOFD 353 OOFD D3 354 OOFF 355 OOFP 356 00№ 357 OOFF СЭ 358 0100 359 0100 Рис. 4.12.. Программа на языке ассемблера микропроцессора 8080, соответствующая блок-схеме, представленной на рис. 4.10. документацию стимулирует использование простых приемов программирования и оправдывает прямолинейность в способах программной реализации блок-схем. На рис. 4.\13 приведена программа, соответствующая блок-схеме, показанной на рис. 4.10; данная программа предназначена для микропроцессора 6800. В микропроцессоре 6800 при-
|