НПО Системы Безопасности
(499)340-94-73 График работы:
ПН-ПТ: 10:00-19:00
СБ-ВС: выходной

Главная » Периодика » Безопасность

0 ... 84858687888990 ... 159


bcf TXPort, TXPin

movlw OxODO + Prescaler

movwf OPTION REG " 0x080 ; Таймер TMRO

; с прескалером

bcf STATUS, RPO

If (Polarity == Pos)

bsf TXPort, TXPin ; Выход из режима ожидания

; для передачи данных.

else

bcf TXPort, TXPin

endif

movlw TMROReset ; Обнуление таймера.

movwf TMRO

movlw (1 << GIE) + (1 << TOIE)

movwf INTCON , Запуск прерываний,

clrf RXCount ; Обнуление счетчиков,

clrf TXCount

endm

Для работы необходимо определить несколько переменных:

♦ w, status - регистры сохранения контекста для программы обработки прерываний;

♦ RXByte, TXByte - байты приема и передачи данных;

♦ RXCount, TXCount - счетчики последовательного приема и передачи данных;

♦ Flags - признаки исполнения программы.

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

ОДНОПРОВОДНЫЙ ИНТЕРФЕЙС ФИРМЫ DALLAS SEMICONDUCTOR

Фирма Dallas Semiconductor разработала целый ряд периферийных микросхем, очень привлекательных для микроконтроллерных устройств, поскольку они используют для взаимодействия с микроконтроллерами всего одну линию передачи данных. Подобный одно-проводный протокол уже реализован в большом числе микросхем, наиболее известными из которых являются цифровые термометры DS1820 и DSI82I. Эти приборы могут подключаться к одной шине (каждый из них имеет индивидуальный код (номер), который позволяет его идентифицировать). Обеспечиваемая ими погрешность изме})ения температуры равна 1 °Е



Прибор DS1820 изготавливается в корпусах различного типа, но чаще всего используется трехконтактный корпус типа ТО-92, по РИДУ напоминающий пластиковый корпус транзистора. Подключение этого прибора к микроконтроллерам PICmicro® может производиться с помощью схемы, показанной на рис. 8.32. ,

"Подтягивающий" резистор 4,7 кОм


Рис. 8.32

Схема подключения термометра DS1820 к микроконтроллеру

Прибор DS1820 является многофункциональным и весьма полезен при разработке различных приложений. В частности, он обеспечивает возможность совместного использования однопроводной шины с другими подобными приборами. Индивидуальный идентификационный код записывается в каждый прибор посредством пережигания соответствующих плавких перемычек. Микросхема термометра может получать питание от центрального устройства.

Передача данных по однопроводной шине инициируется главным устройством (в приложениях эта роль отводится микроконтроллеру), Данные передаются побайтно, причем первым пересылается старший бит. Каждая пересьшка длится 60 мкс. К однопроводной шине должен быть подключен резистор, соединяющий ее с напряжением питания. Высокий уровень сигнала формируется внешним резистором (см. рис. 8.32), а низкий - центральным или периферийным устройством при передаче данных. Если на шине низкий уровень удерживается в течение короткого времени, это означает, что была передала логическая 1. Если низкий уровень удерживается более 15 мкс -Логический О (рис. 8.33).



Передача 1


I I <15mkc

бОмкс

Передача 0

>15 mkc

бОмкс

Рис. 8.33

Временные диаграммы передачи данных по однопроводной шине

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

Перед направлением очередной команды к DS1820 сначала происходит обмен импульсными сигналами Reset (Перезапуск) и Presence (Наличие). Сигнал Reset формируется путем перевода линии на низкий уровень на 480-960 мкс. Микросхема DS1820 генерирует ответный сигнал, устанавливая низкий уровень линии приблизительно на 100 мкс (от 60 до 240 мкс). Чтобы упростить создаваемые программы, в них не следует предусматривать проверку сигнала Р resence, поскольку, как показывает практика, в большинстве приложеьпш это действие не требуется. Но в программных приложениях, допускающих отключение термометров, проверка сигнала Presence может оказаться необходимой.

Для считывания результатов измерения температуры одним связанным с микроконтроллером прибором DS1820 надо выполнить такую последовательность действий:

1. Направить импульсный сигнал Reset и ожидать формирования ответного импульсного сигнала Presence.



0 ... 84858687888990 ... 159