Реферат по предмету "Коммуникации и связь"


Проектирование автоматической системы взвешивания вагонов в статике

СОДЕРЖАНИЕ
Введение
1.1 Принцип действия устройства
1.2 Блок-схема устройства
2 Принцип действия блоковсхемы
2.1 Первичныйпреобразователь
2.2 Расчет первичногопреобразователя
2.3 Нормирующий преобразотель
2.4 Аналого — цифровой преобразователь
2.5 Выбор мультиплексора
2.6 Выбор микроконтроллера
2.7 Передача информации через последовательный порт
2.8 Настройка контроллера на работу с последов. портом
3.Программирование микроконтроллера
3.1Блок-схема предустановок
3.2Блок-схема измерения веса
3.3Блок-схема вывода инфрмации о весе в компьютер
3.4Блок-схема автокалебровки.
3.5Управление микроконтроллером с компьютера
3.6Программа на ассемблере для микроконтроллера MCS-51
Список литературы
Приложения

В наше время, когда наукаи техника достигли очень больших высот, становится возможным моделированиеприборов, основанных на микропроцессорах и микроконтроллерах. На этих элементахцифровой электроники можно наряду с новыми аппаратами создавать давноизвестные, такие как вольтметры, частотомеры, электрические весы, но на базе контроллеров.У таких приборов множество преимуществ. Например, полученные с них данные могутвыводиться на экран дисплея или на жидкокристаллический дисплей, они болееточны и более универсальны, т.к. перепрограммировав их, можно измерятьпараметры в других пределах, а если еще произвести небольшое усложнение схем,то можно добиться увеличения функциональных возможностей аппарата. Такжезначительным преимуществом аппаратов на микропроцессорах является возможностьподключения их к компьютерам. В современных системах на различных производствахи т.п. повсеместно используют в виде посредника между датчиком и компьютеромбыстродействующие аппараты на основе микроконтроллеров. Такие аппараты значительнодешевле, чем на основе компьютеров, но по своим характеристикам не на много имуступают.
Также очень часто приборына микропроцессорах используются в системах автоматического управления. Процесспротекает строго согласно программам, записанным в память процессоров.
Часто, приборы намикроконтроллере производят прием информации от датчика, преобразуют вопределенный формат полученные данные, если необходимо — хранят данные,фильтруют, уплотняют и только после этого передают в компьютер. Таким образом,компьютер не «отвлекается» от главного процесса, -вся«черновая» работа производится контроллером. Информация анализируетсякомпьютером только в случае необходимости, или когда компьютер свободен.Микроконтроллер может даже генерировать прерывание, — такое необходимо, еслипоступила экстраординарная информация и требуется немедленная реакция на данноесобытие.
Целью данной работыявляется проектирование цифровых весов для взвешивания вагонов. Происходитанализ веса, пересчет (суммирование). Затем информация передается в компьютер.Причем можно организовать запись таким образом, чтобы запись производиласьтолько при появлении состава.
Поскольку измерение весапроисходит в статике, здесь особенно не важна скорость взвешивания. По этому,применение DSP не целесообразно.

1.1 Принцип действия устройства
/>
Рис. 1.1.
На рисунке 1.1.изображена схема измерения веса вагона.
Пронумерованнымистрелками показано направление потока информации от датчиков. Общее числодатчиков выбрано — 8.
Теоретически для описания(задания) плоскости достаточно всего 3 точки. В данном случае необходимо 4точки, т.к. возможно, что нагрузка на различные точки будет неравномерной,причем может очень сильно различаться. Весы двух платформенные — по этому,общее число точек контроля (датчиков) в два раза больше — 8 штук.
Так, как нагрузкараспределяется между опорными точками, в которых расположены датчики, то каждыйдатчик преобразует частичный вес вагона. Для получения общего веса вагонанеобходимо просуммировать все частичные весы. Это можно сделать как дооцифровки, так и после. Оцифровка необходима для того, чтобы передатьинформацию (полученный вес) в компьютер. Причем данные в компьютер могутпоступать в любой форме.
Предполагаетсярасполагать само устройство возле недалеко от платформ и рельсов. Дело в том,что полезный сигнал, снимаемый с датчиков очень мал (48...48000 мкВ). По этому,для уменьшения уровня помех и уменьшения потерь на соединительных кабеляхрасстояние должно быть малым. Само устройство подключается к компьютеру черезпоследовательный порт.
Скорость передачиинформации в компьютер можно задавать произвольно, т.к. измерение производитсяв статике.
1.2 Блок-схема устройства
 
/>

Рис 1.2.1.

На рисунке 1.2.1.изображена блок схема, поясняющая принцип работы схемы. Группа первичныхпреобразователей производит преобразование веса в соответствующие уровнинапряжения. Далее нормирующие преобразователи формируют уровни напряжения Unormдля каждого канала в заданном диапазоне для того, чтобы напряжение было«удобным» для дальнейших с ним действий. Этот процесс происходитнепрерывно и независимо от всех остальных.
В то же время происходитцифро-аналоговое преобразование выбранного канала. Причем используется одинАЦП, поэтому сигналы мультиплексируются. Мультиплексор управляетсямикроконтроллером. Полученный код веса записывается в микроконтроллер. Затем,МК меняет адрес канала и процесс преобразования повторяется для нового канала.После того, как будут опрошены все каналы и будут записаны полученные коды,характеризующие частичный вес, происходит суммирование частичного веса. Этасумма характеризует полный вес вагона.
Затем, данные сустройства передаются в последовательном коде в компьютер. Для этогоиспользуется драйвер последовательного порта RS-232. Программа-терминал накомпьютере, при необходимости, считывает данные из буфера последовательногопорта и высвечивает массу вагона на мониторе.
/>
Рис 1.2.2.

На рис. 1.2.2. показанасхема калибровки системы.
Калибровка в данномслучае представляет собой коррекцию нуля — устройством учитывается весплатформы, рельсов и т.п.
Калибровка осуществляетсяавтоматически и управляется микроконтроллером. Запуск коррекции осуществляетсяпо нажатию кнопки оператора. При этом на мониторе компьютера долженпоказываться ноль. Следует отметить, что коррекцию производит непосредственномикроконтроллер по каждому каналу, причем компьютер в данной операции неучаствует.
Наличие корректировкиповышает точность измерения и повышает автономность (автоматичность) даннойсистемы.
При необходимости можносделать так, чтобы при калибровке, устройство посылало на компьютер«нулевой» вес — т.е. вес при отсутствии вагона — на компьютер. Этопозволит контролировать правильность работы устройства.

2. Принцип действия блоков схемы
 
2.1 Первичный преобразователь
В роли первичногопреобразователя выступает тензорезисторный мост. Исходя из количестватензодатчиков />и максимальной /> массы взвешиваемого вагонавыбираем тензодатчики типа ДСТВ -1, рассчитанные на 16 тонн.
Система с такимитензодатчиками может взвешивать вагоны, массой до />.При этом существует запас на 38 тонн. Этот запас необходим, т.к. возможно, чтовес не будет равномерно распределен между контрольными точками (датчиками). Ктому же в взвешиваемый вес будет включаться и вес платформ.
Здесь учитывается, такжето, что при торможении поезда на платформу действует дополнительное усилие.Т.к. данные тензодатчики способны выдерживать дополнительную нагрузку на 50% отноминальной, то
/>,
что позволяет выдерживатьобщую нагрузку
/>, т.е. более, чем в 2 раза.
Основные параметрытензодатчиков ДСТВ — 1. Табл. 2.1.Параметр Значение Номинальная нагрузка
/> Нижний предел измерения
/> Значение рабочего коэффициента передачи (РКП) при номинальной нагрузке
/> Значение начального коэффициента передачи (НКП) не более
/> Категория точности 0.25 Входное сопротивление
/> Выходное сопротивление
/> Наибольшее допустимое значение напряжения питания постоянного или переменного тока с частотой до 1.5 кГц
/>
Допустимое значение перегрузки, процентов выше номинальной нагрузки
кратковременной
длительной
100%
50% Предельный диапазон рабочих температур -30°С… +50°С Габариты, (мм) 155 х 155 х 230
/>
Рис. 2.1.1. Внешний вид иустройство
На рисунке 2.1.1.изображен чертеж тензодатчиков ДСТВ — 1.
Здесь 1 — этоконцентрическая упругая поверхность, чья деформация преобразуется с помощьютензорезисторов в электрический сигнал; 2 — корпус первичного преобразователя,служащий для защиты устройства от попадания внутрь твердых веществ и воды; 3 — трубка, защищающая соединительные провода.
При оказывании давленияна концентрическую поверхность (1), она деформируется. На эту поверхность свнутренней стороны нанесены тензорезисторы. Причем тензорезисторы включены посхеме моста (рис. 2.1.2). К тензорезисторам подводится напряжение />, при этом, при условиимаксимальной нагрузки в /> навыходе моста будет напряжение, пропорциональное максимальной нагрузке />.
/>
Рис. 2.1.2.Тензорезисторный мост.
2.2 Расчет первичного преобразователя
Выбираем напряжениепитания />.
При этом, следуя формулечувствительности тензодатчика />.
Это означает, что приноминальной нагрузке в /> навыходе первичного преобразователя будет />.
Исходя из ТЗ необходимо,чтобы ошибка составляла 0.1%. Для получения такой точности вычислим минимальныйшаг квантования :
/>

2.3 Нормирующийпреобразователь
Учитывая выходныепараметры первичного преобразователя, выбираем усилительный элемент.
Т.к. полезный сигналбудет поступать с большим синфазным сигналом, приблизительно равным напряжениюпитания тензорезисторного моста />, тонеобходимо, чтобы усилитель имел очень высокий уровень подавления синфазногосигнала.
/>
Это соответствует />.
Значит, необходимовыбрать такой усилительный элемент, который обеспечивает ослабление синфазногосигнала минимум в />.
Коэффициент усилениядолжен быть таким, чтобы максимальный уровень полезного сигнала усиливался доопорного напряжения АЦП, что соответствовало бы максимальному коду. Опорноенапряжение выбираем стандартное />. Тогда
/>
Тогда выбираем т.н. инструментальныйоперационный усилитель фирмы BURR BROWN INA128.
В инструментальныхусилителях коэффициент усиления задается с помощью подключения внешнегосопротивления RG, значение которого высчитывается для INA128 последующей формуле

/> , где />
Тогда />, выбираем стандартноесопротивление />.
Полученный коэффициентусиления будет равен
/>.
Такое значениедопускается, т.к. первичный преобразователь выбирался с запасом, т.е. уровеньполезного сигнала на выходе тензорезисторного моста не будет достигать своегомаксимального значения
/>.
Это соответствуетнагрузке на все 8 датчиков
/>.
При этом остается запас />.

/>
2.3 Внутренняяструктура инструментального усилителя INA128.
2.4 Аналого — цифровой преобразователь
Аналого- цифровой преобразователь (АЦП) выбирается исходя из ТЗ.
Намнеобходимо взвешивать груз с максимальной весом />.При этом необходимо производить измерение с погрешностью 0.1%, что соответствует
/>.
Здесь /> — пересчетное значениемладшего значащего разряда — шаг квантования. Для того, чтобы покрыть весьдиапазон с шагом, равным минимальному шагу квантования необходимо сделать />шагов.
Это соответствует />. Значит, сигнал необходимооцифровывать с разрядностью 10. Это минимальное значение разрядности АЦП. Вреальных условиях необходимо иметь запас. Поэтому выбираем разрядность АЦП — 12.
Частота дискретизацииможет быть любой, т.к. процесс измерения происходит в статике.
Выбираем АЦП фирмы BURRBROWN ADS7820.
Передача информацииосуществляется в параллельном коде в микроконтроллер по управляющему сигналу сМК. Затем МК мультиплексирует входные сигналы и процесс повторяется.
После обработки всехлиний, МК анализирует полученные данные. Причем в это время АЦП не выбран. Этоозначает, что его выходы находятся в высоко импедансном состоянии и принеобходимости могут обслуживать другое устройство.
/>
Рис. 2.4.1. Схемавключения АЦП ADS7820.

/>
Рис. 2.4.2. Внутренняяструктура АЦП.
Для настройки данного АЦПна работу необходимо на выход BYTE подать сигнал низкого уровня. При этом на D0… D11 будет поступать код, соответствующий входному аналоговомупреобразующему сигналу.
/>R/C — Чтение/Преобразование. При перепаде из ноля в единицу (положительном фронте) наэтом входе разрешается считывание кода с параллельного порта. При перепаде изединицы в ноль (отрицательном фронте) запуск преобразования аналогового сигналав код.
/>/>CS — Выбор кристалла. При логическомнуле на этом входе происходит активация АЦП. Вместе с R/C — запускаетпреобразование. При логической единице на этом входе происходит перевод всехлиний параллельного порта в высокоимпедансное состояние.
/>BUSY — Призапуске преобразования на этом выходе устанавливается логический ноль. Сброснуля происходит, когда преобразование закончится.
/>Предлагаетсяподвести от вывода R/C АЦП линию к выводу INT0 и INT1 микроконтроллера черезлогическую схему.

2.5 Выбор мультиплексора
Согласно ТЗ, необходимоработать сразу с восемью аналоговыми сигналами. Для того, чтобы можно былооцифровывать все 8 сигналов одним АЦП необходимо использовать аналоговыймультиплексор. При этом нет требований к его быстродействию.
Необходимо, чтобы он могпропускать напряжение до 2V.
Выбор канала долженосуществляться с помощью трех управляющих выводов, задающих номер канала. Этимбудет заниматься микроконтроллер.
Выбираем мультиплексорфирмы BURR BROWN MPC508A.
/>
Рис. 2.5.1. Внутренняя структурамультиплексора.
/>
Рис. 2.5.2. Вариант схемывключения мультиплексор MPC508A.

2.6 Выбор микроконтроллера
В данном случае, согласноТЗ, перед проектировщиком не ставится каких либо особых ограничений илитребований. Т.к. процесс измерения веса происходит в статике, то нетнеобходимости в очень высоком быстродействии схемы. По этому не целесообразнопроектировать данное устройство на DSP.
Одним из самыхраспространенных микроконтроллеров на сегодняшний день является МК семействаMCS-8051, первоначально разработанные фирмой INTEL.
INTEL MCS-8051предназначен для построения контроллеров и микро-эвм различного назначения,отличающихся низкими аппаратными затратами при сохранении универсальности и быстродействия.Область применения MCS-8051 — от локальных систем автоматики до устройствуправления бытовыми приборами.
Основнымипрограммно-доступными устройствами MCS-8051 являются:
1) 8-разрядныйаккумулятор а;
2) 8-разрядныйвспомогательный регистр в;
3) триггеры признаковрезультата: C (переноса), AC(вспомогательного переноса), OV (переполнения), P(четности);
4) триггеры выбора банкарабочих регистров RS0 и RS1;
5) триггерпрограммно-управляемого флага F0;
6) 16-разрядный счетчиккоманд PC;
7) 16-разрядный региструказателя данных DPTR;
8) 8-разрядный региструказателя стека SP;
9) внутренняя памятьпрограмм емкостью 4 кбайт, расширяемая внешними устройствами до 64 кбайт;
10) внутренняя памятьданных емкостью 128 байт, в которой размещается от одного до четырех банковрабочих регистров R0-R7, область стека и побитово адресуемая область памяти;
11) внешняя память данныхемкостью до 64 кбайт;
12) два программируемых16-разрядных таймера-счетчика;
13) программируемый двухнаправленныйпоследовательный порт ввода-вывода и соответствующие устройства управления;
14) четыре 8-разрядныхдвухнаправленных параллельных порта ввода-вывода;
15) двухуровневаяприоритетная система прерываний.
Предлагвется использоватьмикроконтроллер MCS-8051 следующим образом:
Порт Р0 и Р2 будутработать с данными, поступающими с АЦП.
Порт Р1 будет настраиватьмультиплексор и АЦП.
Калибровка системы будетпроизводиться по сигналу с компьютера.
Калибровка, также, будетосуществляться по прерыванию INT0.
С помощью RxD и TxD будетосуществляться связь с компьютером.

/>
Рис. 2.6.1. Внутренняяструктура микроконтроллера INTEL MCS-8051.
/>
Рис. 2.6. МикроконтроллерINTEL MCS-8051

2.7 Передача информации через последовательный порт.
/>
Рис. 2.7.
На рисунке 2.7.изображена электрическая принципиальная схема передачи информации отмикроконтроллера в последовательный порт компьютера посредством комплексногопреобразования напряжений с помощью драйвера последовательного интерфйсаRS232A.
Главная функцияустройства RS232A — согласование напряжения между устройствами. Дело в том, чтонапряжения логической единицы и нуля для микроконтроллера и компьютерного COM — порта различаются по уровням и полярности напряжений.
Табл.2.5.
Логический Уровень
Уровень напряжения для МК
Уровень напряжения для COM 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 — калибровка.
; скорость передачи 300бод, — задаётся ТС1

ORG 00H; начальный адрестрансляции
SJMP BEGIN
ORG 03H; прерывание по INT0
JMP MAIN
ORG 23H; прерывание попоследоват. порту
JMP UAPP
 
ORG 30H; программаинициализации
BEGIN:
MOV IE,#10010001B; разрешение прерываний по последоват.
; порту и по INT0
MOV IP,#00010000B; установка высшего приоритета у прерыв. по ПП
MOV TMOD,#00100000B; режим с перезагр TH1 в TL1
MOV TCON,#00000000B; обнуление битов управления ТС1
MOV PCON,#00000000B; работа МК без удвоения частоты
MOV SCON,#0101000B; настройка UAPP
MOV P0, #0FFH; настройкапортов P0 и P2 на ввод
MOV P2, #0FFH
MOV TH1, #187; загрузка изапуск таймера
MOV TL1, #187
SETB TCON.6
MOV R5, #15; очисткасмещений
MOV R1, #52
CALL CLEAR

CLR PSW.1; активацияподпрограммы взвешивания
STOP:JMPSTOP; зацикливание
;____________________________________________________________
;____________________________________________________________
;Nucleus ofthe Program
MAIN:
MOV R5, #0
MOV R0, #32; начальныйадрес ячейки памяти
 ; для получаемого кода
 MOV R1, #52; начальныйадрес смещений
MOV P1, #11111000B;0 — настройка на вывод
MOV P1, R5; выбор канала 1(MUX).
RETM:MOV P0, #0FFH; приемтекущего значения
MOV R6, P0; кода с АЦП.«1»-линия настроена
MOV P2, #0FFH; на ввод
MOV R7, P2; в R6-младшийбайт кода,R7-старший
JNB PSW.1, MAIN0
MOV A, R6; записьполученных кодов в область смещений
MOV @R1,A; младший байт
INC R1
MOV A, R7
MOV @R1,A; старший байт
JMP COMMON
MAIN0:

CLR PSW.7
MOV A, R6
SUBB A, @R1; коррекцияOffSet для младшего байта
MOV @R0, A; записьмладшего байта
INC R0; вычисление адресастаршего байта
INC R1
MOV A, R7
SUBB A, @R1; коррекцияOffSet для старшего байта
MOV @R0, A; записьстаршего байта
COMMON:
; подготовка к следующемуциклу
INC R0; вычисление новогоадреса младшего байта
INC R1
INC R5; вычисление адресаканала MUX
CLR PSW.7
MOV A, R5; проверка ->адрес канала > Last(8).
SUBB A, #8
JNZ GoOn
JB PSW.1,KALIB
ACALL OUT; вызовподпрограммы вывода инф. на ЭВМ
; и реинициализацииуправл. регистров.
KALIB:
CLR PSW.1
RETI
GoOn:
MOV P1, #11111000B;0 — настройка на вывод
MOV P1, R5;0 — 2 линиипорта P1 — управляют MUX
MOV R4,#20; небольшаязадержка для АЦП
DAC1:DJNZ R4,DAC1
JMP RETM
;End Nucleusof the Program
;_____________________________________________________________
;_____________________________________________________________
; Вывод полученного веса вкомпьютер через последовательный порт
OUT:
MOV R6, #0; временно — R6-мл. результат
MOV R7, #0 ;R7-ст.результат
;R5-счетчик
MOV R5, #8
MOV R0, #32
SUMM:
MOV A, @R0; суммированиемладшего байта
ADD A, R6; и запись его вR6
MOV R6, A
INC R0
MOV A, @R0; суммирование старшего байта
ADDC A, R7; и запись его вR7
CLR PSW.7
MOV R7, A
INC R0
DJNZ R5, SUMM; в регR6-мл.результат
; R7-ст. результат
CLR IE.7; запрет всехпрерываний на время передачи
MOV SBUF,R6; передачамладшего байта результата
ACALL DELAY; вызовподпрограммы задержки
MOV SBUF,R7; передачастаршего байта результата
ACALL DELAY; вызовподпрограммы задержки
CLR SCON.1; сброс флагапрерывания по посл. порта
SETB IE.7; разрешениепрерываний
MOV R5, #0
MOV R0, #32; начальныйадрес ячейки памяти
; для получаемого кода
MOV R1, #52; начальныйадрес смещений
CLR IE.0; запрещениепрерывания по INT0
RET
; Конец передачи
;_____________________________________________________________
;_____________________________________________________________
; Прерывание попоследовательному порту
UAPP:
CLR SCON.1; сброс флагапрерывания
MOV R7, SBUF; приемуправляющего слова

ACALL DELAY
MOV A,#00111100B; обнуление смещений и результатов
SUBB A, R7
JNZ NEXT0
MOV R5, #36; запуск очистки
MOV R1, #32
ACALL CLEAR
NEXT0:
MOV A, #11110000B; запросна запуск преобразования и
SUBB A, R7; и на передачув компьютер
JNZ NEXT1
; активация работы подпрограммы
CLR PSW.1; взвешивания вMAIN
SETB IE.0; разрешениепрерывания по INT0
NEXT1:
MOV A, #00001111B; запросна передачу в компьютер
SUBB A, R7
JNZ NEXT2
ACALL OUT
NEXT2:
MOV A, #0FFH; запрос накалибровку
SUBB A, R7
JNZ NEXT3; активацияработы подпрограммы
SETB PSW.1; калибровки в MAIN
NEXT3:
OTHERWISE:
RETI
;_____________________________________________________________
;_____________________________________________________________
; Подпрограмма задержкидля последовательного порта
DELAY:
MOV R2,#25; задержка,небходимая для
A2:MOVR3,#250; принятия/передачи байта
A1:DJNZ R3,A1
DJNZ R2,A2
RET
;_____________________________________________________________
;_____________________________________________________________
CLEAR:
MOV @R1, #0;R5- колличество
INC R1 ;R1 — начальныйадрес
DJNZ R5, CLEAR
RET
;_____________________________________________________________
END; конец трансляции


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.