Микропроцессорная система управления объектом
Структурная схема микропроцессорной системы управления. Разработка принципиальной схемы блока чтения информации с датчиков. Алгоритм работы блока обмена данными по последовательному каналу связи. Электрические параметры системы, листинг программы.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 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Разработка системы управления ультразвуковым локатором автомобильной системы безопасности. Структурная схема микропроцессорной системы: пояснения и алгоритм функционирования, выполняющий поставленную задачу. Код и листинг программы, ее быстродействие.
курсовая работа [607,2 K], добавлен 30.11.2011Микропроцессорная система (МПС) сбора и обработки информации от объекта, характеризуемого непрерывными (аналоговыми) сигналами. Исходные данные для разработки МПС. Функциональная схема системы, характеристика ее основных элементов, листинг программы.
курсовая работа [961,2 K], добавлен 21.10.2012Критерии эффективности и обоснование выбора базисных элементов для записи отсчетов от 16 аналоговых датчиков в область памяти. Функциональная схема компьютерной системы управления железнодорожным переездом. Алгоритм работы микропроцессорной системы.
курсовая работа [1,4 M], добавлен 14.06.2016