Скачать

Система автоматической подстройки частоты

СОДЕРЖАНИЕ

СОДЕРЖАНИЕ................................................................................................... 5

ВВЕДЕНИЕ......................................................................................................... 6

1. синтез функциональной схемы.................................................... 7

1.1 Общее строение функциональной схемы..................................................... 7

1.2 Описание работы функциональной схемы.................................................. 8

2. ВЫБОР ЭЛЕМЕНТНОЙ БАЗЫ И РЕАЛИЗАЦИЯ ФУНКЦИОНАЛЬНЫХ БЛОКОВ СХЕМЫ............................................................................................................... 9

2.1        Масштабный усилитель........................................................................ 9

2.2        Устройство выборки-хранения........................................................... 10

2.3        Коммутатор........................................................................................ 11

2.4        Аналого-цифровой преобразователь.................................................. 11

2.5        Цифро-аналоговый преобразователь................................................. 11

2.6        Дешифратор........................................................................................ 12

2.7        Микроконтроллер................................................................................ 12

2.8  Блок светоиндикаторов............................................................................ 12

3. НАЗНАЧЕНИЕ ОСНОВНЫХ СИГНАЛОВ СХЕМЫ................................. 13

4. ОПИСАНИЕ РАБОТЫ ПРИНЦИПИАЛЬНОЙ СХЕМЫ........................... 13

5. Устранение помех в цепях питания........................................ 14

6. Оценка потребляемой мощности.............................................. 14

7. Описание алгоритмов управления и индикации............. 15

8. Описание программы....................................................................... 17

9. расчет временных характеристик устройства.................. 18

ЗАКЛЮЧЕНИЕ................................................................................................. 19

Список использованной литературы.......................................... 20

ПРИЛОЖЕНИЕ 1.............................................................................................. 21

ПРИЛОЖЕНИЕ 2.............................................................................................. 24


ВВЕДЕНИЕ

Основанием для выполнения проекта является:

1) учебный план кафедры ИУ6

2) техническое задание на курсовой проект

Целью курсового проекта является разработка системы автоматической подстройки частоты (далее САПЧ). Данная система предназначена для сравнения значений о текущей частоте, полученных с датчиков со значениями, заданными с пульта оператора, анализа и обработки отклонения и выдачи соответствующего сигнала управления и информационных сигналов.  САПЧ разработана на основе микроконтроллера (МК) КР1816ВЕ51 (аналог 8051AH фирмы Intel), архитектура которого стала стандартом на мировом рынке 8-разрядных микроконтроллеров. В разработанном устройстве обрабатываются 4 канала.

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

Управляющий сигнал зависит от входных сигналов системы в соответствии с программой обработки, которую несложно изменить и ввести в микроконтроллер. Это также придаёт системе универсальность.


1. синтез функциональной схемы

1.1 Общее строение функциональной схемы.

В техническом задании на курсовой проект задано спроектировать систему автоматической подстройки частоты.

 Взаимосвязь САПЧ и объекта управления показана на рис.1.1. Сигнал с датчиков частоты поступает в САПЧ, куда предварительно заносится значение, которое необходимо поддерживать. В зависимости от этих данных вырабатывается управляющий сигнал, который поступает на объект управления и значение частоты изменяется. Также САПЧ выдаёт информационные сигналы, если отклонение текущей частоты от заданной превышает определённое значение (10 %).

Рис. 1.1. Взаимосвязь объекта управления и САПЧ.

Функциональная схема разрабатываемого устройства, может быть реализована несколькими способами.

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

Функциональная схема устройства показана на рис.1.2.

Рис.1.2. Функциональная схема устройства.

Схема состоит из следующих блоков:

· масштабный усилитель, необходимый для согласования уровней напряжений датчиков, пульта оператора и мультиплексора;

· аналоговый мультиплексор, выбирающий определённый канал и коммутирующий его на свой выход;

· устройство выборки-хранения (УВХ), фиксирующее значение сигнала, на время преобразования в АЦП;

· АЦП, преобразующий аналоговый сигнал в 7-разрядный двоичный код;

· микроконтроллер, выполняющий основные операции управления и вычисления;

· цифро-аналоговый преобразователь (ЦАП), преобразующий значение сигнала в цифровом виде в аналоговый;

· дешифратор;

· четыре УВХ, фиксирующие выходной управляющий сигнал;

· блок светоиндикаторов.

1.2 Описание работы функциональной схемы.

Сигналы с датчиков и с пульта оператора для каждого канала подаются через масштабный усилитель на аналоговый мультиплексор, который в зависимости от состояния адресных входов выбирает необходимый. Номер сигнала задаётся в МК. Далее сигнал запоминается в УВХ, переводится в двоичный код и заносится в микроконтроллер.  После выполнения всех необходимых действий, микроконтроллер выдаёт выходной сигнал в двоичном  виде. Этот сигнал преобразуется в аналоговый вид и подаётся на входы четырёх УВХ. На управляющие входы УВХ подаётся сигнал с дешифратора. Дешифратор преобразует адрес, который выдаёт МК и выдаёт активный сигнал на одну из выходных линий, таким образом выбирая одно из УВХ. При отклонении текущей частоты от заданной более чем на 10% выдаётся сигнал на блок светоиндикаторов.


2. ВЫБОР ЭЛЕМЕНТНОЙ БАЗЫ И РЕАЛИЗАЦИЯ ФУНКЦИОНАЛЬНЫХ БЛОКОВ СХЕМЫ.

Линии портов ввода-вывода микроконтроллера КР1816ВЕ51 имеют уровни логических единицы и нуля соответствующие ТТЛ уровню. Поэтому для цифровых элементов схемы была выбрана ТТЛ серия КР1533. Маломощные быстродействующие микросхемы этой серии удовлетворяет требованиям по быстродействию и потребляемой мощности.

Для других элементов схемы при выборе элементов использовались такие критерии как возможность согласования с МК, низкая потребляемая мощность, функциональная завершённость микросхем.

Рассмотрим реализацию каждого из блоков.

2.1 Масштабный усилитель

Масштабный усилитель (МУ) построен на основе операционного усилителя К140УД6. Схема его включения показана на рисунке 2.1.

Рис. 2.1. Масштабный усилитель.

Используется схема с отрицательной обратной связью с подачей входного напряжения на инвертирующий вход. При этой схеме включения коэффициент усиления равен К=Rос/R1, сопротивление R2=Rос||R1.

Для МУ, преобразующих сигнал, с датчиков частот: К=5/25=0.2.

Roc=5.1 кОм. R1=25,5 кОм, согласно рядам стандартных сопротивлений R1=24 кОм, R2=4,5 кОм, согласно рядам стандартных сопротивлений R2=4,3 кОм.

Для МУ, преобразующих сигнал, с пультов оператора: К=5/15=0.333.

Rос=5.1 кОм. R1=15,3 кОм, согласно рядам стандартных сопротивлений R1=15 кОм, R2=3,8 кОм, согласно рядам стандартных сопротивлений R2=3,9 кОм.

Резистор R3 является подстроечным и используется для регулировки смещения нуля.

В качестве R3 используется резистор СП0-1.

Напряжения питания: Uп= ± 15 в.

2.2 Устройство выборки-хранения

Для устройства выборки и хранения была выбрана микросхема КР1100СК3. Схема включения показана на рис.2.2.

Рис.2.2. Устройство выборки и хранения.

Микросхема имеет в своем составе 4-х ключевой коммутатор и  парафазный усилитель. При применении в качестве УВХ используется полный набор функциональных элементов.

 Элементы имеют следующие параметры: С1=С2=50 пФ, R1=R2=R3=5 кОм.

Управляющие сигналы подаются на выводы 14 и 2 и должны быть взаимодополняемыми. Режиму выборка соответствует ТТЛ-уровень логической единицы на выводе 2 и нуля на выводе 14. На вывод 14 подаётся напряжение с дешифратора, на вывод 2 подаётся напряжение с дешифратора через инвертор (используемый дешифратор имеет инверсные выходы).

 Входное напряжение подаётся на вход 2-го ключа (вывод 13). Выходное напряжение снимается с выхода операционного усилителя (вывод 9).

Напряжения питания: Uп= ± 15 в.

Время выборки 3,5 мкс.

2.3 Коммутатор

В качестве аналогового коммутатора используется микросхема КР590КН1. Этот коммутатор имеет 8 входов (4 входа – сигналы с датчиков, 4 входа – сигналы с пультов оператора). Предельное коммутируемое напряжение – 5 в. Напряжения питания: Uп1= - 15 в., Uп2= + 5в.

2.4 Аналого-цифровой преобразователь

Для аналого-цифрового преобразования использована микросхема К1113ПВ1А. Она представляет собой десятиразрядный АЦП последовательного приближения. Используются 7 старших разрядов. Микросхема характеризуется функциональной полнотой. Необходимы лишь два источника питания Uп1=5 В., Uп2=-15 В. Преобразование начинается при подаче низкого уровня напряжения на вывод 11. После окончания преобразования на выводе 17 появляется напряжение высокого уровня. Этот сигнал поступает в микроконтроллер и используется для проверки готовности данных. Выходные буферные устройства имеют три состояния, что позволяет их использовать для связи с шиной данных микроконтроллера. Уровни входных и выходных сигналов соответствуют уровням ТТЛ. Время преобразования не более 30 мкс.

2.5 Цифро-аналоговый преобразователь

Для цифро-аналогового преобразования использовалась микросхема К1108ПА2, которая является функционально законченным устройством и сопрягается с микропроцессорами. Используется однополярный режим преобразования входных данных без хранения. В этом режиме выводы 6,  1, 18 заземляются. Напряжение питания Uп1=5 В., Uп2=-6 В. Время преобразования 1.5 мкс.

2.6 Дешифратор

В схеме использован дешифратор КР1533ИД4. Это сдвоенный дешифратор 2-4 с отдельными разрешающими входами. Используется один из двух дешифраторов. Разрешающий вход является инверсным. Выходы дешифратора также инверсные. Так как управляющие сигналы для УВХ должны быть взаимодополняющими, к выходам дешифратора подключены инверторы. Для них выбрана микросхема КР1533ЛН1, имеющая в своём составе 6 инверторов. Время задержки распространения сигнала 15 нс.

2.7 Микроконтроллер

В системе микроконтроллер КР1816ВЕ51 (зарубежный аналог 8051АН серии MCS-51 фирмы Intel).

Он имеет ПЗУ емкостью 4Кб, ОЗУ емкостью 128 байт, 4 универсальных порта ввода-вывода, 8-разрядное АЛУ с аппаратной реализацией операций типа умножение, последовательный порт, два 16-разрядных программируемых счётчика таймера.

Каждая линия порта 0 при работе в качестве выходов обеспечивает нагрузочную способность, равную 8 входам маломощной серии LS TTL, каждая линия портов 1-3 – 4 входам.

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

Рис.2.3.Схема подключения резонатора и сброса.

 Резистор R1 имеет сопротивление 8,2 кОм, конденсатор С3 имеет ёмкость 10 мкФ.

Кварцевый генератор имеет частоту 4 МГц.

2.8 Блок светоиндикаторов

2.9

Для индикации можно использовать четыре светодиода типа АЛ310Д.


3. НАЗНАЧЕНИЕ ОСНОВНЫХ СИГНАЛОВ СХЕМЫ.

В схеме используются следующие сигналы:

входные сигналы:

· D1 – D4 – напряжение с датчиков частоты;

· PU1 – PU4 – напряжение установки с пульта оператора;

выходные сигналы :

· Uout1 – Uout1 – управляющие сигналы, выработанные САПЧ.


4. ОПИСАНИЕ РАБОТЫ ПРИНЦИПИАЛЬНОЙ СХЕМЫ.

При включении питания схемы на вход RST МК через дифференцирующую цепочку подаётся сигнал высокого уровня и запускается процесс инициализации микроконтроллера.

После этого начинается опрос датчиков и сигналов с пультов оператора. Масштабный усилитель приводит диапазон напряжений к значению 0 – 5 В. В биты 0-2 порта Р0 выводится номер входа мультиплексора. Бит 3 порта Р0 управляет УВХ, стоящим перед АЦП, бит 4 управляет АЦП, бит 5 управляет дешифратором. В биты 4,5 сначала заносится 1, в бит 3 – 0. После переключения мультиплексора в бит 3 заносится единица и начинает работать УВХ в режиме выборки. По окончании выборки в биты 3,4 заносится 0. Начинается аналого-цифровое преобразование сигнала. Далее двоичный код заносится в семь младших разрядов порта Р1 МК. В старший разряд порта заносится сигнал готовности с АЦП. В бит 4 порта Р0 заносится единица, которая переводит выходные буферные устройства АЦП в высокоимпендансное состояние и отключает его от шины данных.

После ввода необходимых значений и их обработки происходит вывод управляющего сигнала. При этом в порт Р1 выводится двоичный код сигнала, который преобразуется в ЦАП в аналоговое напряжение. После преобразования в порт Р0 выводится  номер канала, для которого предназначен управляющий сигнал. Этот номер поступает на дешифратор, который выберет УВХ соответствующего канала. УВХ запомнит значение и будет хранить его до следующей выдачи управляющего сигнала в данный канал. В бит 5 порта Р0 записывается единица, которая отключает дешифратор.

При отклонении текущей частоты более чем на 10 % от заданной, в бит порта Р2 с номером канала, в котором произошло отклонение записывается единица и загорается один из четырёх светодиодов, подключенных к этому порту.


5. Устранение помех в цепях питания

Для уменьшения наводок и падений напряжений, связанных с переходными процессами в шинах питания и земли применены индивидуальные сглаживающие конденсаторы. Емкость и количество распределенных по схеме сглаживающих импульсные помехи конденсаторов выбраны следующим образом: по одному керамическому конденсатору емкостью 0.1 мкФ на один  корпус. Конденсаторы подключаются между шинами питания и земли и устанавливаются в непосредственной близости от обслуживаемых корпусов.

Кроме того, для компенсации бросков тока в системе питания непосредственно около разъема подачи питания установлены электролитические конденсаторы, по одному на каждую линию питания.

6. Оценка потребляемой мощности

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

Р=8 РК140УД6К590КН1КР1816ВЕ51КР1533ЛН1+5*РКР1100СК3К1113ПВ1АК1108ПА2+8*РКР1533ИД14,

Где Р – суммарная потребляемая мощность, Ртип микросхемы - мощность, потребляемая определённым типом микросхемы.

Максимальные потребляемые мощности для микросхем, используемых в САПЧ:

РК140УД6=84 мВт;

РК590КН1=70 мВт;

РКР1816ВЕ51=2 Вт;

РКР1533ЛН1=20 мВт;

РКР1100СК3=75 мВт;

РК1113ПВ1А=320 мВт;

РК1108ПА2=500 мВт;

РКР1533ИД14=65 мВт.

Суммарная потребляемая мощность, не более 3,1 Вт


7.      Описание алгоритмов управления и индикации

Алгоритмы управления системой и индикации показаны в приложении 1.

Рассмотрим основной алгоритм работы системы (рис.1 приложения 1). При включении устройства начинается инициализация необходимых переменных. Номеру входа мультиплексора, с которого считывается значение, присваивается значение N равное числу каналов (N=4 – пульт оператора 1-го канала). Далее начинается опрос датчиков частоты и пульта оператора. В системе реализован циклический режим опроса. При этом режиме опрос осуществляется по заранее установленной  программе, определяющей последовательность коммутации. Для каждого канала опрашивается сначала пульт оператора, затем датчик частоты. Обрабатывается 1-й канал, затем 2-й  и т.д. После опроса всех каналов, снова начинает опрашиваться 1-й канал, и т.д.

Работа системы  осуществляется следующим образом: устанавливается адрес памяти R0, по которому будет заносится 1-е значение, опрашивается вход I мультиплексора (пульт оператора ) , адрес памяти R0 увеличивается на 1, номер входа I уменьшается на N, опрашивается вход I мультиплексора (датчик частоты), происходит обработка данных, вывод результата, номер входа I увеличивается на N+1, происходит проверка: равно ли I значению 2*N+1, т.е. все ли каналы опрошены, если это условие выполняется, то I=N и всё начинается сначала с первого канала, если не выполняется, то I остаётся неизменным и всё повторяется для следующего канала.

Ввод значений с датчиков осуществляется процедурой INPUT.

Рассмотрим подробнее алгоритм этой процедуры (рис.2 приложения 1).

Сначала необходимо подготовить управляющее слово, которое будет содержать адрес опрашиваемого входа мультиплексора и сигналы, начинающие или запрещающие работу соответствующих микросхем. Для этого в младшие разряды слова помещается номер входа мультиплексора, 4-й бит и 5-й биты устанавливаются в 1, 3-й бит обнуляется. Тем самым запрещается работа УВХ с АЦП и дешифратора. Далее это слово выводится в порт 0. После окончания переходных процессов в мультиплексоре в 3-бит записывается единица, что начинает выборку сигнала на УВХ. После выборки в 3-й и 4-й биты записывается логический ноль, заканчивается выборка и начинается аналого-цифровое преобразование. После этого данные с АЦП считываются МК и проверяется старший бит считанного слова, который является флагом окончания преобразования. Если этот бит равен 0, то данные считываются снова, и так до тех пор, пока этот бит не будет равен 1. После этого необходимо отключить АЦП (обнулить4-й бит управляющего слова), тем самым отключить его от шины данных. В конце считанные данные заносятся в оперативную память.

Вывод управляющих сигналов осуществляется процедурой OUTPUT.

Рассмотрим алгоритм этой процедуры.

Сначала формируется управляющее слово. В младшие биты заносится номер обслуживаемого канала. 3-й бит равен 0 (УВХ перед АЦП отключено), 4-й бит равен 1 (АЦП отключен), 5-й бит равен 0 (разрешена работа дешифратора). Затем выводится двоичный код управляющего сигнала в порт 1 и начинается преобразование его в двоичный вид. После преобразования выводится управляющее слово в порт 0, номер канала дешифрируется и выбирается соответствующее УВХ, которое запоминает значение управляющего сигнала и сохраняет его до следующего цикла обработки этого канала.

Обработка считанных значений частоты, текущей и заданной, вычисление отклонения и выработка управляющих сигналов производится процедурой OBRAB.

Рассмотрим алгоритм этой процедуры (рис.3 приложения 1).

Сначала вычисляется отклонение, равное разности между заданной и текущей частотой. После этого выполняется процедура ANALIZ. Затем отклонение делится на заданную частоту и умножается на 100 и получается погрешность. В случае, если погрешность больше 0, то от неё отнимается 10. Если результат больше нуля, то в соответствующий бит порта 2 заносится единица и зажигается соответствующий светодиод. Если погрешность отрицательная, то к ней прибавляется 10. И если результат меньше нуля, то также в соответствующий бит порта 2 заносится единица.

Вычисление значения управляющего сигнала осуществляется процедурой ANALIZ. В данной работе реализован простейший случай, когда управляющий сигнал пропорционален измеренному отклонению. Алгоритм этой процедуры показан на рис. 3 приложения 1.

Здесь отклонение умножается на коэффициент пропорциональности и прибавляется значение, соответствующее нулевому отклонению. В данном случае это значение равно 127. Получившийся результат заносим в регистр R5.


8. Описание программы

Система команд МК КР1816ВЕ51 ориентирована на организацию гибкого ввода-вывода данных и первичную обработку информации. Особое внимание уделено операциям с битами и передаче управления по их значению.

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

· регистровая адресация;

· косвенно-регистровая адресация;

· непосредственная адресация.

Для адресации портов, регистров специальных функций используются зарезервированные символические имена (Р0, Р1, Р2, Р3 – порты, А или АСС - аккумулятор).

Текст программы приведён в приложении 2.

В начале программы объявляются константы, выбирается банк регистров общего назначения, номер которого определяется разрядами RS0, RS1 регистра PSW. В данном случае выбирается нулевой банк (SEL RB0).

В регистр R2 заносится число каналов N. Регистр R2 далее используется для хранения номера входа мультиплексора, с которого берётся значение. Регистр R0 используется в качестве указателя на ячейку внутренней памяти данных, хранящей операнд. В начале в R0 заносится значение 20H. По этому адресу будет хранится значение с пульта оператора. По адресу 21Н будет хранится значение текущей частоты. В регистре R5 хранится значение управляющего сигнала. Отклонение заносится в регистр R4.

Большое значение в системе команд уделено операциям с битами. В программе используются следующие команды: SETB bit, CLR bit, которые устанавливают бит соответственно в 1 или в 0. Для адресации бит используются зарезервированные символические имена вида < имя РСФ или порта > . < номер бита >.

Для передачи управления использовались такие команды как АSJMP – короткий переход, JNB – переход, если бит равен 0, JB – переход, если бит равен 1, JZ – переход, если аккумулятор равен 0.

Время выполнения команд равно одному, двум или четырём машинным циклам. Цикл равен 12 периодам внешнего синхросигнала (при внешней частоте 4МГц длительность цикла составляет 3 мкс). Это позволяет не вводить дополнительные задержки при вводе данных между выдачей адреса на мультиплексор, запуском УВХ и запуском АЦП и при выводе данных между выдачей данных  в порт 1 и выдачей адреса на дешифратор.

 Система арифметических команд включает в себя операции сложения, вычитания, инкремент, декремент, а также умножение и деление.

 Программа написана в соответствии с алгоритмами, представленными в приложении 1 и описанными в предыдущем разделе. Она включает в себя основную программу, подпрограммы INPUT, OUTPUT, OBRAB, ANALIZ. Вызов подпрограмм осуществляется командой АCALL.

9. расчет временных характеристик устройства.

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

 При внешней частоте в 4 МГц получим не более 672 мкс.

Для всех четырёх каналов получим не более 2.7 мс.

Частота опроса каналов не менее 0,37 кГц.


ЗАКЛЮЧЕНИЕ

В результате курсового проектирования была разработана система автоматической подстройки частоты на основе однокристальной ЭВМ КР1816ВЕ51 со следующими параметрами: потребляемая мощность: 3,1 Вт, число обсуживаемых каналов – 4, частота опроса не менее 0,37 кГц.

Разработка системы была проведена с учетом требований, указанных в техническом задании.

Система обеспечивает индикацию канала, в котором отклонение текущей частоты от заданной превышает определённое значение.

Была разработана принципиальная схема устройства, алгоритм управления и программа на языке ассемблер для микроконтроллеров серии MCS-51.

Разработанная система может применяться регулировки частоты в различных устройствах и приборах.


Список использованной литературы

1.  В.Б. Бродин, М.И. Шагурин – Микроконтроллеры. Справочник. /М.; Издательство ЭКОМ, 1999 г. – 400 с.

2.  Е.В. Вениаминов – Микросхемы и их применение. Справ. Пособие. / М.; Радио и связь, 1989г. – 240 с.

3.  В.Г. Гусев, Ю.М. Гусев – Электроника. Учебное пособие  / М.; Высшая школа, 1990 г. – 622 с.

4.  Ф.В. Шульгин – Справочник по аналоговым микросхемам / М., 1997 г.


ПРИЛОЖЕНИЕ 1.

Алгоритмы управления САПЧ.

Рис.1. Главный алгоритм работы системы.

Рис.2. Алгоритмы процедуры ввода INPUT и процедуры вывода OUTPUT.



Рис.3. Алгоритм обработки входных сигналов и подготовки результатов.


ПРИЛОЖЕНИЕ 2.

Программа работы микроконтроллера.

N EQU 4

K EQU 31

INIT:    SEL RB0 ;выбор банка регистров

L1:    MOV R2,N    ;занести номер канала

L2:    MOV R0,#20H  ;занести в РПД адрес памяти для данных

АCALL INPUT;чтение данных

MOV A,R2 ;

SUBB A,N ;

MOV R2,A ;R2=R2-N

  INC R0              ;увеличить адрес на 1

  АCALL INPUT ;чтение данных

  АCALL OBRAB         ;обработка данных

  АCALL OUTPUT;вывод результата

  MOV A,R2;

  INC          ;

  ADD A,N ;

  MOV R2,A;R2=R2+1+N

  MOV A,N          ;

  MOV B,#2         ;

  MUL AB ;A=2*N

  SUBB A,R2;

  JZ L1;сравнение A и R2

  АJMP L2;переход на L2

  RET

INPUT:     MOV A,R2  ;процедура чтения данных из порта

SETB ACC.5

SETB ACC.4      

OUT P0,A  ;вывод в Р0 адреса

SETB PO.3          ;запуск УВХ

CLR P0.3;

CLR P0.4 ;запуск АЦП

L3:    IN A,P1;чтение из Р1

          JNB ACC.7 L3;проверка готовности АЦП

          CLR ACC.7;ст. бит аккумулятора равен 0

          SETB PO.4                      

          MOV @R0,A;занести считанные данные в память

          RET         

OUTPUT: MOV A,R2;процедура вывода результатов

          SETB ACC.4     

   OUT P1,R5;вывод в Р1

          OUT P0,A ;вывод в Р0 адреса

          SETB P0.5

   RET       

OBRAB:   DEC RO;адрес значения пульта оператора

          MOV A,@R0;значение пульта оператора в акк.

          INC R0;адрес значения датчика

          SUBB A,@R0;отклонение между пультом оператора и датчиком

          MOV R4,A         ;отклонение в регистр 4

          АCALL ANALIZ ;процедура обработки и получения сигнала управления

          MOV A,R4         ;значения отклонения в акк.

          MOV B,#100;

          MUL AB;умножить отклонение на 100%

          DEC R0;адрес значения пульта оператора

          MOV B,@R0;значение пульта оператора в В

          DIV AB;разделить отклонение на значение пульта оператора

          JB ACC.7 NEG;переход если погрешность <0

          SUB A,#10         ;вычесть 10% из погрешности

          JNB ACC.7 INDIK1;если погрешность > 10% индикация

          АSJMP INDIK2

NEG: ADD A,#10

   JB ACC.7 INDIK1 ;если погрешность > 10% индикация

          АJMP INDIK2

INDIK1:    SETB P2.R2

   АJMP KON

INDIK2:    CRL  P2.R2         

KON:    RET      

ANALIZ:   MOV B,K;в регистр B значение коэффициента пропорциональности         

    MUL AB         ;умножить отклонение на коэффициент

           ADD A,#127;прибавить макс. зн-е результата деленное на 2 =127

           MOV R5,A;занести результат в регистр 5

           RET