Главная Рефераты по геополитике Рефераты по государству и праву Рефераты по гражданскому праву и процессу Рефераты по делопроизводству Рефераты по кредитованию Рефераты по естествознанию Рефераты по истории техники Рефераты по журналистике Рефераты по зоологии Рефераты по инвестициям Рефераты по информатике Исторические личности Рефераты по кибернетике Рефераты по коммуникации и связи Рефераты по косметологии Рефераты по криминалистике Рефераты по криминологии Рефераты по науке и технике Рефераты по кулинарии Рефераты по культурологии Рефераты по зарубежной литературе Рефераты по логике Рефераты по логистике Рефераты по маркетингу Рефераты по международному публичному праву Рефераты по международному частному праву Рефераты по международным отношениям Рефераты по культуре и искусству Рефераты по менеджменту Рефераты по металлургии Рефераты по муниципальному праву Рефераты по налогообложению Рефераты по оккультизму и уфологии Рефераты по педагогике Рефераты по политологии Рефераты по праву Биографии Рефераты по предпринимательству Рефераты по психологии Рефераты по радиоэлектронике Рефераты по риторике Рефераты по социологии Рефераты по статистике Рефераты по страхованию Рефераты по строительству Рефераты по схемотехнике Рефераты по таможенной системе Сочинения по литературе и русскому языку Рефераты по теории государства и права Рефераты по теории организации Рефераты по теплотехнике Рефераты по технологии Рефераты по товароведению Рефераты по транспорту Рефераты по трудовому праву Рефераты по туризму Рефераты по уголовному праву и процессу Рефераты по управлению |
Реферат: Проектирование системы сбора данныхРеферат: Проектирование системы сбора данныхФИЛИАЛ МОСКОВСКОЙ ГОСУДАРСТВЕННОЙ АКАДЕМИИ ПРИБОРОСТРОЕНИЯ И ИНФОРМАТИКИ В Г. УГЛИЧ Кафедра «ТОЧНЫЕ ПРРИБОРЫ И ИЗМЕРИТЕЛЬНЫЕ СИСТЕМЫ» КУРСОВОЙ ПРОЕКТ по дисциплине «Микропроцессорная измерительная техника» на тему : «Проектирование системы сбора данных»
г. Углич 2000 г. СОДЕРЖАНИЕ
1. ВВЕДЕНИЕ В настоящее время проектированию измерительных систем уделяется много времени. Делается большой акцент на применение в этих системах электронно-цифровых приборов. Высокая скорость измерения параметров, удобная форма представления информации, гибкий интерфейс, сравнительно небольшая погрешность измерения по сравнению с механическими и электромеханическими средствами измерения все эти и многие другие преимущества делаю данную систему перспективной в развитии и в дальнейшем использовании во многих отраслях производства. Развитие микроэлектроники и широкое применение ее изделий в промышленном производстве, в устройствах и системах управления самыми разнообразными объектами и процессами является в настоящее время одним из основных направлений научно-технического прогресса. Использование микроконтроллеров в изделиях не только приводит к повышению технико-экономических показателей (надежности, потребляемой мощности, габаритных размеров), но и позволяет сократить время разработки изделий и делает их модифицируемыми, адаптивными, а также позволяет уменьшить их стоимость. Использование микроконтроллеров в системах управления обеспечивает достижение высоких показателей эффективности при низкой стоимости. Системы сбора данных в наши дни сделали большой шаг в вперед и в плотную приблизились к использованию совершенных электронных технологий. Сейчас, многие системы сбора данных состоящие из аналогового коммутатора, усилителя выборки-хранения, АЦП, стали размещать на одной интегральной микросхеме, что сравнительно повлияло на скорость обработки данных, удобство в использовании, и конечно же на их стоимость. 2. ТЕХНИЧЕСКОЕ ЗАДАНИЕ Требуется спроектировать систему сбора данных предназначенную для сбора и первичной обработки информации поступающей с четырех датчиков давления и датчика контроля за давлением. Основные характеристики:
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 mс (время преобразования ) АЦП готов к последовательной передачи полученного 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
Функциональная блок-схема интегральной микросхемы 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
4.4 Выбор сторожевого таймера. Т.к. работа системы происходит в автономном режиме и не предусматривает работу оператора с ней, то для случая зависания микро-ЭВМ в схему системы сбора данных добавляется интегральная микросхема MAX690AMJA – сторожевой таймер. Выполняющая две основные функции: выведение МП из состояния зависания и сброс МП при включении питания. Основные характеристики интегральной микросхемы МАХ690AMJA: • Время сброса: 200 мС • Рабочий диапазон напряжения питания: от 1 до 5.5 В • Ток потребления: 200 мкА • температурный диапазон эксплуатации: от –55 до +125 °C. 4.5 Выбор интегральной микросхемы операционного усилителя Нормирующий усилитель выполнен на аналоговой микросхеме OP-27А (операционный усилитель), исполненной в восьми контактном DIP-корпусе. Основные хар-ки операционного усилителя OP-27A приведены в табл.5. Таблица 5 Основные характеристики аналоговой микросхемы ОР-27А
В систему сбора данных входят три линейных и один нелинейный датчики давления. Выходной диапазон напряжения нелинейного датчика давления составляет -2.5..+2.5, в входной диапазон АЦП – 0..+2.5. Согласовать уровни напряжения выхода датчика давления и входа АЦП можно с помощью схемы представленной на рис. 4. Данная схема состоит из: операционного усилителя – DA1, повторителя напряжения – DA2, схемы смещения – R1 и R2, схемы защиты – VD1 и VD2.. Для того чтобы не нагружать источник опорного напряжения[1] в состав схемы нормирующего усилителя вводится повторитель напряжения. Данная схема вносит в ССД погрешность. Нормирующий усилитель R1,R2 – 40 КОм, R3 – 20 КОм. VD1, VD2 – схема защиты Рисунок 4 4.5.1 Расчет погрешностей нормирующего усилителя Суммарная погрешность нормирующего усилителя складывается из погрешности напряжения смещения (DUсм), погрешности тока сдвига (DIсдв), погрешности обратного тока диодов (В схеме защиты используются диоды марки 1N914A с обратным током утечки IД ОБР.=25 нА. Рассмотрим худший случай, когда IД ОБР.== 2*IД ОБР.) (DIд обр.), погрешности КООС (DКООС), погрешности разброса параметров сопротивлений от номинального значения (DR1 R2 MAX). Оценка погрешности от напряжения смещения (DUсм) DUсм= Uсм*Ку где Ку – коэффициент усиления (в нашем случае Ку=1) DUсм=25 мкВ DUсм%= DUсм%=0.001 % Оценка погрешности от обратного тока диодов (DIд обр ) U+д= IД ОБР.*R2 U+д=0.002 DIд обр= U+д*Ку DIд обр=2 мВ DIд обр%= DIд обр%=0.0016 Оценка погрешности от КООС (DКООС) , где Кд – коэффициент усиления дифференциального сигнала (Кд=1); КС – коэффициент усиления синфазного сигнала КС=1/501190 КС=1.96*10-6 DКООС=UВХ СИН MAX*KC, где UВХ СИН MAX – синфазное максимальное входное напряжение (UВХ СИН MAX=2.5 В). DКООС=2.5*1.996*10-6 DКООС=7.7 мкВ DКООС%= DКООС%=0.0003 Оценка погрешности от тока сдвига (DIсдв) U+=IСДВ*R2 где U+ - см. рис.4 U+= 0.7 мкВ DIсдв= U+*Ку DIсдв=0.7 мкВ DIсдв%= DIсдв%=0.00004% Оценка погрешности вносимой разбросам сопротивлений R1 и R2 от их номинального значения. Для того чтобы уменьшить погрешность выбираем сопротивления с отклонениями от номинального значения ± 0.05% R1MIN= 39,996 Ом R2MAX=40,004 Ом Ток протекаемый через R1 и R2 будет И тогда общая погрешность нормирующего усилителя будет равна DНУ=((DR1R1max+DIсдв+DКООС+DIд обр+DUсм)/Ку)*100
4.6 Выбор и расчет внешних элементов гальванической развязки В качестве элементов гальванической развязки используется цифровая микросхема 249ЛП5 - оптоэлектронный переключатель на основе диодных оптопар выполненных в металлостеклянном корпусе. основные характеристики цифровой микросхемы 249ЛП5 приведены в табл. 5. Таблица 5 Основные характеристики цифровой микросхемы 249ЛП5
Принципиальная схема подключения элемента гальванической развязки в соответствии с ТЗ приведена на рис. 5 Схема включения элемента гальванической развязки
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. АПРОКСИМАЦИЯ СТАТИЧЕСКОЙ ХАРАКТЕРИСТИКИ НЕЛИНЕЙНОГО ДАТЧИКА Уравнение аппроксимированного участка статической характеристики нелинейного датчика выглядит следующим образом:
где a и b – коэффициенты, представленные в форме чисел с фиксированной точкой. С АЦП приходит 12-ти разрядный код в диапазоне 0..4095,что соответствует диапазону входных напряжений 0 ...+2.5 В. Разрешающую способность по напряжению можно рассчитать как:
где МЗР = где UВХ MAX – максимальное входное напряжение подаваемое на вход АЦП; UВХ MIN – минимальное входное напряжение подаваемое на вход Выразив p из (2) и приняв во внимание (3), формула нахождения давления от напряжения примет следующий вид:
Для уменьшения погрешности аппроксимации статическая характеристика нелинейного датчика давления делится на 4 равных отрезка и находятся коэффициенты a и b (см. табл.6) для уравнения вида p(код)=a*код+b описывающего каждый из этих отрезков. Таблица 6 Таблица переведенных коэффициентов
Аппроксимация статической характеристики нелинейного датчика давления была произведена с помощью программы MATHCAD 8.0 (см п.5) 5.1 Оценка погрешности аппроксимации Оценка этой погрешности была произведена на программе MATHCAD 8.0 (см п.4), и она составляет DАПР=0.093 % 6. ВЫБОР ФОРМАТА ДАННЫХ В курсовом проекте выбран формат чисел с фиксированной точкой. Для коэффициентов a выделяется три байта под дробную часть и один байт под целую часть, а для b два байта под дробную часть и один байт под целую часть Для кода достаточно двух байт, а для результата три байта под целую и два байта под дробную части соответственно. 6.1 Оценка погрешности от перевода коэффициентов В соответствии с выбранным форматом данных данную погрешность можно найти так: Dпер.коэф=Dk*код+Db=2-24*4096-2-16
7. ОЦЕНКА ПОГРЕШНОСТЕЙ При расчетах в курсовой работе мы оценили погрешности возникающие от АЦП, аппроксимации, нормирующего усилителя и других. Суммарная погрешность всей ССД равняется сумме найденных погрешностей, то есть: DСУМ=DАЦП+DНУ+DАПР+Dпер.коэф где DАЦП – погрешность вносимая от АЦП (см табл.4); DНУ - погрешность от нормирующего усилителя (см. ф.(1)); DАПР - погрешность от аппроксимации(см.п.4); Dпер.коэф - погрешность от перевода коэффициентов (см. 4) DСУМ=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Точные значения кварцев
Приложение 2 Возможные значения кварцевSMOD=0
SMOD=1
Приложение 3 ОБОБЩЕННЫЙ АЛГОРИТМ РАБОТЫ Нет
Да
Подпрограмма инициализации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,C8hMET1: 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
1. Каталог по интегральным микросхемам фирмы ANALOG DEVICES за 1996 год. [1] В качестве источника опорного напряжения будет использоваться внутреннее опорное напряжение интегральной микросхемы AD7890. Вклад погрешности вносимой источником опорного напряжения учитываться не будет. |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|