Разработка контроллера в составе локальной микросети, страница 7

Произведём расчёт номиналов сопротивлений, входящих в состав делителя.

По закону Ома:

,    (1)

где Uвх=5 В – напряжение источника питания;

Uдел=2 В – напряжение, которое необходимо получить на выходе делителя напряжения.

Примем R7=100 кОм. Тогда выражение (1) примет вид:

Отсюда

 кОм.

Аналогично R13=100 кОм, R12=150 кОм.

Номиналы резисторов R10, R11 должны быть такими, чтобы предотвратить самопроизвольное открывание транзисторов, и в то же время токи через эти резисторы должны быть небольшими, чтобы исключить искажение сигнала, идущего от передатчика. Примем R10=R11=100 кОм.

Номиналы резисторов R8 и R9 – 1 кОм.

Транзисторы и диоды, используемые в схеме должны допускать прохождения тока 70 мА, получаемого на выходе передатчика. Поэтому транзистор VT1 можно взять КТ3107а, VT2 – КТ3102а, параметры которых: коллекторный ток Iк.=100 мА, максимальный коллекторный ток в импульсном режиме Iк.макс.=200 мА. Диоды: КД923а (допустимый прямой импульсный ток Iп.имп.=200 мА, допустимый прямой постоянный ток Iп.пост.=100 мА, Iобр.=5 мкА).

Схема работает следующим образом. При напряжении логической единицы (³2,4 В) на линии 3 порта 1 на выходе инвертора DD5.2 устанавливается уровень логической единицы. Этот сигнал поступает на базу транзистора VT2, тем самым устанавливая потенциал базы большим потенциала коллектора, т.е. к коллекторному переходу прикладывается обратное напряжение, а к эмиттерному - прямое, и транзистор открывается. При уровне логической единицы на линии 3 порта 1 на базу транзистора VT1 подаётся напряжение уровня логического нуля (£0,4 В). Потенциал эмиттера становится больше, чем потенциал базы. К эмиттерному переходу транзистора приложено прямое напряжение, а к коллекторному обратное. Транзистор открывается.

При напряжении логического нуля на управляющей линии порта 1, на базу транзистора VT1 подаётся уровень логической единицы, а на базу транзистора VT2 – логического нуля. Оба транзистора закрываются. Передатчик отключается от линии связи.

3 разработка программного обеспечения

3.1 Используемые средства отладки

Программа написана при использовании ассемблера PseudoSam 51 Assembler V1.0 Copyright © 1986,87 PseudoCode. Отладка производилась в полноэкранном отладчике-симуляторе fd51 для программ, написанных на языке ассемблера однокристальных микро-ЭВМ КР1816ВЕ51/КМ1816ВЕ31/КM1816ВЕ51, предназначенном для логической отладки программ, используемых указанными микро-ЭВМ. Каких-либо аппаратных средств отладчик не поддерживает.

3.2 Описание основной программы

3.2.1 Используемые переменные

В процессе работы программы используются следующие байтовые и битовые переменные, расположенные в памяти данных.

SEGDATA   SEGMENT DATA     ;Имя сегмента данных

SEGCODE   SEGMENT CODE     ;Имя сегмента кодов

          RSEG SEGDATA     ;Выбор сегмента данных

          ORG 20h          ;Битовые переменные

ANSWER    BIT 0            ;ANSWER=1 если был получен

                           ;ответ от какого-то контроллера

ISMARKER  BIT 1            ;Признак того, что

                           ;был принят маркер

INITC     BIT 2            ;Признак цикла инициализации

         ORG 50h          ;Байтовые переменные

TABLE:    DS 10h           ;Таблица данных

QUANT:    DS 1             ;Количество контроллеров в сети

NUMBER:   DS 1             ;Номер данного контроллера

NBYTE:    DS 1             ;Количество полученных подряд

                           ;байт данных

CURRENT:  DS 1             ;Номер контроллера, передающего                  ;в данный момент свои данные в                         ;сеть. Если CURRENT=0FFh, то

                           ;данные игнорируются

IMPCOUNT: DS 1             ;Счётчик числа импульсов

PREPIMP:  DS 1             ;Байт подготовки числа
;импульсов. В этой переменной в течение времени 0,05 с
;происходит инкрементирование числа импульсов и по прошествии
;этого времени значение PREPIMP копируется в IMPCOUNT, после
;чего PREPIMP обнуляется и начинается подсчёт импульсов снова.
;Весь этот процесс происходит в фоновом режиме и не мешает
;нормальной работе системы