Проектирование автоматической системы взвешивания вагонов в статике
Рис. 2.6. Микроконтроллер INTEL MCS-8051
2.7 Передача информации через последовательный порт.
Рис. 2.7.
На рисунке 2.7. изображена электрическая принципиальная схема передачи информации от микроконтроллера в последовательный порт компьютера посредством комплексного преобразования напряжений с помощью драйв
ера последовательного интерфйса RS232A.
Главная функция устройства RS232A - согласование напряжения между устройствами. Дело в том, что напряжения логической единицы и нуля для микроконтроллера и компьютерного COM - порта различаются по уровням и полярности напряжений.
Табл.2.5.
Логический Уровень |
Уровень напряжения для МК |
Уровень напряжения для COM |
0 |
0 . 0.4 |
+12V |
1 |
4.75 . 5.25 |
- 12V |
Напряжение питания для RS232A - 5V.
Напряжение питания преобразовывается до уровня ±12V. Затем в зависимости от того, какой логический уровень пришел на вход драйвера, ключи подключают к выходу напряжение необходимой полярности в соответствии с таблицей 2.7. Также, драйвер RS232A выполняет некоторые дополнительные функции - защищта от статического электричества, гальваническая развязка и т.д.
Следуя руководству по эксплуатации данного драйвера необходимо, чтобы номиналы всех конденсаторов С1 - С4 были равны. Причем для RS232A С1 - С4 равно 0.1 mF.
Конденсатор Сst выбираем 10 mF. Он служит для сглаживания случайных скачков напряжения питания RS232A.
2.8 Настройка контроллера на работу с последовательным портом
В данном микроконтроллере INTEL MCS-8051 есть специальные выводы RxD и TxD - линии, соответственно ввода и вывода информации, представленной в последовательном коде. Прием или передача информации программой осуществляется с помощью регистра SBUF.
Архитектура контроллера следующая. При передаче информации через последовательный порт в регистре SCON устанавливается флаг Т1,а при приеме информации - флаг R1. В регистре РCON находится бит SMOD, установка которого означает работу с удвоением частоты.
Для установки скорости передачи по последовательному порту необходимо записать в регистр счетчика TH1 и TL1 число N, определяемое по следующей формуле:
В этой формуле Fosc - частота резонатора (кварца)
SMOD - бит удвоения частоты
BR - Baud Rate, скорость передачи данных.
В нашем случае мы работаем без удвоения частоты, т.е. SMOD=0.
Частота резонатора Fosc = 8 MHz.
Скорость передачи данных BR = 300 Бод.
Формат посылки изображен на рисунке 2.8.
Рис. 2.8.
3. Программирование микроконтроллера
Программа для микроконтроллера состоит из трех основных блоков:
1. Предварительная установка. Запускается по RESET или при включении питания микроконтроллера.
2. Измерение веса (считывания кодов с АЦП, обрабатывающего последовательно 8 аналоговых каналов). Запускается по сигналу INT0, соответствующему сигналу готовности данных на выходе микросхемы аналого-цифрового преобразователя.
3. Вывод информации на компьютер. Запускается по вызову из подпрограмм измерения веса или обработки последовательного порта (по получению управляющего сигнала с компьютера).
4. Калибровка. Считывание кодов с АЦП, обрабатывающего последовательно 8 аналоговых каналов. Причем полученный код считается соответствующим нулевому весу. Данные значения будут вычитаться в последствии из кода, полученного при измерении веса вагона. Запускается по сигналу INT1, соответствующему сигналу готовности данных на выходе микросхемы аналого-цифрового преобразователя.
3.1 Блок-схема предустановок (настроек)
3.2 Блок-схема измерения веса
3.3 Блок-схема вывода информации о весе в компьютер
Примечание: здесь DWORD - начальный адрес двух ячеек памяти, в которых содержится младший и старший байты кода, соответствующего измеренному весу для канала(в данном случае - для первого).
3.4 Блок-схема автоматической калибровки
Необходимо отметить, что подпрограмма калибровки запускается только по управляющему сигналу от компьютера. Дело в том, что если организовать запуск по включению, может оказаться, что на весах уже стоит вагон. При этом, на выходе устройства будет выдаваться код, соответствующий нулевому весу. Т.к. мы имеем дело с тяжелыми вагонами, может оказаться накладным откатывать вагон только для калибровки.
Калибровка должна производиться при отсутствии грузов (вагона и т.п.) на измерительной площадке.
3.5 Управление микроконтроллером с компьютера
При передаче на микроконтроллер управляющего слова, следующим же тактом происходит обработка прерывания, связанного с последовательным портом (у последовательного порта - наивысший приоритет). Далее происходит распознавание управляющего слова и действие согласно нему (см. табл.3.5).
Таблица 3.5.
Управляющее слово |
Действия, производимые устройством по УС |
00111100 |
Обнуление ячеек памяти, содержащих смещение и результат преобразования. |
11110000 |
Преобразование и передача в компьютер кода, соответствующего весу. |
00001111 |
Передача в компьютер кода, соответствующего весу измеряемого вагона. |
11111111 |
Калибровка устройства. |
При необходимости, этот список можно дополнить. Всего возможно запрограммировать 256 действий.
3.5 Программа на ассемблере для микроконтроллера
;R0-@ адрес получаемого кода 32-47
;R1-@ адрес смещения 52-67
;R4-счетчик задержки для АЦП
;R5-MUX 1-8
;R6-# младший байт кода 32,34-46
;R7-# старший байт кода 33,35-47
;PSW.1 - программируемый бит: 0 - взвешивание, 1 - калибровка.
Другие рефераты на тему «Коммуникации, связь и радиоэлектроника»:
Поиск рефератов
Последние рефераты раздела
- Микроконтроллер системы управления
- Разработка алгоритмического и программного обеспечения стандарта IEEE 1500 для тестирования гибкой автоматизированной системы в пакете кристаллов
- Разработка базы данных для информатизации деятельности предприятия малого бизнеса Delphi 7.0
- Разработка детектора высокочастотного излучения
- Разработка микропроцессорного устройства для проверки и диагностики двигателя внутреннего сгорания автомобиля
- Разработка микшерного пульта
- Математические основы теории систем