Вход

Проектирование системы сбора данных

Реферат* по программированию
Дата добавления: 23 января 2002
Язык реферата: Русский
Word, rtf, 849 кб
Реферат можно скачать бесплатно
Скачать
Данная работа не подходит - план Б:
Создаете заказ
Выбираете исполнителя
Готовый результат
Исполнители предлагают свои условия
Автор работает
Заказать
Не подходит данная работа?
Вы можете заказать написание любой учебной работы на любую тему.
Заказать новую работу
* Данная работа не является научным трудом, не является выпускной квалификационной работой и представляет собой результат обработки, структурирования и форматирования собранной информации, предназначенной для использования в качестве источника материала при самостоятельной подготовки учебных работ.
Очень похожие работы
Найти ещё больше




Проектирование системы сбора данных


1. ВВЕДЕНИЕ

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

Развитие микроэлектроники и широкое применение ее изделий в промышленном производстве, в устройствах и системах управления самыми разнообразными объектами и процессами является в настоящее время одним из основных направлений научно-технического прогресса.

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

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


2. ТЕХНИЧЕСКОЕ ЗАДАНИЕ

Требуется спроектировать систему сбора данных предназначенную для сбора и первичной обработки информации поступающей с четырех датчиков давления и датчика контроля за давлением.

Основные характеристики:

Количество каналов подключения датчиков давления

4

Количество линейных датчиков

статическая характеристика

диапазон измеряемого давления

собственная погрешность измерения

3

U(p)=a0p+b a0=0.1428 b=-0.71

5..50 КПа

0.1%

Количество нелинейных датчиков

статическая характеристика


диапазон измеряемого давления

собственная погрешность измерения

1

U(p)=a0p+a1p2+a2p3+b a0=0.998, a1=0.003 a2=-0.001 b=-2.5

0.01..5 Мпа

0.1%

Максимальная погрешность одного канала не более

0.5%

Количество развязанных оптоизолированных входов для подключения датчика контроля за давлением

Активный уровень

Выходное напряжение логического нуля

Выходное напряжение логической единицы

Максимальный выходной ток

логического нуля мА

логической единицы мА


1

1

уровень ТТЛШ

уровень ТТЛШ


2.5

1.2

Режим измерения давления

Статический

Базовая микро-ЭВМ

89С51 фирмы Atmel


3. РАЗРАБОТКА СТРУКТУРНОЙ СХЕМЫ. ОБОБЩЕННЫЙ АЛГОРИТМ РАБОТЫ

Структурная схема системы сбора данных представлена на рис.1

Обобщенная структурная схема системы сбора данных.

ДД1,ДД2,ДД3 – линейные датчики давления,

ДД4- нелинейный датчик давления,

ДКД1, ДКД2 – датчики контроля за давлением

AD7890 – АЦП, УВХ, ИОН, аналоговый коммутатор,

98С51 – микро-ЭВМ,

WDT –сторожевой таймер.

Рисунок 1.

Датчики давления преобразовывают измеренное давление в электрический сигнал.

Нормирующие усилители преобразовывают выходное напряжение с датчиков давления к входному напряжению АЦП.

AD7890 (далее АЦП) служит для того чтобы, переключать требуемый канал коммутатора, преобразовать аналоговую величину напряжения в соответствующий ей двоичный цифровой код.

Однокристальная микро-ЭВМ предназначена для того чтобы:

производить расчет - Р(код) по известной статической характеристике датчика давления;

передавать рассчитанное давление по последовательному интерфейсу RS-232 в ПК.

Буфер последовательного интерфейса RS-232 введен в схему, для того чтобы преобразовывать логические уровни между ПК и микро-ЭВМ и микро-ЭВМ и ПК.

Т.К. работа системы производится в автономном режиме и она не предусмотрена для работы с оператором, то в состав системы дополнительно вводится интегральная микросхема сторожевого таймера, предназначенная для вывода микро-ЭВМ из состояния зависания и ее сбросе при включении питания.

Временная диаграмма работы сторожевого таймера представлена на листе 2 графической части.

Блок схема обобщенного алгоритма работы представлена в приложении 4.

При включении питания микро-ЭВМ 89С51 реализует подпрограмму инициализации (1. инициализация УАПП, 2. установка приоритета прерываний, 7. разрешение прерываний). По запросу от ПК “Считать измеренное давление с датчика N” (где N – номер датчика давления), МП последовательно выдает с линии 1 порта 1(Р1.1), байт данных (в котором 1-ый, 2-ой и 3-ий биты указывают на выбор канала мультиплексора) на вход АЦП — DATA IN. Прием каждого бита этого байта происходит по фронту импульсов сигнала поступающего на вход SCLK от МП с линии 2 порта 1 (Р 1.2). Передача этого байта стробируется сигналом (низкий уровень), поступающего на вход от МП с линии 4 порта 1 (см. графическую часть лист 2) Приняв байт информации АЦП производит переключение требуемого канала. После этого МП выдает отрицательный импульс на вывод с линии 7 порта 1 и по положительному переходу этого импульса начинается процесс преобразования напряжение в двоичный код, которое поступает от датчика давления – N. По истечении 5.9 с (время преобразования ) АЦП готов к последовательной передачи полученного 12-ти разрядного двоичного кода. Процесс передачи данных от АЦП к МП производится при стробировании сигнала (низкий уровень), поступающего с линии 5 порта 1 на вывод (см. графическую часть лист 2). Формат посылки состоит из 15-ти бит (первые три бита несут за собой номер включенного текущего канала, а остальные 12 бит двоичный код ). Приняв двоичный код, МП путем математических вычислений(см. п.5) находит зависимость Р(код) и посылает в ПК по последовательному интерфейсу RS-232 полученное значение давления P. На этом цикл работы системы заканчивается.


4. РАЗРАБОТКА И РАСЧЕТ ЭЛЕМЕНТОВ ПРИНЦИПИАЛЬНОЙ ЭЛЕКТРИЧЕСКОЙ СХЕМЫ

4.1 Выбор микропроцессорного комплекта

В соответствии с заданием ядром системы послужила однокристальная микро-ЭВМ 89С51 фирмы Atmel.

Основные характеристики однокристальной микро-ЭВМ 89С51:

• Совместима с однокристальной микро-ЭВМ серии MCS-51

• 4Kb ре-программируемой флешь памяти

допустимо: 1000 циклов Записи/Стирания

• Рабочий диапазон частоты синхронизации : от 0 Гц до 24 МГц

• 128 x 8-бит встроенного ОЗУ

• 32 программируемых I/O линии

• Два 16-разрядных таймер/счетчика

• Семь источников внешних прерываний

• Программируемый УАПП

• Возможность включения режима пониженного энергопотребления

4.1.1 Аппаратное сопряжение ПК и микроконтроллера

Для решения задачи сопряжения ПК и микроконтроллера было решено использовать интерфейс RS-232C.

Последовательный порт используется в качестве универсального асинхронного приемопередатчика (УАПП) с фиксированной или переменной скоростью последовательного обмена информацией и возможностью дуплексного включения.

Последовательный интерфейс микроконтроллера МК-51 может работать в следующих четырех режимах:

Режим 0.Информация передается и принимается через вход RxD приемника (вывод P3.0). Через выход передатчика TxD (вывод P3.1) выдаются импульсы синхронизации, стробирующие каждый передаваемый или принимаемый бит информации. Формат посылки – 8 бит. Частота приема и передачи – тактовая частота микроконтроллера.

Режим 1.Информация передается через выход передатчика TxD, а принимается через вход приемника RxD. Формат посылки – 10 бит: старт-бит (ноль), восемь бит данных, программируемый девятый бит и стоп-бит (единица). Частота приема и передачи задается таймером/счетчиком 1.

Режим 2.Информация передается через выход передатчика TxD, а принимается через вход приемника RxD. Формат посылки – 11 бит: старт-бит (ноль), восемь бит данных, программируемый девятый бит и 2 стоп-бита (единицы). Передаваемый девятый бит данных принимает значение бита ТВ8 из регистра специальных функций SCON. Бит ТВ8 в регистре SCON может быть программно установлен в “0” или в “1”, или в него, к примеру, можно поместить значение бита Р из регистра PSW для повышения достоверности принимаемой информации (контроль по паритету). При приеме девятый бит данных принятой посылки поступает в бит RB8 регистра SCON. Частота приема и передачи в режиме 2 задается программно и может быть равна тактовой частоте микроконтроллера деленной на 32 или на 64.

Режим 3.Режим 3 полностью идентичен режиму 2 за исключением частоты приема и передачи, которая в режиме 3 задается таймером/счетчиком 1.

Для реализации обмена информацией между ПК и микроконтроллером наиболее удобным является режим 2, т.к. для работы в этом режиме не требуется таймер/счетчик. Этот режим полностью удовлетворяет предъявленным требованиям.


4.1.2 Выбор кварцевого резонатора

Для работы МП необходим кварцевый резонатор который подключается к выводам XTAL1 и XTAL2 (см. графическую часть курсового проекта, лист 1)

Рабочая частота кварцевого резонатора непосредственно связана со скоростью работы УАПП, мы выбираем из п.1 fрез=11.059 МГц

4.1.3 Выбор скорости приема/передачи по RS-232

Скорость приема/передачи, т.е. частота работы универсального асинхронного приемопередатчика (УАПП) в режиме 2 зависит от значения управляющего бита SMOD в регистре специальных функций.

Частота передачи определяется выражением:

f=(2SMOD/64)fрез.

Иными словами, при SMOD=0 частота передачи равна (1/64)fрез, а при SMOD=1 равна (1/32)fрез.

Исходя из вышеизложенного, выберем частоту приема данных при SMOD=1. Если fрез=11,059 МГц, тогда частота приема данных будет 19,2 КБод.

Другие значения частот кварца могут быть выбраны из таблиц в п.1 и п.2.

4.1.4 Разработка формата принимаемых и передаваемых данных по RS-232

Формат принимаемых и передаваемых данных почти полностью описан режимом 2 работы последовательного интерфейса.

Формат должен состоять из 11 бит:

стартовый бит – ноль;

восемь бит данных;

девятый бит – контроль по паритету, для повышения достоверности принимаемой информации;

два стоповых бита – единицы.


4.2 Выбор буфера RS-232

Обмен данными между ПК и микроконтроллером будет производиться по последовательному интерфейсу RS-232. Т.к. стандартный уровень сигналов RS-232 - -12 В и +12 В, а стандартный уровень сигналов асинхронного интерфейса микроконтроллера 89С51 – +5 В необходимо обеспечить согласование уровней между RS-232 и 89С51. Преобразование напряжения будет производить цифровая интегральная микросхема ADM 202E. Выбор данной микросхемы был произведен исходя из ТЗ (техническое задание). Основные характеристики цифровой интегральной микросхемы ADM 202E приведены в табл. 3.

Таблица 3.

Основные характеристики цифровой интегральной микросхемы ADM 202E

Параметр

Минимальный

Максимальный

Единица измерения

Напряжение питания

4.5

5.5

В

Нижний входной лог. порог


0.8

В

Высокий входной лог. порог

2.4


В

RS-232 приемник




Входное допустимое напр.

-30

+30

В

Входной нижний парог

0.4


В

Входной высокий парог


2.4

В

RS-232 передатчик




Выходной размах напр.

-+5


В

Сопр. Выхода передатчика

300


Ом

Температурный диапазон

-40

+85

?C

Функциональная блок-схема интегральной микросхемы ADM 202E представлена на рис.2

Функциональная блок-схема интегральной микросхемы ADM 202E

Рисунок. 2

4.3 Выбор АЦП.

В качестве аналого-цифрового преобразователя послужила интегральная микросхема фирмы Analog Devices – AD7890-2. Выбор данной микросхемы был произведен исходя из ТЗ

Основные характеристики:

• 12-разрядный АЦП, время преобразования 5.9 мкс

• Восемь входных аналоговых каналов

• Входной диапазон :

от 0 В до +2.5 В

• Раздельный доступ к мультиплексору и к АЦП

• Встроенный источник опорного напряжения +2.5 В (возможно подключение внешнего.)

• Высокая скорость, “гибкость”, последовательный интерфейс

• Низкая потребляемая мощность (50 мВт максимум)

• Режим пониженного энергопотребления (75 мкВт).

Функциональная блок-схема интегральной микросхемы AD 7890-2 представлена на рис.3


Функциональная блок-схема интегральной микросхемы AD 7890-2

Рисунок 3

4.3.1 Расчет погрешности вносимой АЦП.

Аналого-цифровой преобразователь вносит следующие виды погрешностей:

  • нелинейности (погрешность нелинейности- это максимальное отклонение линеаризованной реальной характеристики преобразования от прямой линии, проходящей через крайние точки этой характеристики преобразования АЦП.);

  • дифференциальной нелинейности(погрешность дифференциальной нелинейности- это отклонение фактической разности уровней (входного сигнала АЦП), соответствующим двум соседним переключениям кода, от идеального значения этой разности, равной 1 МЗР. Для идеального АЦП разница уровней между соседними переключениями кода в точности равна 1 МЗР.);

  • погрешность полной шкалы (погрешность полной шкалы- это отклонение уровня входного сигнала, соответствующего последнему переключению кода от идеального значения, после того как была откорректирована погрешность биполярного нуля.);

В табл. 4 приведены погрешности взятые из каталога, на интегральную микросхему AD7890 фирмы Analog Devices

Таблица 4

Основный погрешности интегральной микросхемы AD7890

Вид погрешности

Значение

%

Интегральная нелинейность

1 МЗР

0.0244

Дифференциальная нелинейность

1 МЗР

0.0244

Полной шкалы

2.5 МЗР

0.061

Общая (АЦП)


0,1098


4.4 Выбор сторожевого таймера.

Т.к. работа системы происходит в автономном режиме и не предусматривает работу оператора с ней, то для случая зависания микро-ЭВМ в схему системы сбора данных добавляется интегральная микросхема MAX690AMJA – сторожевой таймер. Выполняющая две основные функции: выведение МП из состояния зависания и сброс МП при включении питания.

Основные характеристики интегральной микросхемы МАХ690AMJA:

• Время сброса: 200 мС

• Рабочий диапазон напряжения питания: от 1 до 5.5 В

• Ток потребления: 200 мкА

• температурный диапазон эксплуатации: от –55 до +125 ?C.


4.5 Выбор интегральной микросхемы операционного усилителя

Нормирующий усилитель выполнен на аналоговой микросхеме OP-27А (операционный усилитель), исполненной в восьми контактном DIP-корпусе. Основные хар-ки операционного усилителя OP-27A приведены в табл.5.


Таблица 5

Основные характеристики аналоговой микросхемы ОР-27А


Напряжение питания (UПИТ)В:

V+

V-

22

-22

Напряжение смещения (UСМ)мкВ:

25 макс.

Ток смешения (IСМ)нА

±40 макс.

Ток сдвига (IСДВ)нА

35 макс.

Коэффициент озлобления синфазного сигнала (КООС)

501190 макс. (144 Дб)

Коэффициент усиления при разомкнутой обратной связи

1800000


В систему сбора данных входят три линейных и один нелинейный датчики давления. Выходной диапазон напряжения нелинейного датчика давления составляет -2.5..+2.5, в входной диапазон АЦП – 0..+2.5. Согласовать уровни напряжения выхода датчика давления и входа АЦП можно с помощью схемы представленной на рис. 4. Данная схема состоит из: операционного усилителя – DA1, повторителя напряжения – DA2, схемы смещения – R1 и R2, схемы защиты – VD1 и VD2.. Для того чтобы не нагружать источник опорного напряжения в состав схемы нормирующего усилителя вводится повторитель напряжения. Данная схема вносит в ССД погрешность.

Нормирующий усилитель

R1,R2 – 40 КОм,

R3 – 20 КОм.

VD1, VD2 – схема защиты

Рисунок 4

4.5.1 Расчет погрешностей нормирующего усилителя

Суммарная погрешность нормирующего усилителя складывается из погрешности напряжения смещения (Uсм), погрешности тока сдвига (Iсдв), погрешности обратного тока диодов (В схеме защиты используются диоды марки 1N914A с обратным током утечки IД ОБР.=25 нА. Рассмотрим худший случай, когда IД ОБР.== 2*IД ОБР.) (Iд обр.), погрешности КООС (КООС), погрешности разброса параметров сопротивлений от номинального значения (R1 R2 MAX).

Оценка погрешности от напряжения смещения (Uсм)

Uсм= Uсм*Ку

где Ку – коэффициент усиления (в нашем случае Ку=1)

Uсм=25 мкВ

Uсм%=

Uсм%=0.001 %

Оценка погрешности от обратного тока диодов (Iд обр )

U+д= IД ОБР.*R2

U+д=0.002

Iд обр= U+д*Ку

Iд обр=2 мВ

Iд обр%=

Iд обр%=0.0016

Оценка погрешности от КООС (КООС)

,

где Кд – коэффициент усиления дифференциального сигнала (Кд=1);

КС – коэффициент усиления синфазного сигнала

КС=1/501190

КС=1.96*10-6

КООС=UВХ СИН MAX*KC,

где UВХ СИН MAX – синфазное максимальное входное напряжение (UВХ СИН MAX=2.5 В).

КООС=2.5*1.996*10-6

КООС=7.7 мкВ

КООС%=

КООС%=0.0003

Оценка погрешности от тока сдвига (Iсдв)

U+=IСДВ*R2

где U+ - см. рис.4

U+= 0.7 мкВ

Iсдв= U+*Ку

Iсдв=0.7 мкВ

Iсдв%=

Iсдв%=0.00004%

Оценка погрешности вносимой разбросам сопротивлений R1 и R2 от их номинального значения.

Для того чтобы уменьшить погрешность выбираем сопротивления с отклонениями от номинального значения ± 0.05%

R1MIN= 39,996 Ом

R2MAX=40,004 Ом

Ток протекаемый через R1 и R2 будет

И тогда общая погрешность нормирующего усилителя будет равна

НУ=((R1R1max+Iсдв+КООС+Iд обр+Uсм)/Ку)*100



НУ=0.0277778 %

(1)

4.6 Выбор и расчет внешних элементов гальванической развязки

В качестве элементов гальванической развязки используется цифровая микросхема 249ЛП5 - оптоэлектронный переключатель на основе диодных оптопар выполненных в металлостеклянном корпусе. основные характеристики цифровой микросхемы 249ЛП5 приведены в табл. 5.

Таблица 5

Основные характеристики цифровой микросхемы 249ЛП5

Электрические параметры

Входное напряжение при IВХ=15 мА

не более 1.7 В

Выходное напряжение в состоянии логического нуля

0.4 В

Выходное напряжение в состоянии логической единицы

2.4

Предельные эксплутационные данные

Входной постоянный ток

12 мА

Входной импульсный ток

15 мА

Напряжение питания

5(0.5) В

Диапазон рабочих температур

-60…+85 С


VT1- КТ3102Г(h21Э=100),

R2, VT1 –схема усиления входного тока,

Рисунок 5

Выходной ток ДКД усиливается с помощью транзистора VT1 т.к. максимальный выходной ток датчика контроля за давлением меньше, чем входной ток элемента гальвано развязки.

Значения сопротивления R1 можно рассчитать по следующей формуле

при IД=5 мА, а значение сопротивления R2 будет равно

где UБЭ VT1 – напряжение насыщения на переходе база - эмиттер транзистора VT1;UВХ_МIN – минимальное входное напряжение (2.4 В - уровень ТТЛШ);

IБ – ток протекающий через базу VT1

где IК – ток протекающий через коллектор VT1 (IК= IД)


5. АПРОКСИМАЦИЯ СТАТИЧЕСКОЙ ХАРАКТЕРИСТИКИ НЕЛИНЕЙНОГО ДАТЧИКА

Уравнение аппроксимированного участка статической характеристики нелинейного датчика выглядит следующим образом:


U (p) = a*p + b,

(2)

где a и b – коэффициенты, представленные в форме чисел с фиксированной точкой.

С АЦП приходит 12-ти разрядный код в диапазоне 0..4095,что соответствует диапазону входных напряжений 0 ...+2.5 В.

Разрешающую способность по напряжению можно рассчитать как:


U = код*МЗР(Младший Значащий Разряд)

(3)

где МЗР =

где UВХ MAX – максимальное входное напряжение подаваемое на вход АЦП;

UВХ MIN – минимальное входное напряжение подаваемое на вход


Выразив p из (2) и приняв во внимание (3), формула нахождения давления от напряжения примет следующий вид:

Для уменьшения погрешности аппроксимации статическая характеристика нелинейного датчика давления делится на 4 равных отрезка и находятся коэффициенты a и b (см. табл.6) для уравнения вида p(код)=a*код+b описывающего каждый из этих отрезков.


Таблица 6

Таблица переведенных коэффициентов

№ участка

a10

b10

a16

b16

1

0.001203

0.010377

0.004edf

0.02a8

2

0.001206

0.007413

0.004f03

0.01e5

3

0.001219

-0.02094

0.004fe5

0.055c

4

0.001245

-0.101148

0.005197

0.19e4


Аппроксимация статической характеристики нелинейного датчика давления была произведена с помощью программы MATHCAD 8.0 (см п.5)


5.1 Оценка погрешности аппроксимации

Оценка этой погрешности была произведена на программе MATHCAD 8.0 (см п.4), и она составляет АПР=0.093 %


6. ВЫБОР ФОРМАТА ДАННЫХ

В курсовом проекте выбран формат чисел с фиксированной точкой.

Для коэффициентов a выделяется три байта под дробную часть и один байт под целую часть, а для b два байта под дробную часть и один байт под целую часть Для кода достаточно двух байт, а для результата три байта под целую и два байта под дробную части соответственно.

6.1 Оценка погрешности от перевода коэффициентов

В соответствии с выбранным форматом данных данную погрешность можно найти так:

пер.коэф=k*код+b=2-24*4096-2-16

пер.коэф = 0.044 %

(4)



7. ОЦЕНКА ПОГРЕШНОСТЕЙ

При расчетах в курсовой работе мы оценили погрешности возникающие от АЦП, аппроксимации, нормирующего усилителя и других. Суммарная погрешность всей ССД равняется сумме найденных погрешностей, то есть:

СУМ=АЦП+НУ+АПР+пер.коэф

где АЦП – погрешность вносимая от АЦП (см табл.4);

НУ - погрешность от нормирующего усилителя (см. ф.(1));

АПР - погрешность от аппроксимации(см.п.4);

пер.коэф - погрешность от перевода коэффициентов (см. 4)

СУМ=0,1098+??+0.093+0.044


8. РАСЧЕТ ПОТРЕБЛЯЕМОЙ МОШНОСТИ ОСНОВНЫМИ ЭЛЕМЕНТАМИ СХЕМЫ

Примерную потребляемую мощность можно найти по формуле

где РМП – мощность потребляемая МП(РМП=0,1 Вт);

РАЦП - мощность потребляемая АЦП(РАЦП=0.0050 Вт);

РWDT - мощность потребляемая сторожевым таймером (РWDT=0.001);

PБУФ - мощность потребляемая буфером порта RS-232 (PБУФ=0.01);

PОУ - мощность потребляемая операционным усилителем (PОУ=0.09);


ПРИЛОЖЕНИЯ


Приложение 1


Точные значения кварцев

Кратность

Скорость передачи

(Кбод)

Частота кварца (МГц)

SMOD=0 (1/64)

SMOD=1 (1/32)

1

115,2

7,3728

3,6864

2

57,6

3,6864

1,8432

3

38,4

2,4576

1,2288

4

28,8

1,8432

0,9216

5

23,04

1,4746

0,73728

6

19,2

1,2288

0,6144

7

16,457142

1,053257

0,526628

8

14,4

0,9216

0,4608

9

12,8

0,8192

0,4096

10

11,52

0,73728

0,36864

12

9,2

0,6144

0,3072


Приложение 2


Возможные значения кварцев


SMOD=0

Кратность

Скорость передачи

(Кбод)

Частота кварца (МГц)

SMOD=0 (1/64)

SMOD=1 (1/32)

1

115,2

7,366503

7,378725

2

57,6

3,673807

3,698251

3

38,4

2,438711

2,475377

4

28,8

1,818014

1,866903

5

23,04

1,443078

1,504189

6

19,2

1,191022

1,264355

7

16,457142

1,009183

1,094738

8

14,4

0,871229

0,969007

9

12,8

0,762533

0,872533

10

11,52

0,674317

0,796539

12

9,2

0,538844

0,685511


SMOD=1

Кратность

Скорость передачи

(Кбод)

Частота кварца (МГц)

SMOD=0 (1/64)

SMOD=1 (1/32)

1

115,2

3,683252

3,689363

2

57,6

1,836904

1,849126

3

38,4

1,219356

1,237689

4

28,8

0,909007

0,933452

5

23,04

0,721539

0,752095

6

19,2

0,595511

0,632178

7

16,457142

0,504592

0,547369

8

14,4

0,435615

0,484504

9

12,8

0,381267

0,436267

10

11,52

0,337159

0,398270

12

9,2

0,269422

0,342756


Приложение 5

Подпрограмма инициализации


MOV SCON,#10010000b ; устанавливается второй режим УАПП

SETB 87h,1 ;SMOD=1

MOV IP,#00010000b ;высокий уровень приоритета прерывания у приема передатчика

MOV IE,#10010000b ; разрешаем прерывания



Подпрограмма записи 12-ти бит в управляющий регистр AD7890


SETB P1.2 ;Устанавливаем линию SCLK

SETB P1.4; Устанавливаем линию TFS

MOV R1,0Ch ; организовываем счетчик переданных бит (12)

MOV A,R0 ; загружаем а аккумулятор передаваемые биты

MET0:RRC A ; проталкиваем во флаг С передаваемый бит

MOV P1.1,C ; выставляем передаваемый бит на Р1.1

ACALL DELAY ;ожидаем

CPL P1.2 ;инверсия Р1.2

ACALL DELAY ;ожидаем

CPL P1.2 ; инверсия Р1.2

DJNZ R2,MET0

CPL P1.4


Подпрограмма задержки на 0.006 сек.

DELAY:MOV R0,C8h

MET1:NOP

DJNZ R0,MET1

RET

Подпрограмма задержки на 0.6 сек.

DELAY2:MOV R0,Ah

`MOV R1,Ah

MET1:NOP

MET2:NOP

DJNZ R1,MET2

DJNZ R0,MET1

RET


Подпрограмма работы сWDT


ACALL DELAY2 ;ожидаем

CPL P1.6

ACALL DELAY2 ;ожидаем

CPL P1.6


Подпрограмма чтения 15-ти бит с линии DATA OUT AD7890


SETB P1.2 ;Устанавливаем линию SCLK

SETB P1.3; Устанавливаем линию RFS

MOV R2,08h ; организовываем счетчик принятых бит в аккумулятор (если R2=0 – аккумулятор полный

ACALL DELAY ;ожидаем

CPL P1.2 ;инверсия Р1.2

ACALL DELAY ;ожидаем

CPL P1.2 ;инверсия Р1.2

MET0:MOV C,P1.0 ; принимаем бит на Р1.0 и отправляем его во флаг

RLC A ; достаем из флага С принятый бит

DEC R2

JZ MET2 ; если байт принят R2=0

MOV R3,A ; тогда занесем из А в R3 принятый байт

CLR A ; и обнулим аккумулятор, если не принят то -

MET2:ACALL DELAY ;ожидаем

CPL P1.2 ; инверсия Р1.2

ACALL DELAY ;ожидаем

DJNZ R2,MET0

MOV R2,07h ;приняли первые восемь бит, теперь приймем еще семь

CPL P1.2 ;инверсия Р1.2

MET3:MOV C,P1.0 ; принимаем бит на Р1.0 и отправляем его во флаг

RLC A ; достаем из флага С принятый бит

DEC R2

JZ MET4

MOV R4,A

CLR A

MET4:ACALL DELAY ;ожидаем

CPL P1.2 ; инверсия Р1.2

ACALL DELAY ;ожидаем

DJNZ R2,MET3 ;ну вот, и все готово младшая часть посылки находится (8 бит) в R3, а старшая (7 бит) в R4

CPL P1.4

;Подпрограмма выбора коэффициентов нелинейного датчика

MOV DPL,00h

MOV DPH,04h

MOV A,#00001100b

ANL A,R0

RL A

RL A

CLR 0D4H

CLR 0D3H

MOV R0,#0AH

MOV R1,#04H

M1: MOV A,#06H

MOVC A,@A+DPTR

MOV @R0,A

INC R6

INC R0

DJNZ R1,M1

END

;Подпрограмма умножения двух байт (регистры R0, R1 - 1-ый банк) на три (регистры ;R2, R3, R4 - 1-ый банк ), результат помещается в R3, R4, R5, R6, R7 - 0-ой ;банк.

MOV R4,#0h

MOV R5,#0h

MOV R6,#0h

MOV R7,#0h

MOV R3,#0h

MOV R0,#10h

me1:SETB 0D3h

CLR 0D4h

MOV A,R0

RRC A

MOV R0,A

MOV A,R1

RRC A

MOV R1,A

JNC me2

MOV A,R4

ADD A,5h

MOV 5h,A

MOV A,R3

ADDC A,4h

MOV 4h,A

MOV A,R2

ADDC A,3h

MOV 3h,A

me2:CLR 0D4h

CLR 0D3h

MOV A,R4

RRC A

MOV R4,A

MOV A,R5

RRC A

MOV R5,A

MOV A,R6

RRC A

MOV R6,A

MOV A,R7

RRC A

MOV R7,A

DJNZ r0,MET1

;Подпрограмма сложения пяти байт(R3, R4, R5, R6, R7 - 0-ой банк.

;) с двумя (R2(0Dh),R3(0Eh) - 0-ый банк), результат помещается в R3(13h), ;R4(14h), R5(15h), R6(16h), R7(17h) - 2-ой банк.

CLR 0D3H ;

CLR 0D4H ;

MOV A,R5

ADD A,R3

MOV 12H,A

MOV A,R4

ADDC A,R2

MOV 11H,A

JNC M1

MOV A,#01

ADD A,11H

MOV 11H,A

JNC M1

MOV A,#01H

ADD A,10H

MOV 10H,A

MOV 14h,0Ch

MOV 13h,0Bh

M1:CLR 0D3H

SETB 0D4H

END

Подпрограмма передачи пяти байт находящихся в R3 R4 R5 R6 R7.

;Выбор второго банка

SETB 0D4h

CLR 0D3h

;Передача первого байта данных

MOV A,R7

MOV C,P;Р - бит четности аккумулятора

MOV TB8,C

MOV SBUF,A

MOV IE,#10010000b ;Выставляется приоритет прерываний

NOP

NOP

NOP

;Передача 2 байта данных

MOV A,R6

MOV C,P

MOV TB8,C

MOV SBUF,A

MOV IE,#10010000b

NOP

NOP

NOP

;Передача 3 байта данных

MOV A,R5

MOV C,P

MOV TB8,C

MOV SBUF,A

MOV IE,#10010000b

NOP

NOP

NOP

;Передача 4 байта данных

MOV A,R4

MOV C,P

MOV TB8,C

MOV SBUF,A

MOV IE,#10010000b

NOP

NOP

NOP

;Передача 5 байта данных

MOV A,R3

MOV C,P

MOV TB8,C

MOV SBUF,A

MOV IE,#10010000b

END

© Рефератбанк, 2002 - 2024