JMP start

OUTL P1, A

CPL F1

RETR

CLR F1

MOV R0, A

INS A, BUS

ORG 3

JMP START

EN I

ORG 0

START: CLR F1

MOV A, #08H

ANL P1,#11110111B

M1: JF1 M1

Рассмотрим вариант, когда микроЭВМ не имеет внутренней памяти программ.

Прежде всего, приведем часть общей схемы, обеспечивающей подключение внешней памяти программ.

Работа схемы была рассмотрена ранее. Из внешних ресурсов в нашем распоряжении остался порт P1 и половина порта P2 с выводами P24-P27. Используем их для подключения многоканального АЦП.

Работа этой части схемы тоже рассматривалась ранее. Внешних ресурсов (портов) микроЭВМ не осталось. Подключение ЦАП вызывает проблему.

Используем возможность работы микроЭВМ с внешней памятью данных. Можно представить ЦАП как ячейку внешней памяти данных, в которую для формирования аналогового сигнала нужно уметь записывать байт данных, так как это делается при записи данных во внешнюю память. Известно, что по команде MOVX @Ri, A происходит пересылка содержимого аккумулятора во внешнюю память данных, адрес которой находится в регистре Ri. При этом на шину DB сначала выводится адрес ячейки внешней памяти данных и фиксируется по сигналу ALE во внешнем регистре, выходы которого должны быть подключены к адресным входам ОЗУ. Этот адрес необходимо использовать, если количество подключаемых устройств больше одного. Но в нашем случае используется один ЦАП, его адресации не требуется, поэтому внешний регистр адреса не используется. Далее по алгоритму выполнения команды MOVX @Ri, A на шину DB помещаются данные и формируется сигнал /WR –запись. Необходимо зафиксировать эти данные в каком-то внешнем регистре по сигналу /WR и с выхода этого регистра подать на вход ЦАП. Тогда схема, реализующая подключение ЦАП будет иметь вид.

Таким образом, к внутренней шине системы DB0-DB7 подключено несколько устройств: ПЗУ, RG1, RG2. В других системах шина DB0-DB7 может быть нагружена большим количеством устройств. Ограничение – в нагрузочной способности шины.

Небходимо понять, что прохождение данных по шине происходит последовательно. Выполнение команды MOVX @Ri, A разбивается на такие шаги:

1.На шине DB устанавливается адрес команды

2.С шины DB снимается код команды

3.На шине DB устанавливается адрес внешней ячейки памяти, куда микроЭВМ готовится записать данные

4.На шину DB выдаются записываемые данные.

Команда MOVX A, @Ri выполняется аналогично за 4 шага, только вместо сигнала /WR – запись формируется сигнал /RD – чтение, и в последнем цикле производится чтение данных с шины DB.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: