Микропроцессорная система управления объектом

Структурная схема микропроцессорной системы управления. Разработка принципиальной схемы блока чтения информации с датчиков. Алгоритм работы блока обмена данными по последовательному каналу связи. Электрические параметры системы, листинг программы.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 21.11.2013
Размер файла 1,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

[Введите текст]

ВВЕДЕНИЕ

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

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

В течении четырех лет, начиная с 1976 г., фирмой INTEL разрабатывалось получившее широкое распространение семейство 8-и разрядных однокристальных микроконтроллеров с программным управлением MCS-48.

Вычислительные возможности первых однокристальных микроЭВМ были исчерпаны уже к началу 80-х гг. Встала задача разработки новых микроконтроллеров, обладающих расширенными функциональными ресурсами. Среди предложенных новых архитектур однокристальных микроЭВМ следует выделить 8-разрядную архитектуру семейства микроконтроллеров MCS-51, предложенного фирмой INTEL в 1981 г. Она удовлетворяет всем требованиям, представляемым к однокристальным микроконтроллерам, и является наиболее применяемой.

Однако к настоящему времени значительную часть мирового рынка микропроцессорных средств составляет другой вид однокристальных контроллеров - это так называемые периферийные интерфейсные контроллеры или PIC. Они представляют собой высокопроизводительные БИС, в которые интегрированы помимо цифровых устройств (собственно микроконтроллера) также и аналоговые - это различные АЦП, компараторы, модули сравнения ШИМ и т.д. Это делает данные устройства чрезвычайно популярными у производителей «интеллектуальных» устройств.

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

- простота в установке, наладке и эксплуатации;

- небольшие габариты;

- небольшая стоимость;

- обработка системой различных аварийных ситуаций;

- возможность получения информации о состоянии установки и технологического процесса с помощью ЭВМ.

1. ТЕХНИЧЕСКОЕ ЗАДАНИЕ НА РАЗРАБОТКУ МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ УПРАВЛЕНИЯ

В курсовой работе разрабатывается микропроцессорная система управления некоторым объектом.

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

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

1. Обработка цифровой информации

Микропроцессорная система опрашивает двоичные датчики Х1,..., Х5 и вычисляет булеву функцию

(1)

При единичном значении функции система вырабатывает выходной сигнал Y1 = 1 длительностью Т1. Это означает, что через T1 после выдачи единичного сигнала Y1 необходимо выработать нулевой сигнал Y1.

В системе имеется также двоичный датчик аварийной ситуации Х0, единичный сигнал с которого вызывает аварийный останов системы в любой момент выполнения рабочего цикла программы.

2. Обработка аналоговой информации

Сигналы с аналоговых датчиков V1 и V2 преобразуются в цифровую форму в АЦП. С выхода АЦП 8-разрядные коды N1 и N2, представляющее собой целые числа без знака, поступают на обработку. Величина К - 8-разрядный код уставки, поступающий с тумблерного регистра пульта управления.

На основе полученных данных контроллер реализует следующую функцию:

(2)

Полученное значение функции N сравнивается с константой Q, хранящейся во внутренней памяти. В зависимости от результатов сравнения система вырабатывает двоичные управляющие воздействия Y2 (если N < Q) или Y3 (если N > Q) длительностью Т2 или Т3 соответственно.

Управляющее воздействие Y4 формируется в виде аналогового сигнала V4 с ЦАП и поступает на ИМ. Значение Y4 определяется как восьмиразрядное двоичное число по формуле:

(3)

где а0 и a1 - восьмиразрядные коэффициенты, хранящиеся во внутренней памяти микроконтроллера; N2 - восьмиразрядный код, поступающий с выхода АЦП.

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

Если после умножения значение Y4 превышает восемь разрядов, то необходимо принимать значение Y4 равное младшему байту.

3. Обработка запросов на прерывания

Система обрабатывает запросы на прерывание пяти уровней:

- запрос на прерывание по сигналу отказа источника питания IRQ0;

- запрос на прерывание по сигналу аварийного датчика IRQ1;

- запрос на прерывание от терминала внешней ЭВМ IRQ2;

- запрос на прерывание от таймера IRQ3;

- запрос на прерывание от пульта управления (прерывание оператора) IRQ4.

Прерывание работы системы при отказе источника питания имеет высший приоритет. Система при этом переходит на резервный источник питания (батарейка) вырабатывает сигнал Y5 установки внешних устройств в исходное состояние (например, отвод головок от диска, останов дисковода и т. д.) и передает в последовательный канал связи (если он был активен) код символа «!». Сигнал Y5 представит собой два прямоугольных импульса длительностью 30 мкс, следующие с интервалом в 30 мкс. После выполнении указанных действий микроконтроллер необходимо перевести в режим пониженного энергопотребления.

Прерывание от сигнала аварийного датчика включает на пульте управления аварийную световую и обеспечивает выдачу на индикацию сигналов двоичных датчиков X1,..., Х5 и цифровой код N1, поступающий с АЦП. После этого микроконтроллер переводится в режим пониженного энергопотребления.

Прерывания от терминала внешней ЭВМ осуществляются при приеме последовательным каналом связи символа управления обменом. Приемник последовательного адаптера выставляет при этом запрос на прерывание работы основной программы с целью передачи в последовательный канал связи запрашиваемой информации. Запрашиваемая информация формируется в зависимости от принятого из канала символа. При приеме символа «D» в канал передается значение Y1, при приеме символа А - значение Y4. После загрузки в буфер передатчика БИС последовательного адаптера запрашиваемой информации управление передается в прерванную программу.

Прерывания от пульта управления влекут за собой выполнение следующих действия:

1. Выдать на регистр индикации РИ1 значения следующих четырех булевых переменных:

а) последнее значение Y1;

б) результат сравнения N > Q;

в) значение выражения X1 ?X2 ?X3 ?X4;

г) значение выражения X1 ?X2 ?X3 ?X4.

2. Запись информации по заранее заданному адресу.

3. Организовать выход из прерывания на начало программы обработки.

Пульт управления

Пульт управления должен содержать следующие элементы:

1) регистр со светодиодами индикации значения N1 - РИ1;

2) регистр со светодиодами индикации значений (X1,..., X5) - РИ2;

3) регистр со светодиодами индикации значений Y1, Y2, Y3 - РИЗ;

4) регистр со светодиодами индикации кода Y4 - РИ4;

5) входной восьмиразрядный регистр Р5 для приема с тумблеров пульта кода K (для вариантов, в которых он используется);

6) светодиод индикации, на который подается меандр частотой 2 Гц, соответственно варианту;

7) кнопку «Сброс», при нажатии на которую производится начальная установка элементов системы;

8) тумблер «Останов», опрашиваемый в конце каждого цикла выполнения программы.

Пульт управления

Пульт управления должен содержать следующие элементы:

устройство индикации;

входной 8-разрядный регистр для приема с тумблеров пульта значение константы К;

светодиод индикации, на который подается меандр частотой 2 Гц;

кнопку «Сброс», при нажатии на которую производится начальная установка элементов системы;

тумблер «Останов», опрашиваемый в конце каждого цикла выполнения;

программы.

2. СТРУКТУРНАЯ СХЕМА МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ УПРАВЛЕНИЯ

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

Рисунок 1 - Структурная схема системы управления

На рисунке представлена структурная схема системы управления, на которой указаны подключения к микроконтроллеру всех датчиков. При подключении датчиков, для согласования сигналов, использованы устройства сопряжения (УС1-УС7). Аналоговые сигналы подаются на АЦП через аналоговые устройства сопряжения. Кроме того, на схеме указано подключение к микроконтроллеру пульта управления и ЦАП. Также на схеме показаны все выходные сигналы, используемые для управления различными устройствами. Контроллер обменивается информацией с системой более высокого уровня по интерфейсу CAN (скорость обмена 57 600 бит/с). Для согласования уровней ТТЛ с уровнями сигналов интерфейса CAN в схему включен преобразователь уровней ПУ. Подключение датчиков, пульта управления, схему индикации и ЦАП осуществляется посредством общей 8-разрядной шины, подключенной к порту D контроллера. Подключение пульта управления и устройств сопряжения к шине осуществляется с помощью блока расширения ввода (БРВ). Кроме того, этот блок формирует запросы прерываний.

Для исключения влияния исполняющих устройств на линии вывода контроллера сигналы Y1, Y2/Y3 и Y5 проходят через выходные устройства сопряжения (УСВ1-УСВ3).

Линия

Направление

Тип линии

Количество

Х1 - Х5

Вход

Цифровая

5

N1- N2

Вход

Аналоговая

2

P1(t)

Вход

Цифровая

1

От схемы контроля

Вход

Цифровая

1

От регистра остановки

Вход

Цифровая

1

От сброса

Вход

Цифровая

1

От прерывания оператора

Вход

Цифровая

1

БФЗП

Вход

Цифровая

1

Y1, Y2, Y3, Y4

Выход

Цифровая

4

Y5

Выход

Аналоговая

1

SCL/2

Выход

Цифровая

1

SDA/2

Вход/Выход

Цифровая

1

Tx

Выход

Цифровая

1

Rx

Вход

Цифровая

1

На ПУ

Выход

Цифровая

1

Итого:

23

Наименование

Память программ (слов)

ОЗУ данных (байт)

Макс. Ч-та, МГц

Разряды ввода-вывода

АЦП

Посл. порты

ШИМ

Таймеры

PIC16F877A

8192x14

386

20

33

8

USART, MSSP

3

4+WDT

3. РАЗРАБОТКА ПРИНЦИПИАЛЬНОЙ СХЕМЫ БЛОКА ЧТЕНИЯ ИНФОРМАЦИИ С ДАТЧИКОВ

3.1 Разработка устройства сопряжения с бинарным датчиком

Схема сопряжения обеспечивает гальваническую развязку бинарного датчика и линии ввода контроллера. Схема сопряжения для сигнала «Аварийный останов» (X0) представлена на рисунке 2.

Рисунок 2 - Схема сопряжения с бинарным датчиком

Сопротивление резистора R1 рассчитывается по формуле

,

где |Uвх|max - максимальный из модулей входных напряжений, В; Uпр - прямое падение напряжения на светодиоде оптрона, В; Uст - напряжение стабилизации стабилитрона VD1, В; Iпр - прямой ток через светодиод оптрона, А.

Стабилитрон VD1 выбирается из следующих условий:

,

,

где |Uвх|min и |Uвх|max - соответственно, минимальный и максимальный модули входных напряжений, В; Uст - напряжение стабилизации стабилитрона VD1, В; Iстmin, Iстmax - соответственно, минимальный и максимальный токи стабилизации стабилитрона VD1, А; Iпр - заданный прямой ток через светодиод оптрона, А.

Выходная цепь устройства согласования образованна транзистором оптрона VU1 и подтягивающим резистором R2. Транзистор выполняет функцию ключевого элемента, а резистор формирует на выходе схемы напряжение логической «1», когда транзистор закрыт. Если к выходу устройства сопряжения подключен вход микросхемы ТТЛ, то сопротивление резистора R2 выбирается равным 1 кОм, а если вход микросхемы КМОП логики - 10 кОм.

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

Схема сопряжения обеспечивает гальваническую развязку аналогового датчика и линии ввода контроллера, а также преобразует входной аналоговый сигнал с уровнями -34…15 В в выходной сигнал с уровнями 0…2,5 В. Схема сопряжения для сигнала N1 представлена на рисунке 3.

Рисунок 3 - Схема сопряжения с аналоговым датчиком

На ОУ DA1 типа AD202 собран аналоговый неинвертирующий сумматор, который преобразует входной сигнал с уровнями -34…15 В в сигнал с уровнями 0…2,5 В.

Рассчитаем номиналы сопротивлений резисторов R1, R4, R6.

В случае, если минимальное выходное напряжение , для неинвертирующего сумматора справедливы следующие соотношения сопротивлений резисторов:

; (5)

. (6)

В данной схеме , .

Выберем сопротивление резистора R1 = 68 кОм, тогда R6 = 15 кОм, R4 = 36 кОм.

Кроме того, на ОУ DA1 AD202 выполнено устройство гальванической развязки, и гальванически развязанный источник питания 7,5 В для сумматора.

3.3 Разработка устройства контроля напряжения питания

Устройство формирует на выходе уровень логического «0» при наличии напряжения питания ~220 В и уровень логической «1» при его отсутствии. Схема устройства представлена на рисунке 4.

Рисунок 4 - Схема устройства контроля напряжения питания

Схема работает следующим образом. При наличии переменного напряжения на входе светодиод питается через однополупериодный выпрямитель на диоде VD1 и ограничительный резистор. Светодиод зажжен, следовательно, транзистор оптрона открыт и на выходе схемы логический «0». Конденсатор C1 сглаживает пульсации выпрямленного напряжения. Если переменное напряжение на входе отсутствует, ток через светодиод не протекает, он погашен, следовательно, транзистор закрыт и на выходе схемы логическая «1».

Рассчитаем сопротивление резистора R3:

; (7)

где Ua - максимальное входное напряжение (амплитудное значение), Uпрн - прямое падение напряжения на светодиоде оптрона, Iн - номинальный ток через светодиод.

Таким образом:

.

4. РАЗРАБОТКА ПРИНЦИПИАЛЬНОЙ СХЕМЫ БЛОКА ВЫВОДА УПРАВЛЯЮЩИХ СИГНАЛОВ

Данный блок формирует управляющие воздействия Y1-Y5. Схема блока приведена на рисунке 5. Бинарные управляющие воздействия Y1, Y2/Y3, Y5 подаются на объект управления через эмиттерные повторители на транзисторах VT3-VT5 типа КТ503А, осуществляющие усиление выходных сигналов по току. Для формирования аналогового управляющего сигнала Y4 используется 8-разрядный ЦАП AD5330.

Рисунок 5 - Схема блока вывода управляющих сигналов

5. РАЗРАБОТКА ПРИНЦИПИАЛЬНОЙ СХЕМЫ БЛОКА ПОСЛЕДОВАТЕЛЬНОГО КАНАЛА СВЯЗИ

В проектируемой системе управления для связи с внешним устройством используется последовательный интерфейс RS-232. В качестве приемопередатчика используется встроенный в микроконтроллер модуль USART. Для формирования уровней сигналов соответствующих интерфейсу RS-232 используется преобразователь уровней MAX232A. Схема его включения приведена на рисунке 6.

Рисунок 6 - Схема включения преобразователя уровней MAX232A

Подключение к внешнему устройству осуществляется через стандартный 9-штырьковый разъем DB-9.

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

6.1 Разработка схемы считывания информации с элементов управления

Данная схема осуществляет подключение тумблеров уставки SA1-SA8, схем сопряжения с датчиками X0-X5, схемы контроля источника питания и тумблера SA9 «Останов» к 8-разрядной двунаправленной шине данных. Схема также формирует сигнал прерывания в следующих случаях:

- появление высокого уровня напряжения на выходе схемы контроля напряжения питания (напряжение питания отсутствует);

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

- нажатие кнопки SB1 «Прерывание оператора».

В состав пульта управления входит также кнопка SB2 «Сброс», при нажатии на которую формируется низкий уровень напряжения на входе MCLR контроллера, что приводит к сбросу последнего.

При нажатии на кнопку SB1 на светодиоды HL1-HL4 регистра индикации РИ1 выводятся следующие значения:

- последнее значение Y1;

- результат сравнения N > Q;

- значение выражения ;

- значение выражения .

На светодиоды регистра РИ2 в этом случае выводится значение константы Q.

Для подключения 16 входных линий (8 тумблеров уставки, 6 входных линий X0-X5, линия контроля источника питания и тумблер «Останов») к 8-разрядной шине данных используются два 8-разрядных шинных формирователя с 3-мя выходными состояниями DD2, DD3 типа IL74HC244AN. Выходы формирователей подключены к шине данных, а входы - к перечисленным выше входным линиям. Каждый формирователь имеет 2 входа разрешения выходов OEA и OEB. Если на этих входах присутствует низкий логический уровень, то сигналы на выходах формирователя повторяют сигналы на входах A0-A3, B0-B3. Иначе выходы находятся в 3-м состоянии (отключены от шины данных). Таким образом, контроллер подает логический «0» поочередно на входы OEA и OEB каждого формирователя и считывает сигналы с шины данных.

Рисунок 7 - Схема считывания информации с элементов управления

Сигнал запроса прерывания (активный низкий уровень) формируется элементами 2ИЛИ-НЕ DD1.1-DD1.4, реализующими логическую функцию 2ИЛИ-НЕ-И, в следующих случаях:

- нажатие кнопки SB1 «Прерывание оператора»;

- изменение сигнала X0 из «0» в «1» (появление аварийной ситуации);

- изменение сигнала «Контроль источника питания» из «1» в «0» (напряжение питания отсутствует).

Сигнал запроса прерывания поступает на вход INT контроллера.

6.2 Разработка схемы индикации

Схема индикации предназначена для вывода информации о состоянии системы на пульт управления. В состав схемы индикации входят три параллельных 8-разрядных буферных регистра DD5-DD7 типа IL74HC573N и 24 светодиода HL1-HL24 красного цвета свечения типа АЛ307АМ. Схема индикации приведена на рисунке 8. Выходы регистров имеют повышенную нагрузочную способность, что позволяет подключать светодиоды непосредственно к ним. Резисторы R33-R56 ограничивают ток через светодиоды на уровне 5 мА. Их сопротивление составляет 470 Ом.

Регистр DD5 и светодиоды HL1-HL8 образуют регистр индикации РИ1. Регистры РИ2 и РИ3 построены на базе регистра DD6. При этом светодиоды HL9-HL13 образуют регистр РИ2, а светодиоды HL14-HL16 - регистр РИ3. Регистр РИ4 образован регистром DD7 и светодиодами HL17-HL24.

При нажатии кнопки пульта управления SB1 «Прерывание оператора», на светодиоды выводится следующая информация:

HL1 - последнее значение Y1;

HL2 - результат сравнения N > Q;

HL3 - значение выражения;

HL4 - значение выражения;

HL9-HL16 - двоичное значение константы Q.

Рисунок 8 - Схема индикации

7. РАЗРАБОТКА СТРУКТУРЫ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ОБЩИЙ АЛГОРИТМ УПРАВЛЕНИЯ

Блок-схема общего алгоритма работы системы приведена на рисунке 9. После сброса начинается процесс инициализации контроллера. Затем программа считывает информацию с аналоговых и цифровых датчиков, обрабатывает полученную информацию, формирует выходные сигналы и осуществляет вывод необходимой информации на индикаторы.

Рисунок 9 - Блок-схема общего алгоритма работы микропроцессорной системы управления

Программа также обрабатывает запросы от источников прерываний. В конце цикла программа опрашивает тумблер «Останов» и, если он включен, формирует сигнал остановки системы.

8. РАЗРАБОТКА АЛГОРИТМА РАБОТЫ БЛОКА ЧТЕНИЯ ИНФОРМАЦИИ С АНАЛОГОВЫХ ДАТЧИКОВ

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

Рисунок 10 - Блок-схема алгоритма чтения информации с аналоговых датчиков

9. РАЗРАБОТКА АЛГОРИТМА РАБОТЫ БЛОКА ЧТЕНИЯ ИНФОРМАЦИИ С ЦИФРОВЫХ ДАТЧИКОВ

Блок-схема алгоритма чтения информации с цифровых датчиков и тумблеров пульта управления приведена на рисунке 11. В начале выполняется настройка порта D на ввод. Затем на управляющей линии RB2 устанавливается низкий уровень напряжения (выводы шинного формирователя DD2 переводятся в активное состояние). На всех остальных управляющих линиях формируется высокий уровень. После этого значение из порта D копируется в регистр уставки K. Затем в «0» переводится линия RB1 и данные из порта D сохраняются в регистре входных значений X. После чего на всех управляющих линиях формируется высокий уровень.

Рисунок 11 - Блок-схема алгоритма чтения информации с цифровых датчиков и тумблеров пульта управления

10. РАЗРАБОТКА АЛГОРИТМА РАБОТЫ БЛОКА ОБМЕНА ДАННЫМИ ПО ПОСЛЕДОВАТЕЛЬНОМУ КАНАЛУ СВЯЗИ

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

Рисунок 12 - Блок-схема алгоритма работы блока обмена данными по последовательному каналу связи

Данный блок фиксирует прием запроса от внешнего устройства путем проверки флага прерывания от приемника USART, производит идентификацию байта запроса путем его сравнения с константой и, если байт верный, осуществляет передачу данных. Если из последовательного канала принят символ «D» в последовательный канал передается значение сигнала Y1, если же принят символ «A», то в последовательный канал передается значение сигнала Y4.

11. РАЗРАБОТКА АЛГОРИТМА РАБОТЫ БЛОКА ВЗАИМОДЕЙСТВИЯ С ОПЕРАТОРОМ

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

Рисунок 13 - Блок-схема алгоритма работы блока взаимодействия с оператором

12. РАЗРАБОТКА АЛГОРИТМА РАБОТЫ БЛОКА ОБРАБОТКИ АВАРИЙНЫХ СИТУАЦИЙ

В данном блоке осуществляется контроль наличия напряжения питания и контроль сигнала аварийной ситуации X0. При появлении аварийной ситуации происходит ее обработка, затем контроллер переходит в режим пониженного энергопотребления («спящий» режим). Блок-схема алгоритма приведена на рисунке 14.

Рисунок 14 - Блок-схема алгоритма работы блока обработки аварийных ситуаций

13. РАСЧЕТ ЭЛЕКТРИЧЕСКИХ ПАРАМЕТРОВ МПС

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

; (8)

где - напряжение относительно , - максимальный ток вывода ,  - выходное напряжение высокого уровня, - ток I/O канала, - выходное напряжение низкого уровня, - ток I/O канала.

Рассчитаем мощность, рассеиваемую всеми резисторами схемы:

; (9)

где - напряжение на i-м резисторе, - сопротивление i-го резистора.

.

Рассчитаем мощность, рассеиваемую светодиодами:

; (10)

где - напряжение на i-м светодиоде, - ток в i-м светодиоде.

.

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

Таблица 1 - Токи, потребляемые микросхемами

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

Микросхема

Потребляемый ток, мА

Обозначение

Наименование

+15

DA1, DA2

AD202

35

Итого

70

+5

DD1

К561ЛЕ5

20 мкА

DD2, DD3

IL74HC244AN

150 мкА

DD4

PIC16F871

45

DD5-DD7

IL74HC573N

140 мкА

DD8

MAX232A

100

DA3

AD5330

8

Итого

154

микропроцессорный система схема управление

Таким образом, суммарная потребляемая мощность будет равна:

14. РАЗРАБОТКА БЛОКА ПИТАНИЯ

Для питания проектируемой микропроцессорной системы управления необходим блок питания, отдающий в нагрузку мощность не менее 2,3 Вт. Максимальный выходной ток по цепи +5В должен быть не менее 154 мА, по цепи +15В - не менее 70 мА. Кроме того блок питания должен формировать опорное напряжение для АЦП и ЦАП величиной 2,5 В. Схема блока питания приведена на рисунке 15.

В качестве трансформатора T1 выбран унифицированный трансформатор ТПП232-127/220-50. Этот трансформатор имеет габаритную мощность 9 В·А. Напряжения на обмотках следующие: U11-12 = U13-14 = 5,04 В; U15-16 = U17-18 = 10 В; U19-20 = U21-22 = 2,63 В. Максимальный ток каждой обмотки 0,2 А.

Для стабилизации напряжения +5 В используется интегральный стабилизатор LM7805, рассчитанный на максимальный ток 1,5 А. Для стабилизации напряжения +15В используется интегральный стабилизатор LM7815. Он рассчитан на максимальный ток 1,5 А. Источник опорного напряжения построен на регулируемом стабилитроне DA6 типа TL431A.

Рисунок 15 - Принципиальная электрическая схема блока питания

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Сташин В.В. Проектирование цифровых устройств на однокристальных микроконтроллерах / Сташин В.В. - М.: Энергоатомиздат, 1990. - 224 с.

2. Тавернье К. PIC-микроконтроллеры. Практика применения: Пер. с фр. / К. Тавернье - М.: ДМК Пресс, 2004. - 272 c.

3. Официальный сайт компании Microchip [Электронный ресурс] PIC16F870/871DataSheet 28/40-Pin, 8-Bit CMOS FLASH Microcontrollers. Режим доступа: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1335&dDocName=en010232

ПРИЛОЖЕНИЕ

Листинг управляющей программы

MPASM 5.31 KURS.ASM 8-11-2009 2:45:19 PAGE 1

LOC OBJECT CODE LINE SOURCE TEXT

VALUE

Warning[215]: Processor superseded by command line. Verify processor symbol.

00001 LIST P=16F874

00002 #INCLUDE <P16F874.INC>;Подклюключаем заголовочный файл

00001 LIST

00002; P16F874.INC Standard Header File, Version 1.00 Microchip Technology, Inc.

Message[301]: MESSAGE: (Processor-header file mismatch. Verify selected processor.)

00374 LIST

00003 ERRORLEVEL -302

00004 ERRORLEVEL -305

00005 ERRORLEVEL -207

00006;----------------------------------------------------

00007;РЕГИСТРЫ ОБЩЕГО НАЗНАЧЕНИЯ

00000020 00008 A0 EQU 0x20;РЕГИСТР ЗНАЧЕНИЯ КОЭФФИЦИЕНТА A1

00000021 00009 A1 EQU 0x21;РЕГИСТР ЗНАЧЕНИЯ КОЭФФИЦИЕНТА A2

00000022 00010 N1 EQU 0x22;РЕГИСТР ВЫХОДНОГО ЗНАЧЕНИЯ АЦП N1

00000023 00011 N2 EQU 0x23;РЕГИСТР ВЫХОДНОГО ЗНАЧЕНИЯ АЦП N2

00000024 00012 N3 EQU 0x24;РЕГИСТР ВЫХОДНОГО ЗНАЧЕНИЯ АЦП N3

00000025 00013 Y4 EQU 0x25;РЕГИСТР РЕЗУЛЬТАТА Y4

00000026 00014 N EQU 0x26

00000027 00015 K EQU 0x27;РЕГИСТР УСТАВКИ

00000028 00016 FLAG EQU 0x28

00000029 00017 Y1 EQU 0x29

0000002A 00018 X1 EQU 0x2A

0000002B 00019 X2 EQU 0x2B

0000002C 00020 X3 EQU 0x2C

0000002D 00021 X4 EQU 0x2D

0000002E 00022 X5 EQU 0x2E

0000002F 00023 TEMP EQU 0x2F;РЕГИСТР ВРЕМЕННОГО ХРАНЕНИЯ РЕЗУЛЬТАТА

00000030 00024 DACL EQU 0x30;МЛАДШИЙ РЕГИСТР ДАННЫХ ДЛЯ ЦАП

00000031 00025 DACH EQU 0x31;СТАРШИЙ РЕГИСТР ДАННЫХ ДЛЯ ЦАП

00000032 00026 W_TEMP EQU 0x32

00000033 00027 STATUS_TEMP EQU 0x33

00000034 00028 IN_ADR EQU 0x34

00000035 00029 K_SHIFT EQU 0x35;СДВИГОВЫЙ РЕГИСТР УСТАВКИ

00000036 00030 CONTROL EQU 0x36;РЕГИСТР СОСТОЯНИЯ ТУМБЛЕРОВ УПРАВЛЕНИЯ

00000037 00031 DIV_IND EQU 0x37;ДЕЛИТЕЛЬ ДЛЯ УПРАВЛЕНИЯ ИНДИКАЦИЕЙ

00000038 00032 LED1 EQU 0x38

00000039 00033 LED2 EQU 0x39

0000003A 00034 LED3 EQU 0x3A

0000003B 00035 LED4 EQU 0x3B

0000003C 00036 OUT_ADR EQU 0x3C

0000003D 00037 DIV_AVAR EQU 0x3D

0000003E 00038 COUNTER EQU 0x3E

0000003F 00039 IN_BD EQU 0x3F

00000040 00040 BUF_BD EQU 0x40

00000041 00041 COUNTH EQU 0x41;СЧЕТЧИК-ФОРМИРОВАТЕЛЬ СЕКУНДНЫХ ИНТЕРВАЛОВ

00000042 00042 COUNTL EQU 0x42;СЧЕТЧИК-ФОРМИРОВАТЕЛЬ МИНУТНЫХ ИНТЕРВАЛОВ

00000043 00043 COUNTER1 EQU 0x43

00044;----------------------------------------------------

00045;ПЕРЕОПРЕДЕЛЕНИЕ ТЕКСТА

00046 #DEFINE Y2 FLAG,0

00047 #DEFINE Y3 FLAG,1

00048 #DEFINE AVAR FLAG,2

MPASM 5.31 KURS.ASM 8-11-2009 2:45:19 PAGE 2

LOC OBJECT CODE LINE SOURCE TEXT

VALUE

00049;----------------------------------------------------

00050;КОНСТАНТЫ

00000001 00051 F EQU 1

00000000 00052 W EQU 0

0000000A 00053 Q EQU 0x0A

00000018 00054 WR_DAC EQU B'00011000'

00000060 00055 CTMR0 EQU D'96'

00056;----------------------------------------------------

00057;МАКРОСЫ

00058 BANK0 MACRO;ВЫБОР БАНКА 0

00059 BCF STATUS,RP0

00060 BCF STATUS,RP1

00061 ENDM

00062

00063 BANK1 MACRO;ВЫБОР БАНКА 1

00064 BSF STATUS,RP0

00065 BCF STATUS,RP1

00066 ENDM

00067

00068 BANK2 MACRO;ВЫБОР БАНКА 2

00069 BCF STATUS,RP0

00070 BSF STATUS,RP1

00071 ENDM

00072

00073 BANK3 MACRO;ВЫБОР БАНКА 3

00074 BSF STATUS,RP0

00075 BSF STATUS,RP1

00076 ENDM

00077

00078 MULT MACRO BIT;УМНОЖЕНИЕ

00079 BTFSC A1,BIT

00080 ADDWF Y4,F

00081 RRF Y4,F

00082 BCF STATUS,C

00083 ENDM

00084;------------------------------------------------------

0000 00085 ORG 0x00;ВЕКТОР СРОСА

0000 2A00 00086 GOTO START;ПЕРЕХОД НА НАЧАЛО ПРОГРАММЫ

00087

0200 00088 ORG 0x200;ВЕКТОР НАЧАЛА ПРОГРАММЫ

0200 00089 START

00090;-----------------------------------------------------

00091;ИНИЦАЛИЗАЦИЯ

00092;-----------------------------------------------------

00093;РОН

0200 01B4 00094 CLRF IN_ADR

0201 01BC 00095 CLRF OUT_ADR

00096;-----------------------------------------------------

00097;РЕГИСТР OPTION

00098 BANK1

0202 1683 M BSF STATUS,RP0

0203 1303 M BCF STATUS,RP1

0204 3084 00099 MOVLW B'10000100';ПОДТЯГИВАЮЩИЕ РЕЗИСТОРЫ ОТКЛЮЧЕНЫ, ВНЕШНЕЕ ПРЕРЫВАНИЕ ПО СПАДУ

MPASM 5.31 KURS.ASM 8-11-2009 2:45:19 PAGE 3

LOC OBJECT CODE LINE SOURCE TEXT

VALUE

0205 0081 00100 MOVWF OPTION_REG;ВНУТРЕННИЙ ТГ, ПРЕДДЕЛИТЕЛЬ ПЕРЕД TMR0, КОЭФФИЦИЕНТ 1/32

00101 BANK0

0206 1283 M BCF STATUS,RP0

0207 1303 M BCF STATUS,RP1

00102;-----------------------------------------------------

00103;ПОРТЫ ВВОДА/ВЫВОДА

00104 BANK1

0208 1683 M BSF STATUS,RP0

0209 1303 M BCF STATUS,RP1

020A 303F 00105 MOVLW B'00111111'

020B 0085 00106 MOVWF TRISA

020C 3001 00107 MOVLW B'00000001'

020D 0086 00108 MOVWF TRISB

020E 3098 00109 MOVLW B'10011000'

020F 0087 00110 MOVWF TRISC

0210 0188 00111 CLRF TRISD

0211 3003 00112 MOVLW B'00000011'

0212 0089 00113 MOVWF TRISE

00114;-----------------------------------------------------

00115;МОДУЛЬ АЦП

0213 3004 00116 MOVLW B'00000100';ЛЕВОЕ ВЫРАВНИВАНИЕ, RA0 - RA2 - АНАЛОГОВЫЕ ВХОДЫ

0214 009F 00117 MOVWF ADCON1

00118 BANK0

0215 1283 M BCF STATUS,RP0

0216 1303 M BCF STATUS,RP1

0217 3081 00119 MOVLW B'10000001';ТАКТОВЫЙ СИГНАЛ Fosc/32, МОДУЛЬ ВКЛЮЧЕН

0218 009F 00120 MOVWF ADCON1

00121;-----------------------------------------------------

00122;ТАЙМЕР TMR1

0219 300B 00123 MOVLW 0x0B;ЗАНЕСТИ В TMR1 D'3036'

021A 008F 00124 MOVWF TMR1H

021B 30DC 00125 MOVLW 0xDC

021C 008E 00126 MOVWF TMR1L

021D 3031 00127 MOVLW B'00110001';ПРЕДДЕЛИТЕЛЬ 1/8, ВНУТРЕННИЙ ТАКТОВЫЙ СИГНАЛ, ТАЙМЕР ВКЛЮЧЕН

021E 0090 00128 MOVWF T1CON

00129;-----------------------------------------------------

00130;МОДУЛЬ USART

021F 3090 00131 MOVLW B'10010000';МОДУЛЬ ВКЛЮЧЕН, 8-РАЗРЯДНЫЙ ПРИЕМ, ПРИЕМ РАЗРЕШЕН

0220 0098 00132 MOVWF RCSTA

00133 BANK1

0221 1683 M BSF STATUS,RP0

0222 1303 M BCF STATUS,RP1

0223 3020 00134 MOVLW B'00100000';8-РАЗРЯДНАЯ ПЕРЕДАЧА, АСИНХРОННЫЙ РЕЖИМ, ПЕРЕДАЧА РАЗРЕШЕНА,

0224 0098 00135 MOVWF TXSTA;НИЗКОСКОРОСТНОЙ РЕЖИМ

0225 3081 00136 MOVLW D'129';СКОРОСТЬ 9600 БИТ/С

0226 0099 00137 MOVWF SPBRG

00138;-----------------------------------------------------

00139;МОДУЛЬ MSSP

0227 3080 00140 MOVLW B'10000000';УПРАВЛЕНИЕ ДЛИТЕЛНОСТЬЮ ФРОНТА ВЫКЛЮЧЕНО, ВХОДНЫЕ УРОВНИ

0228 0094 00141 MOVWF SSPSTAT;СООТВЕТСТВУЮТ I2C

0229 3008 00142 MOVLW B'00001000';ПРИЕМ РАЗРЕШЕН

022A 0091 00143 MOVWF SSPCON2

022B 3031 00144 MOVLW D'49';ТАКТОВАЯ ЧАСТОТА 100кГц

MPASM 5.31 KURS.ASM 8-11-2009 2:45:19 PAGE 4

LOC OBJECT CODE LINE SOURCE TEXT

VALUE

022C 0093 00145 MOVWF SSPADD

00146 BANK0

022D 1283 M BCF STATUS,RP0

022E 1303 M BCF STATUS,RP1

022F 3028 00147 MOVLW B'00101000';МОДУЛЬ ВКЛЮЧЕН, ВЕДУЩИЙ РЕЖИМ I2C

0230 0094 00148 MOVWF SSPCON

00149;-----------------------------------------------------

00150;ПРЕРЫВАНИЯ

0231 3070 00151 MOVLW B'01110000';РАЗРЕШЕНЫ ПРЕРЫВАНИЯ ОТ TMR0, ПЕРЕФЕРИЙНЫХ МОДУЛЕЙ И ПО ВХОДУ INT

0232 008B 00152 MOVWF INTCON

0233 3021 00153 MOVLW B'00100001';РАЗРЕШЕНЫ ПРЕРЫВАНИЯ ОТ ПРИЕМНИКА USART И TMR1

00154 BANK1

0234 1683 M BSF STATUS,RP0

0235 1303 M BCF STATUS,RP1

0236 008C 00155 MOVWF PIE1

0237 018D 00156 CLRF PIE2

00157 BANK0

0238 1283 M BCF STATUS,RP0

0239 1303 M BCF STATUS,RP1

023A 018C 00158 CLRF PIR1

023B 018D 00159 CLRF PIR2

023C 178B 00160 BSF INTCON,GIE;РАЗРЕШИТЬ ПРЕРЫВАНИЯ

00161;-----------------------------------------------------

023D 00162 MAIN;ОСНОВНАЯ ПРОГРАММА

00163;ПРЕОБРАЗОВАНИЕ АНАЛОГОВЫХ СИГНАЛОВ

023D 119F 00164 BCF ADCON0,CHS0;ВЫБОР КАНАЛА AN0

023E 151F 00165 BSF ADCON0,GO;НАЧАТЬ ПРЕОБРАЗОВАНИЕ

023F 159F 00166 BSF ADCON0,CHS0;ВЫБОР КАНАЛА AN1

0240 191F 00167 BTFSC ADCON0,GO;ОЖИДАТЬ ОКОНЧАНИЯ ПРЕОБРАЗОВАНИЯ

0241 2A40 00168 GOTO $-1

0242 081E 00169 MOVF ADRESH,W;СОХРАНИТЬ РЕЗУЛЬТАТ ПРЕОБРАЗОВАНИЯ (СТАРШИЕ 8 БИТ)

0243 00A2 00170 MOVWF N1

0244 151F 00171 BSF ADCON0,GO;НАЧАТЬ ПРЕОБРАЗОВАНИЕ

0245 119F 00172 BCF ADCON0,CHS0;ВЫБОР КАНАЛА AN0

0246 191F 00173 BTFSC ADCON0,GO;ОЖИДАТЬ ОКОНЧАНИЯ ПРЕОБРАЗОВАНИЯ

0247 2A46 00174 GOTO $-1

0248 081E 00175 MOVF ADRESH,W;СОХРАНИТЬ РЕЗУЛЬТАТ ПРЕОБРАЗОВАНИЯ (СТАРШИЕ 8 БИТ)

0249 00A3 00176 MOVWF N2

024A 22C3 00177 CALL CALC_Y4;ПЕРЕХОД НА ПОДПРОГРАММУ ВЫЧИСЛЕНИЯ Y4

024B 2301 00178 CALL CALC_Y1;ПЕРЕХОД НА ПОДПРОГРАММУ ВЫЧИСЛЕНИЯ Y1

024C 22EF 00179 CALL COMP_N_Q;ПЕРЕХОД НА ПОДПРОГРАММУ ВЫЧИСЛЕНИЯ N И СРАВНЕНИЯ С Q

00180;ВЫВОД НА ИНДИКАЦИЮ

024D 1CB6 00181 BTFSS CONTROL,1;ТУМБЛЕР "УПРАВЛЕНИЕ ВЫВОДОМ НА ИНДИКАЦИЮ" ВКЛЮЧЕН?

024E 2A51 00182 GOTO $+3

024F 0822 00183 MOVF N1,W;НЕТ - КОПИРОВАНИЕ N1 В IN_BD

0250 2A52 00184 GOTO $+2

0251 0825 00185 MOVF Y4,W;ДА - КОПИРОВАНИЕ Y4 В IN_BD

0252 00BF 00186 MOVWF IN_BD

0253 230C 00187 CALL BIN_DEC;ДВОИЧНО-ДЕСЯТИЧНАЯ КОРРЕКЦИЯ

0254 082A 00188 MOVF X1,W;КОПИРОВАНИЕ ЗНАЧЕНИЙ X1 - X5, Y1 - Y3 В,БИТЫ РЕГИСТР LED4

0255 00BB 00189 MOVWF LED4

0256 0DBB 00190 RLF LED4,F

0257 082B 00191 MOVF X2,W

MPASM 5.31 KURS.ASM 8-11-2009 2:45:19 PAGE 5

LOC OBJECT CODE LINE SOURCE TEXT

VALUE

0258 04BB 00192 IORWF LED4,F

0259 0DBB 00193 RLF LED4,F

025A 082C 00194 MOVF X3,W

025B 04BB 00195 IORWF LED4,F

025C 0DBB 00196 RLF LED4,F

025D 082D 00197 MOVF X4,W

025E 04BB 00198 IORWF LED4,F

025F 0DBB 00199 RLF LED4,F

0260 082E 00200 MOVF X5,W

0261 04BB 00201 IORWF LED4,F

0262 0DBB 00202 RLF LED4,F

0263 0829 00203 MOVF Y1,W

0264 04BB 00204 IORWF LED4,F

00205

0265 1C28 00206 BTFSS Y2

0266 2A6A 00207 GOTO $+4

0267 173B 00208 BSF LED4,6

0268 13BB 00209 BCF LED4,7

0269 2A6C 00210 GOTO $+3

026A 133B 00211 BCF LED4,6

026B 17BB 00212 BSF LED4,7

00213;ФОРМИРВАНИЕ ВЫХОДНЫХ СИГНАЛОВ

00214;---------------------

00215;ВЫВОД СИГНАЛА Y4 НА ЦАП

00216 BANK1

026C 1683 M BSF STATUS,RP0

026D 1303 M BCF STATUS,RP1

026E 1411 00217 BSF SSPCON2,SEN;СФОРМИРОВАТЬ БИТ START

026F 1811 00218 BTFSC SSPCON2,SEN;ОЖИДАНИЕ ОКОНЧАНИЯ ФОРМИРОВАНИЯ БИТА START

0270 2A6F 00219 GOTO $-1

00220 BANK0

0271 1283 M BCF STATUS,RP0

0272 1303 M BCF STATUS,RP1

0273 3018 00221 MOVLW WR_DAC;ПЕРЕДАТЬ АДРЕС ЦАП НА ШИНЕ I2C

0274 0093 00222 MOVWF SSPBUF

0275 0830 00223 MOVF DACL,W

00224 BANK1

0276 1683 M BSF STATUS,RP0

0277 1303 M BCF STATUS,RP1

0278 1F11 00225 BTFSS SSPCON2,ACKSTAT;ОЖИДАНИЕ ПОДТВЕРЖДЕНИЯ

0279 2A78 00226 GOTO $-1

00227 BANK0

027A 1283 M BCF STATUS,RP0

027B 1303 M BCF STATUS,RP1

027C 0093 00228 MOVWF SSPBUF;ПЕРЕДАТЬ МЛАДШИЙ БАЙТ ДАННЫХ

027D 0830 00229 MOVF DACL,W

00230 BANK1

027E 1683 M BSF STATUS,RP0

027F 1303 M BCF STATUS,RP1

0280 1F11 00231 BTFSS SSPCON2,ACKSTAT;ОЖИДАНИЕ ПОДТВЕРЖДЕНИЯ

0281 2A80 00232 GOTO $-1

00233 BANK0

0282 1283 M BCF STATUS,RP0

MPASM 5.31 KURS.ASM 8-11-2009 2:45:19 PAGE 6

LOC OBJECT CODE LINE SOURCE TEXT

VALUE

0283 1303 M BCF STATUS,RP1

0284 0093 00234 MOVWF SSPBUF;ПЕРЕДАТЬ СТАРШИЙ БАЙТ ДАННЫХ

00235 BANK1

0285 1683 M BSF STATUS,RP0

0286 1303 M BCF STATUS,RP1

0287 1F11 00236 BTFSS SSPCON2,ACKSTAT;ОЖИДАНИЕ ПОДТВЕРЖДЕНИЯ

0288 2A87 00237 GOTO $-1

0289 1511 00238 BSF SSPCON2,PEN;СФОРМИРОВАТЬ БИТ STOP

00239 BANK0

028A 1283 M BCF STATUS,RP0

028B 1303 M BCF STATUS,RP1

00240;ФОРМИРОВАНИЕ СИГНАЛОВ Y1 - Y3

028C 138B 00241 BCF INTCON,GIE;ЗАПРЕТ ПРЕРЫВАНИЙ

028D 1C29 00242 BTFSS Y1,0

028E 2A9E 00243 GOTO $+10

00244

028F 1486 00245 BSF PORTB,1;ФОРМИРОВАНИЕ ИМПУЛЬСА ДЛИТЕЛЬНОСТЬЮ 430мкс

0290 3027 00246 MOVLW D'39'

0291 00C3 00247 MOVWF COUNTER1

0292 0BBE 00248 DECFSZ COUNTER,F

0293 2A92 00249 GOTO $-1

0294 3010 00250 MOVLW D'16'

0295 00BE 00251 MOVWF COUNTER

0296 0BC3 00252 DECFSZ COUNTER1,F

0297 2A92 00253 GOTO $-5

0298 1086 00254 BCF PORTB,1

00255

0299 1C28 00256 BTFSS Y2

029A 2AA6 00257 GOTO $+0C

00258

029B 1506 00259 BSF PORTB,2;ФОРМИРОВАНИЕ ИМПУЛЬСА ДЛИТЕЛЬНОСТЬЮ 740мкс

029C 3005 00260 MOVLW D'5'

029D 00C3 00261 MOVWF COUNTER1

029E 0BBE 00262 DECFSZ COUNTER,F

029F 2A9E 00263 GOTO $-1

02A0 30F4 00264 MOVLW D'244'

02A1 00BE 00265 MOVWF COUNTER

02A2 0BC3 00266 DECFSZ COUNTER1,F

02A3 2A9E 00267 GOTO $-5

02A4 1106 00268 BCF PORTB,2

02A5 2AB0 00269 GOTO $+0B

00270

02A6 1506 00271 BSF PORTB,2;ФОРМИРОВАНИЕ ИМПУЛЬСА ДЛИТЕЛЬНОСТЬЮ 180мкс

02A7 3028 00272 MOVLW D'40'

02A8 00C3 00273 MOVWF COUNTER1

02A9 0BBE 00274 DECFSZ COUNTER,F

02AA 2AA9 00275 GOTO $-1

02AB 3005 00276 MOVLW D'5'

02AC 00BE 00277 MOVWF COUNTER

02AD 0BC3 00278 DECFSZ COUNTER1,F

02AE 2AA9 00279 GOTO $-5

02AF 1106 00280 BCF PORTB,2

00281

MPASM 5.31 KURS.ASM 8-11-2009 2:45:19 PAGE 7

LOC OBJECT CODE LINE SOURCE TEXT

VALUE

02B0 178B 00282 BSF INTCON,GIE;РАЗРЕШИТЬ ПРЕРЫВАНИЯ

00283

00284;ОПРОС ТУМБЛЕРА "ОСТАНОВ"

02B1 1C36 00285 BTFSS CONTROL,0

02B2 2A3D 00286 GOTO MAIN

00287;ФОРМИРОВАНИЕ СИГНАЛА "ОСТАНОВ" (Y5)

02B3 3031 00288 MOVLW D'49'

02B4 1586 00289 BSF PORTB,3;ФОРМИРОВАНИЕ 1-ГО ИМПУЛЬСА

02B5 00BE 00290 MOVWF COUNTER

02B6 0BBE 00291 DECFSZ COUNTER,F

02B7 2AB6 00292 GOTO $-1

02B8 1186 00293 BCF PORTB,3;ФОРМИРОВАНИЕ ИНТЕРВАЛА

02B9 00BE 00294 MOVWF COUNTER

02BA 0BBE 00295 DECFSZ COUNTER,F

02BB 2ABA 00296 GOTO $-1

02BC 1586 00297 BSF PORTB,3;ФОРМИРОВАНИЕ 2-ГО ИМПУЛЬСА

02BD 00BE 00298 MOVWF COUNTER

02BE 0BBE 00299 DECFSZ COUNTER,F

02BF 2ABE 00300 GOTO $-1

02C0 1186 00301 BCF PORTB,3;СБРОС ВЫХОДА

02C1 0063 00302 SLEEP;ПЕРЕХОД В СПЯЩИЙ РЕЖИМ

02C2 2A3D 00303 GOTO MAIN

00304;-----------------------------------------------------

02C3 00305 CALC_Y4;ПОДПРОГРАММА ВЫЧИСЛЕНИЯ Y4

00306;ВЫЧИСЛЕНИЕ ПРОИЗВЕДЕНИЯ A1 И N3

02C3 01A5 00307 CLRF Y4

02C4 0821 00308 MOVF A1,W

02C5 1003 00309 BCF STATUS,C

00310 MULT 0

02C6 1821 M BTFSC A1,0

02C7 07A5 M ADDWF Y4,F

02C8 0CA5 M RRF Y4,F

02C9 1003 M BCF STATUS,C

00311 MULT 1

02CA 18A1 M BTFSC A1,1

02CB 07A5 M ADDWF Y4,F

02CC 0CA5 M RRF Y4,F

02CD 1003 M BCF STATUS,C

00312 MULT 2

02CE 1921 M BTFSC A1,2

02CF 07A5 M ADDWF Y4,F

02D0 0CA5 M RRF Y4,F

02D1 1003 M BCF STATUS,C

00313 MULT 3

02D2 19A1 M BTFSC A1,3

02D3 07A5 M ADDWF Y4,F

02D4 0CA5 M RRF Y4,F

02D5 1003 M BCF STATUS,C

00314 MULT 4

02D6 1A21 M BTFSC A1,4

02D7 07A5 M ADDWF Y4,F

02D8 0CA5 M RRF Y4,F

02D9 1003 M BCF STATUS,C

MPASM 5.31 KURS.ASM 8-11-2009 2:45:19 PAGE 8

LOC OBJECT CODE LINE SOURCE TEXT

VALUE

00315 MULT 5

02DA 1AA1 M BTFSC A1,5

02DB 07A5 M ADDWF Y4,F

02DC 0CA5 M RRF Y4,F

02DD 1003 M BCF STATUS,C

00316 MULT 6

02DE 1B21 M BTFSC A1,6

02DF 07A5 M ADDWF Y4,F

02E0 0CA5 M RRF Y4,F

02E1 1003 M BCF STATUS,C

00317 MULT 7

02E2 1BA1 M BTFSC A1,7

02E3 07A5 M ADDWF Y4,F

02E4 0CA5 M RRF Y4,F

02E5 1003 M BCF STATUS,C

00318;ВЫЧИСЛЕНИЕ СУММЫ РЕЗУЛЬТАТА ПРОИЗВЕДЕНИЯ И A0

02E6 0820 00319 MOVF A0,W

02E7 07A5 00320 ADDWF Y4,F

00321;ФОРМИРОВАНИЕ ДАННЫХ ДЛЯ ЦАП (DACH = 0 0 0 0 D7 D6 D5 D4, DACL = D3 D2 D1 D0 0 0 0 0)

02E8 0E25 00322 SWAPF Y4,W

02E9 39F0 00323 ANDLW B'11110000'

02EA 00B0 00324 MOVWF DACL

02EB 0E25 00325 SWAPF Y4,W

02EC 390F 00326 ANDLW B'00001111'

02ED 00B1 00327 MOVWF DACH

02EE 0008 00328 RETURN;ВОЗВРАТ ИЗ ПОДПРОГРАММЫ

00329;-----------------------------------------------------

02EF 00330 COMP_N_Q;ПОДПРОГРАММА ВЫЧИСЛЕНИЯ N И СРАВНЕНИЯ С Q

02EF 0823 00331 MOVF N2,W

02F0 0222 00332 SUBWF N1,W

02F1 1C03 00333 BTFSS STATUS,C

02F2 2AFE 00334 GOTO M1

02F3 00A6 00335 MOVWF N

02F4 0827 00336 MOVF K,W

02F5 0226 00337 SUBWF N,W

02F6 1C03 00338 BTFSS STATUS,C

02F7 2AFE 00339 GOTO M1

02F8 3C0A 00340 SUBLW Q

02F9 1C03 00341 BTFSS STATUS,C

02FA 2AFE 00342 GOTO M1

02FB 14A8 00343 BSF Y3

02FC 1028 00344 BCF Y2

02FD 0008 00345 RETURN

02FE 00346 M1

02FE 10A8 00347 BCF Y3

02FF 1428 00348 BSF Y2

0300 0008 00349 RETURN

00350;-----------------------------------------------------

0301 00351 CALC_Y1

0301 082E 00352 MOVF X5,W

0302 05AC 00353 ANDWF X3,F

0303 092D 00354 COMF X4,W

0304 05AE 00355 ANDWF X5,F

MPASM 5.31 KURS.ASM 8-11-2009 2:45:19 PAGE 9

LOC OBJECT CODE LINE SOURCE TEXT

VALUE

0305 082A 00356 MOVF X1,W

0306 042B 00357 IORWF X2,W

0307 062A 00358 XORWF X1,W

0308 062C 00359 XORWF X3,W

0309 042E 00360 IORWF X5,W

030A 00A9 00361 MOVWF Y1

030B 0008 00362 RETURN

00363;-----------------------------------------------------

030C 00364 BIN_DEC;ПОДПРОГРАММА ПРЕОБРАЗОВАНИЯ ДВОИЧНОГО ЧИСЛА В ДЕСЯТИЧНОЕ

030C 01B8 00365 CLRF LED1;ОЧИСТКА РЕГИСТРОВ ИНДИКАЦИИ

030D 01B9 00366 CLRF LED2

030E 01BA 00367 CLRF LED3

00368

00369;ЦИКЛ ВЫЧИСЛЕНИЯ 3-ГО РАЗРЯДА

030F 083F 00370 MOVF IN_BD,W;СОХРАНИТЬ ЗНАЧЕНИЕ ВХОДНОГО РЕГИСТРА

0310 00C0 00371 MOVWF BUF_BD

0311 3064 00372 MOVLW 0x64

0312 02BF 00373 SUBWF IN_BD,F;ВЫЧЕСТЬ 100d ИЗ IN_BD

0313 1803 00374 BTFSC STATUS,C;БЫЛ ЗАЕМ

0314 2B19 00375 GOTO $+5;ДА - ИДТИ НА ВЫЧИСЛЕНИЕ 2-ГО РАЗРЯДА

0315 0ABA 00376 INCF LED3,F;НЕТ - ИНКРЕМЕНТИРОВАТЬ 3-Й РАЗРЯД

0316 083F 00377 MOVF IN_BD,W;СОХРАНИТЬ ЗНАЧЕНИЕ ВХОДНОГО РЕГИСТРА

0317 00C0 00378 MOVWF BUF_BD

0318 2B0F 00379 GOTO $-9;ПОВТОРИТЬ ЦИКЛ ВЫЧИСЛЕНИЯ 3-ГО РАЗРЯДА

00380

00381;ЦИКЛ ВЫЧИСЛЕНИЯ 2-ГО РАЗРЯДА

0319 0840 00382 MOVF BUF_BD,W;ВОССТАНОВИТЬ ЗНАЧЕНИЕ IN_BD

031A 00BF 00383 MOVWF IN_BD

031B 300A 00384 MOVLW 0x0A

031C 02BF 00385 SUBWF IN_BD,F;ВЫЧЕСТЬ 10d ИЗ IN_BD

031D 1803 00386 BTFSC STATUS,C;БЫЛ ЗАЕМ

031E 2B22 00387 GOTO $+4;НЕТ - ИДТИ ВЫЧИСЛЕНИЕ 2-ГО РАЗРЯДА

031F 0840 00388 MOVF BUF_BD,W;ДА - ПЕРЕПИСАТЬ ЗНАЧЕНИЕ BUF_BD В LED1

0320 00B8 00389 MOVWF LED1

0321 0008 00390 RETURN;ВЕРНУТЬСЯ ИЗ ПОДПРОГРАММЫ

00391

0322 0AB9 00392 INCF LED2,F;ИНКРЕМЕНТИРОВАТЬ 2-Й РАЗРЯД

0323 083F 00393 MOVF IN_BD,W;СОХРАНИТЬ ЗНАЧЕНИЕ IN_BD

0324 00C0 00394 MOVWF BUF_BD

0325 2B1B 00395 GOTO $-0A;ПОВТОРИТЬ ЦИКЛ ВЫЧИСЛЕНИЯ 2-ГО РАЗРЯДА

00396;--------------------------------------

00397

0004 00398 ORG 0x04;ВЕКТОР ПРЕРЫВАНИЯ

00399;-----------------------------------------------------

00400;СОХРАНЕНИЕ АККУМУЛЯТОРА И РЕГИСТРА STATUS

0004 1E83 00401 BTFSS STATUS,RP0;ОПРЕДЕЛЕНИЕ ТЕКУЩЕГО БАНКА

0005 280C 00402 GOTO RP0_CLR

0006 1283 00403 BCF STATUS,RP0;УСТАНОВИТЬ БАНК 0

0007 00B2 00404 MOVWF W_TEMP;СОХРАНИТЬ АККУМУЛЯТОР

0008 0E03 00405 SWAPF STATUS,W

0009 00B3 00406 MOVWF STATUS_TEMP;СОХРАНИТЬ РЕГИСТР STATUS

000A 16B3 00407 BSF STATUS_TEMP,5;ВОССТАНОВИТЬ ЗНАЧЕНИЕ БИТА RP0

000B 280F 00408 GOTO $+4

MPASM 5.31 KURS.ASM 8-11-2009 2:45:19 PAGE 10

LOC OBJECT CODE LINE SOURCE TEXT

VALUE

000C 00409 RP0_CLR

000C 00B2 00410 MOVWF W_TEMP;СОХРАНИТЬ АККУМУЛЯТОР

000D 0E03 00411 SWAPF STATUS,W

000E 00B3 00412 MOVWF STATUS_TEMP;СОХРАНИТЬ РЕГИСТР STATUS

00413;-----------------------------------------------------------------

00414;ОПРЕДЕЛЕНИЕ ИСТОЧНИКА ПРЕРЫВАНИЯ

000F 00415 INT_SOURCE

000F 188B 00416 BTFSC INTCON,INTF

0010 2887 00417 GOTO INT_INT

00418

0011 190B 00419 BTFSC INTCON,T0IF

0012 2818 00420 GOTO INT_TMR0

00421

0013 180C 00422 BTFSC PIR1,TMR1IF

0014 28E2 00423 GOTO INT_TMR1

00424

0015 1A8C 00425 BTFSC PIR1,RCIF

0016 28CE 00426 GOTO INT_RC

0017 2959 00427 GOTO END_INT;ИНАЧЕ ПЕРЕХОД НА ПОДПРОГРАММУ ВОССТАНОВЛЕНИЯ

00428;КОНТЕКСТА

00429;-----------------------------------------------------------------

0018 00430 INT_TMR0;ОБРАБОТЧИК ПРЕРЫВАНИЙ ОТ TMR0

0018 3060 00431 MOVLW CTMR0;ПЕРЕЗАГРУЗКА TMR0

0019 0081 00432 MOVWF TMR0

001A 110B 00433 BCF INTCON,T0IF;СБРОС ФЛАГА ПРЕРЫВАНИЯ

00434;СЧИТЫВАНИЕ ИНФОРМАЦИИ С ЦИФРОВЫХ ДАТЧИКОВ И ЭЛЕМЕНТОВ ПУЛЬТА УПРАВЛЕНИЯ

001B 3004 00435 MOVLW 0x04

001C 0234 00436 SUBWF IN_ADR,W

001D 1C03 00437 BTFSS STATUS,C

001E 2828 00438 GOTO M2

00439;СЧИТЫВАНИЕ ИНФОРМАЦИИ С ДАТЧИКОВ

001F 3029 00440 MOVLW 0x29

0020 0734 00441 ADDWF IN_ADR,W

0021 0084 00442 MOVWF FSR

0022 1D05 00443 BTFSS PORTA,2

0023 2826 00444 GOTO $+3

0024 1400 00445 BSF INDF,0

0025 284F 00446 GOTO M3

0026 1000 00447 BCF INDF,0

0027 284F 00448 GOTO M3

00449;СЧИТЫВАНИЕ ИНФОРМАЦИИ С ТУМБЛЕРОВ УСТАВКИ

0028 00450 M2

0028 300C 00451 MOVLW 0x0C

0029 0234 00452 SUBWF IN_ADR,W

002A 1C03 00453 BTFSS STATUS,C

002B 2837 00454 GOTO M4

00455

002C 0DB5 00456 RLF K_SHIFT,F

002D 1D05 00457 BTFSS PORTA,2

002E 2831 00458 GOTO $+3

002F 1435 00459 BSF K_SHIFT,0

0030 2832 00460 GOTO $+2

0031 1035 00461 BCF K_SHIFT,0

MPASM 5.31 KURS.ASM 8-11-2009 2:45:19 PAGE 11

LOC OBJECT CODE LINE SOURCE TEXT

VALUE

0032 1D03 00462 BTFSS STATUS,Z

0033 284F 00463 GOTO M3

0034 0835 00464 MOVF K_SHIFT,W

0035 00A7 00465 MOVWF K

0036 284F 00466 GOTO M3

00467;СЧИТЫВАНИЕ ИНФОРММАЦИИ С ТУМБЛЕРОВ "ВЫБОР РЕГИСТРА ИНДИКАЦИИ"

00468;И "ОСТАНОВ"

0037 00469 M4

0037 300D 00470 MOVLW 0x0D

0038 0634 00471 XORWF IN_ADR,W

0039 1D03 00472 BTFSS STATUS,Z

003A 2841 00473 GOTO $+7

003B 1D05 00474 BTFSS PORTA,2

003C 283F 00475 GOTO $+3

003D 1436 00476 BSF CONTROL,0

003E 284F 00477 GOTO M3

003F 1036 00478 BCF CONTROL,0

0040 284F 00479 GOTO M3

00480

0041 300E 00481 MOVLW 0x0E

0042 0634 00482 XORWF IN_ADR,W

0043 1D03 00483 BTFSS STATUS,Z

0044 284B 00484 GOTO M5

0045 1D05 00485 BTFSS PORTA,2

0046 2849 00486 GOTO $+3

0047 14B6 00487 BSF CONTROL,1

0048 284F 00488 GOTO M3

0049 10B6 00489 BCF CONTROL,1

004A 284F 00490 GOTO M3

00491;УСТАНОВКА НАЧАЛЬНОГО АДРЕСА

004B 00492 M5

004B 01B4 00493 CLRF IN_ADR

004C 300F 00494 MOVLW 0x0F

004D 0586 00495 ANDWF PORTB,F;ОБНУЛИТЬ ЛИНИИ АДРЕСА RB4 - RB7

004E 2854 00496 GOTO OUT_IND

00497;УСТАНОВКА АДРЕСА ВХОДА

004F 00498 M3

004F 0AB4 00499 INCF IN_ADR,F;ИНКРЕМЕНТИРОВАТЬ РЕГИСТР АДРЕСА

0050 300F 00500 MOVLW 0x0F

0051 0586 00501 ANDWF PORTB,F;ОБНУЛИТЬ ЛИНИИ АДРЕСА RB4 - RB7

0052 0E34 00502 SWAPF IN_ADR,W;ПОМЕСТИТЬ МЛАДШУЮ ТЕТРАДУ IN_ADR В СТАРШУЮ ТЕТРАДУ W

0053 0486 00503 IORWF PORTB,F;ВЫВЕСТИ СТАРШУЮ ТЕТРАДУ W В PORTB

00504

00505;ВЫВОД НА ИНДИКАЦИЮ

0054 00506 OUT_IND

0054 0BB7 00507 DECFSZ DIV_IND;ДЕКРЕМЕНТИРОВАТЬ ДЕЛИТЕЛЬ

0055 2959 00508 GOTO END_INT

0056 300A 00509 MOVLW D'10'

0057 00B7 00510 MOVWF DIV_IND

00511

0058 3002 00512 MOVLW 0x02

0059 023C 00513 SUBWF OUT_ADR,W

005A 1C03 00514 BTFSS STATUS,C

MPASM 5.31 KURS.ASM 8-11-2009 2:45:19 PAGE 12

LOC OBJECT CODE LINE SOURCE TEXT

VALUE

005B 2864 00515 GOTO M7

00516;ВЫВОД НА СЕМИСЕГМЕНТНЫЕ ИНДИКАТОРЫ

005C 00517 M6

005C 3038 00518 MOVLW 0x38

005D 073C 00519 ADDWF OUT_ADR,W

005E 0084 00520 MOVWF FSR

005F 0E00 00521 SWAPF INDF,W

0060 043C 00522 IORWF OUT_ADR,W

0061 0088 00523 MOVWF PORTD

0062 0ABC 00524 INCF OUT_ADR,F

0063 2877 00525 GOTO AVAR_LED

00526;ВЫВОД НА СВЕТОДИОДЫ

0064 00527 M7

0064 300A 00528 MOVLW 0x0A

0065 023C 00529 SUBWF OUT_ADR,W

0066 1C03 00530 BTFSS STATUS,C

0067 2875 00531 GOTO M8

0068 1109 00532 BCF PORTE,2

0069 083C 00533 MOVF OUT_ADR,W

006A 0088 00534 MOVWF PORTD

006B 1C3B 00535 BTFSS LED4,0

006C 286F 00536 GOTO $+3

006D 0CBB 00537 RRF LED4,F

006E 0ABC 00538 INCF OUT_ADR,F

006F 1509 00539 BSF PORTE,2

0070 2877 00540 GOTO AVAR_LED

0071 0CBB 00541 RRF LED4,F

0072 0ABC 00542 INCF OUT_ADR,F

0073 1109 00543 BCF PORTE,2

0074 2877 00544 GOTO AVAR_LED

00545;УСТАНОВКА НАЧАЛЬНОГО АДРЕСА

0075 00546 M8

0075 01BC 00547 CLRF OUT_ADR

0076 285C 00548 GOTO M6

00549;УПРАВЛЕНИЕ СВЕТОДИОДОМ "АВАРИЯ"

0077 00550 AVAR_LED

0077 1928 00551 BTFSC AVAR

0078 287D 00552 GOTO $+5

0079 1107 00553 BCF PORTC,2

007A 3032 00554 MOVLW D'50'

007B 00BD 00555 MOVWF DIV_AVAR

007C 2959 00556 GOTO END_INT

00557

007D 0BBD 00558 DECFSZ DIV_AVAR,F

007E 2959 00559 GOTO END_INT

007F 3032 00560 MOVLW D'50'

0080 00BD 00561 MOVWF DIV_AVAR

0081 1D07 00562 BTFSS PORTC,2

0082 2885 00563 GOTO $+3

0083 1107 00564 BCF PORTC,2

0084 2959 00565 GOTO END_INT

0085 1507 00566 BSF PORTC,2

0086 2959 00567 GOTO END_INT

MPASM 5.31 KURS.ASM 8-11-2009 2:45:19 PAGE 13

LOC OBJECT CODE LINE SOURCE TEXT

VALUE

00568;-----------------------------------------------------------------

0087 00569 INT_INT;ОБРАБОТЧИК ПРЕРЫВАНИЙ ПО ВХОДУ INT

00570;ОПРЕДЕЛЕНИЕ ИСТОЧНИКА ПРЕРВАНИЯ

0087 108B 00571 BCF INTCON,INTF

0088 1C09 00572 BTFSS PORTE,0

0089 288F 00573 GOTO PWR

008A 1C89 00574 BTFSS PORTE,1

008B 28A7 00575 GOTO INT_AVAR

008C 1E85 00576 BTFSS PORTA,5

008D 28AC 00577 GOTO INT_OPER

008E 2959 00578 GOTO END_INT

00579;ПРЕРЫВАНИЕ ПРИ ОТКЛЮЧЕНИИ ПИТАНИЯ

008F 00580 PWR

00581;ПЕРЕДАЧА СИМВОЛА "!"

008F 3021 00582 MOVLW '!'

0090 0099 00583 MOVWF TXREG;НАЧАТЬ ПЕРЕДАЧУ СИМВОЛА

00584;ФОРМИРОВАНИЕ СИГНАЛА Y5

0091 3031 00585 MOVLW D'49'

0092 1586 00586 BSF PORTB,3;ФОРМИРОВАНИЕ 1-ГО ИМПУЛЬСА

0093 00BE 00587 MOVWF COUNTER

0094 0BBE 00588 DECFSZ COUNTER,F

0095 2894 00589 GOTO $-1

0096 1186 00590 BCF PORTB,3;ФОРМИРОВАНИЕ ИНТЕРВАЛА

0097 00BE 00591 MOVWF COUNTER

0098 0BBE 00592 DECFSZ COUNTER,F

0099 2898 00593 GOTO $-1

009A 1586 00594 BSF PORTB,3;ФОРМИРОВАНИЕ 2-ГО ИМПУЛЬСА

009B 00BE 00595 MOVWF COUNTER

009C 0BBE 00596 DECFSZ COUNTER,F

009D 289C 00597 GOTO $-1

009E 1186 00598 BCF PORTB,3;СБРОС ВЫХОДА

00599

00600 BANK1

009F 1683 M BSF STATUS,RP0

00A0 1303 M BCF STATUS,RP1

00A1 1C98 00601 BTFSS TXSTA,TRMT;ОЖИДАНИЕ ОКОНЧАНИЯ ПЕРЕДАЧИ

00A2 28A1 00602 GOTO $-1

00603 BANK0

00A3 1283 M BCF STATUS,RP0

00A4 1303 M BCF STATUS,RP1

00A5 0063 00604 SLEEP;ПЕРЕХОД В СПЯЩИЙ РЕЖИМ

00A6 2959 00605 GOTO END_INT

00606

00A7 00607 INT_AVAR;ПРЕРЫВАНИЕ ОТ ДАТЧИКА "АВАРИЙНЫЙ ОСТАНОВ"

00A7 1528 00608 BSF AVAR

00A8 0822 00609 MOVF N1,W

00A9 00BF 00610 MOVWF IN_BD

00AA 230C 00611 CALL BIN_DEC

00AB 2959 00612 GOTO END_INT

00613

00614;ПРЕРЫВАНИЕ ОТ ПУЛЬТА ДУ

00AC 00615 INT_OPER

00AC 0829 00616 MOVF Y1,W;СКОПИРОВАТЬ ЗНАЧЕНИЕ Y1 В РЕГИСТР ИНДИКАЦИИ LED4

MPASM 5.31 KURS.ASM 8-11-2009 2:45:19 PAGE 14

LOC OBJECT CODE LINE SOURCE TEXT

VALUE

00AD 00BB 00617 MOVWF LED4

00AE 1C28 00618 BTFSS Y2

00AF 28B2 00619 GOTO $+3

00B0 10BB 00620 BCF LED4,1;ЕСЛИ N < Q, LED4,1 = 0

00B1 28B3 00621 GOTO $+2

00B2 14BB 00622 BSF LED4,1;ИНАЧЕ LED4,1 = 1

00623;ВЫЧИСЛЕНИЕ ВЫРАЖЕНИЯ X1 AND X2 AND X3 AND X4

00B3 1C2A 00624 BTFSS X1,0

00B4 28BD 00625 GOTO M9

00B5 1C2B 00626 BTFSS X2,0

00B6 28BD 00627 GOTO M9

00B7 1C2C 00628 BTFSS X3,0

00B8 28BD 00629 GOTO M9

00B9 1C2D 00630 BTFSS X4,0

00BA 28BD 00631 GOTO M9

00BB 153B 00632 BSF LED4,2

00BC 28BE 00633 GOTO $+2

00BD 00634 M9

00BD 113B 00635 BCF LED4,2

00636;ВЫЧИСЛЕНИЕ ВЫРАЖЕНИЯ X1 OR X2 OR X3 OR X4

00BE 182A 00637 BTFSC X1,0

00BF 28C8 00638 GOTO M10

00C0 182B 00639 BTFSC X2,0

00C1 28C8 00640 GOTO M10

00C2 182C 00641 BTFSC X3,0

00C3 28C8 00642 GOTO M10

00C4 182D 00643 BTFSC X4,0

00C5 28C8 00644 GOTO M10

00C6 11BB 00645 BCF LED4,3

00C7 28C9 00646 GOTO $+2

00C8 00647 M10

00C8 15BB 00648 BSF LED4,3

00649

00650;ВЫДАЧА КОНСТАНТЫ Q НА ИНДИКАЦИЮ

00C9 300A 00651 MOVLW Q

00CA 00BF 00652 MOVWF IN_BD

00CB 230C 00653 CALL BIN_DEC;ДВОИЧНО-ДЕСЯТИЧНАЯ КОРРЕКЦИЯ РЕЗУЛЬТАТА

00CC 178B 00654 BSF INTCON,GIE;РАЗРЕШИТЬ ПРЕРЫВАНИЯ

00CD 2A3D 00655 GOTO MAIN;ПЕРЕХОД НА НАЧАЛО ПРОГРАММЫ ОБРАБОТКИ

00656;ПРЕРЫВАНИЕ ОТ

00657

00658;ПРЕРЫВАНИЕ ОТ ПРИЕМНИКА USART

00CE 00659 INT_RC

00CE 081A 00660 MOVF RCREG,W;ЧИТАТЬ БУФЕР ПРИЕМНИКА ДЛЯ СБРОСА ФЛАГА ПРЕРЫВАНИЯ

00CF 3044 00661 MOVLW 'D'

00D0 061A 00662 XORWF RCREG,W;СРАВНИТЬ СОДЕРЖИМОЕ RCREG С КОДОМ СИМВОЛА "D"

00D1 1D03 00663 BTFSS STATUS,Z

00D2 28D5 00664 GOTO $+3


Подобные документы

  • Разработка принципиальных схем блоков чтения информации с датчиков. Сопряжение с цифровыми и аналоговыми датчиками. Алгоритм работы блока чтения информации с цифровых датчиков. Расчет электрических параметров микропроцессорной системы управления.

    дипломная работа [760,0 K], добавлен 27.06.2016

  • Разработка схемы блока чтения информации с датчиков, устройства сопряжения с аналоговым датчиком. Расчет электрических параметров микропроцессорной системы управления. Алгоритмы работы блока взаимодействия с оператором и обработки аварийных ситуаций.

    курсовая работа [2,0 M], добавлен 06.03.2016

  • Структурная и принципиальная электрические схемы микропроцессорной системы (МПС) для управления объектом. Программные модули, обеспечивающие выполнение алгоритма управления объектом, оценка параметров МПС. Расчет аппаратных затрат, потребляемой мощности.

    курсовая работа [1,2 M], добавлен 28.12.2012

  • Описание алгоритма работы и разработка структурной схемы микропроцессорной системы управления. Разработка принципиальной схемы. Подключение микроконтроллера, ввод цифровых и аналоговых сигналов. Разработка блок-схемы алгоритма главной программы.

    курсовая работа [3,3 M], добавлен 26.06.2016

  • Изучение устройства связи с датчиком и исполнительными механизмами, разработка блока памяти объёмом 80 кб. Характеристика программ, обеспечивающих выполнение заданного алгоритма и алгоритма обмена. Оценка микропроцессорной системы по аппаратным затратам.

    практическая работа [154,1 K], добавлен 14.11.2011

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

    курсовая работа [1,2 M], добавлен 26.12.2013

  • Проект структурной схемы микропроцессорной системы управления. Блок-схема алгоритма работы МПС; создание программы, обеспечивающей его выполнение. Распределение области памяти под оперативное и постоянное запоминающие устройства. Оценка ёмкости ПЗУ и ОЗУ.

    курсовая работа [467,9 K], добавлен 21.05.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.