![]() |
Главная Микропроцессорные системы [0] [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] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] ва-состояния, содержащегося в МБР7. Для этого определенные выходы МБР? (соответствующие состояниям «Ввод» или «Вывод») соединены с входами ВКг каждого из остальных регистров. Кроме того, логическая сумма сигналов на выходах «Ввод» и «Вывод» МБР? используется для разделения адресов внешних устройств и ЗУ. Если оба сигнала равны нулю, то обмен с любым из внешних устройств запрещается (путем подачи специального сигнала на управляющий вход дешифратора, обозначенный ВУ/ЗУ), и происходит обмен с ЦПЭ или ПЗУ. Сигнал «Запись - Вывод» (Зп.-Выв.), снимаемый с соответствующего разряда МБР?, определяет режим работы ОЗУ (чтение или запись данных), а сигнал «Подтверждение прерывания» (П. Пр.) используется для разрешения выдачи кода. RST с МБР6 на шину данных. Оба эти сигнала задаются определенными разрядами слова-состояния, которое выдается из ЦПЭ на МБР?. Следует заметить, что в данном варианте системы нет необходимости в специальном дешифраторе для управления входами «Выбор кристалла» ПЗУ и ОЗУ, так как требуемый объем памяти реализуется с помощью одной микросхемы ПЗУ (с организацией 256X8) и одной микросхемы ОЗУ (объемом не более 32X8). Соответствующие выводы «ВК» У микросхем ПЗУ и ОЗУ подсоединяются непосредственно к источнику питания ([/и.п). В случае необходимости увеличения объема памяти дешифратор для выбора кристалла строится аналогично дешифратору выбора внешних устройств. Представленная на рис. 5.6 структурная схема микропроцессорной системы является результатом рассмотренного этапа проектирования, в ходе которого опреде-. ляются также основные технические параметры отдельных узлов схемы. Дальнейшая конкретизация аппаратной и программной частей разработанного в общих чертах алгоритма составляет содержание следующего этапа. 5.2.4. этап детализации Как уже отмечалось в § 5.1, на данном этапе аппаратная и программная части микропроцессорной системы могут разрабатываться уже независимо. Задача детализации отдельных узлов аппаратной части до уровня функциональных схем хорошо известна специалистам радиотехнического профиля и является предметом рассмотрения многочисленных книг по импульсным и цифровым устройствам (например, [24]). Поэтому здесь остановимся, главным образом, на программной части этапа детализации, которая заключается в разработке рабочей программы выбранного алгоритма на языке ассемблера МП. Основой программирования служит система команд МП К580, приведенная в приложении, и укрупненная схема алгоритма, представленн&я на рис. 5.5. В рассматриваемом алгоритме имеется два неопределенных программных блока (ПБ)-«Поиск» и «Контроль», которые необходимо конкретизировать. /. Программный блок «Поиск». Выбранная структура микропроцессорной системы (см. рис. 5.6) включает в себя аппаратные средства, осуществляющие операцию обнаружения и поиска сигнала, которая завершается измерением начального значения то- Поэтому соответствующая программная часть в этом случае сводится к управляющим операциям, обеспечивающим необходимое взаимодействие МП с внешними устройствами. Пример такой программы с необходимыми краткими пояснениями представлен в табл. 5.7. Используемая в этой таблице форма записи двух- и трехбайтовых команд (столбец 3) при соответствующей порядковой нумерации байтов (столбец 2) удобна для определения необходимого объема ПЗУ. Обозначения МАх и МОх (где X - любое целочисленное значение) используются здесь для указания адресов ячеек ПЗУ и ОЗУ соответственно. Эти адреса всегда двухбайтовые. В рассматриваемый программный блок включена универсальная подпрограмма «Прерывание», которая используется также в других блоках программы (см. ПБ «Отсчет» в табл. 5.8). Поэтому она содержит операции сохранения содержимого регистров В и С (команды PUSH В, POP В), излишние для данного блока. Для этой подпрограммы удобно использовать отдельную нумерацию байтов (столбец 2). Для обращения к подпрограмме «Прерывание» служит метка МА1 (столбец 1), обозначающая первый байт начального адреса подпрограммы. Такая форма обозначения меток будет использоваться в дальнейшем при составлении других программ. Таблица 5.7
[0] [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] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] 0.0011 |