Учет расхода газа
Министерство образования и науки
Челябинской области
Государственное бюджетное
профессиональное образовательное
Учреждение «Коркинский
горно-строительный техникум»
Пояснительная записка к курсовому
проекту
по МДК 02.01 Микропроцессорные
системы
УЧЕТ РАСХОДА ГАЗА
Выполнил
студент
группы КСК-13
А.В.Печенкин
Введение
Курсовой проект - это очень важный вид учебной и научно-исследовательской
работы. Основной целью выполнения курсового проекта является освоение
технологии проектных работ, выбор и обоснование технических решений, развитие
навыков самостоятельной работы, а также закрепление и расширение знаний,
полученных на лекциях, лабораторных и практических занятиях по принципам
построения микропроцессорных устройств.
Микроконтроллерные технологии очень эффективны. Одно и то же устройство,
которое раньше собиралось на традиционных элементах, будучи собрано с
применением микроконтроллеров становится проще, не требует регулировки и меньше
по размерам. Кроме того, с применением микроконтроллеров появляются практически
безграничные возможности по добавлению новых потребительских функций и
возможностей к уже существующим устройствам.
Целью данного курсового проекта является проектирование устройства для
контроля и учета газа на микроконтроллерах.Система контроля и учета расхода
газа на газопроводе относится к системам контроля, управления, сигнализации и
наблюдения за расходом газа на газопроводе и может быть использовано для
жилищно-коммунального хозяйства.
Система контроля и учета расхода газа на газопроводе содержит размещенный
на ответвлении от последнего управляемый отсечной клапан и объемный
диафрагменный счетчик газа со встроенным мерным механизмом и подключенным к
нему через вращающийся вал с диском на конце отсчетным устройством расхода
газа, включающим импульсную линию от телеметрического датчика. Система
дополнительно содержит местный канал связи для передачи информации в прямом и
обратном направлениях, устройства передачи информации на расстояние в прямом и
обратном направлениях, удаленный канал связи и удаленного потребителя
информации с функцией контроля и управления, при этом местный канал связи
сообщает отсчетное устройство расхода газа с устройствами передачи информации
на расстояние в прямом и обратном направлениях, а последние сообщены удаленным
каналом связи с удаленным потребителем информации, обладающим функцией контроля
и управления отсечным клапаном.
Задачи данного курсового проекта можно сформулировать таким образом:
- выбрать элементную базу (микроконтроллер, датчики и другие
необходимые устройства), удовлетворяющие требованиям быстродействия и
функциональным возможностям реализации принципа работы устройства учета расхода
газа с учетом простоты и меньших затрат;
- программу для реализации устройства учета расхода газа на
микроконтроллерах;
в выбранной инструментальной среде(AVR Studio, MPLAB IDE и т. д)
осуществить отладку программы.
1. Общая часть
1.1 Анализ задачи
Системы для контроля учета расхода газа (далее по тексту - система)
предназначены для измерения объема неагрессивного, сухого газа (далее - газ),
приведенного к стандартным условиям по ГОСТ 2939 путем измерения объема газа
при рабочих условиях счетчиками газа турбинными (TRZ, TRZ2, СГ) или
ротационными (RABO, RVG) и автоматической электронной коррекции по измеренным значениям
температуры, давления газа, вычисленного по ГОСТ 30319 или подстановочному
значению коэффициента сжимаемости газа.
Комплексы могут применяться для измерения объема природного газа по ГОСТ
5542 и других неагрессивных, сухих и очищенных газов (воздух, азот, аргон и
т.п. за исключением кислорода в напорных трубопроводах газораспределительных
пунктов и станций (ГРП, ГРС), теплоэнергетических установок и других
технологических объектов.
Устройство относится к системам контроля, управления, сигнализации и
наблюдения за расходом газа на газопроводах для жилищно-коммунального
хозяйства.
Известны различные устройства учета газа на газопроводах для
жилищно-коммунального хозяйства. Так, например, известен счетчик газа для
бытовых нужд, содержащий корпус, механизм отсчета мерных объемов газа,
связанный с отсчетным механизмом, включающим табло [SU 1661579 G01F 1/00,
1988]. Информацию о расходе газа по этому прибору можно получить только на
месте установки счетчика, непосредственно контролируя табло его отсчетного механизма.
В последнее время стал применяться в жилищно-коммунальном хозяйстве счетчик
газа объемный диафрагменный типа NPMT [Счетчик газа объемный диафрагменный.
Паспорт. Завод газового оборудования «Газдевайс». ГЮНК 407260.004 ПС]. Этот
счетчик предназначен для учета газообразного топлива - сжиженного газа,
нефтяного газа, крекинг-газа и природного газа. Особенностью счетчика является
то, что он имеет в отсчетном устройстве телеметрический датчик (геркон) для
вывода информации в виде импульсов, каждый из которых соответствует
определенному объему газа, пропущенному через счетчик (например, 0, 01
м3/имп.). В случае применения его в условиях взрывоопасных зон помещений и
наружных установок к разъему телеметрического датчика счетчика типа NPMT
допускается применение электрооборудования с выходной искробезопасной
электрической цепью, сертифицированного для взрывоопасной газовой смеси
категории Устройства учета расхода газа можно классифицировать следующим
образом:
- по назначению: домовые и промышленные;
- по числу выходов: с одним и двумя выходами;
- по технологическим схемам:
- с одной линией редуцирования;
- с основной и резервной линиями редуцирования;
- с двумя линиями редуцирования, настроенными на разное
выходное давление, и двумя резервными линиями;
- с четырьмя линиями редуцирования (две основные, две
резервные), с параллельным редуцированием, с одним или двумя выходами.
Устройство учета расхода газа выполняет следующие функции:
- вычисление приведенного к стандартным условиям объема газа;
- Отображение на дисплее корректора информации о текущих
значениях измеряемых и рассчитываемых параметров (объем, давление, температура
и т.д), данных архивов и журналов - суточного потребления и максимальных
расходов текущего и прошедшего месяца с указанием времени и даты и т.д.;
- возможность интеграции в систему с дистанционной передачей
данных с помощью интерфейса постоянного подключения RS232 (RS485) или
оптического интерфейса
- дистанционная передача данных архива и технологических данных
с помощью программного обеспечения;
- периодический вывод данных на принтер, оснащенный
последовательным портом;
- представление отчетов о нештатных ситуациях, авариях,
несанкционированных вмешательствах;
- архивирование основных измеряемых и вычисляемых параметров;
- почасовая запись данных в архив за 9 месяцев;
- ввод и изменение исходных условий и данных (процедура
настройки);
- при использовании модуля функционального расширения МР260
возможно постоянное подключение различных по типу устройств (принтер, модем, ПК
и пр.) для передачи или вывода на печать интервального архива (принтер),
дистанционного управления корректором (модем, ПК).
- возможность работы по подставному значению расхода.
- контроль температуры окружающей среды (опционально);
- контроль перепада давления на счетчике газа (опционально, не
требует внешнего питания, дооснащение в процессе эксплуатации);
- использование дополнительных высокочастотных (A1R, A1K) и
среднечастотных (R300) датчиков импульсов для контроля расхода газа
(опционально, дооснащение датчиком R300 в процессе эксплуатации);
- возможность считывания данных по оптическому интерфейсу с
использованием кабеля адаптера КА/О-USB ;
- удобный 4-строчный дисплей.
Устройство учёта потребления газа выполняют непрерывное измерение расхода
природного газа по узлам учёта осуществляют непрерывный сбор аналоговой и
цифровой информации с ПИП с периодом не более 5 с, накопление, обработку и
передачу этих данных осуществляют сбор информации и итоговую обработку этой
информации.Обеспечивается возможность:
- ввода данных, характеризующих расходомерный узел, с фиксацией
даты и времени (режим программирования вычислителя);
- ввода параметров, характеризующих выходные сигналы первичных
преобразователей и назначение каналовАЦП;
- изменения параметров, характеризующих состав природного газа
и атмосферное давление (при использовании преобразователя избыточного
давления);
- отображения всех преобразованных сигналов преобразователей и
вычисленный расход, а также промежуточных значений величин, характеризующих
расход;
- считывания всех архивов и сохранения их в виде файлов на
жёстком диске персонального компьютера в папке с наименованием предприятия.
- работы с несколькими вычислителями;
- конфигурирования (запись постоянных характеристик)
вычислителя
- чтения и отображения в виде таблиц потребления энергоносителя
за указанный месяц (сутки);
- вывода данных на печать;
- архивирования данных на НЖМД персонального компьютера;
учет расход газ
микроконтроллер
1.2 Предварительное проектирование микропроцессорной
системы
Проектирование микропроцессорной системы начинается с анализа и уточнения
технического задания на разработку микропроцессорной системы. В процессе
разработки микропроцессорной системы происходит переход от одного уровня
представления к другому более детальному.
Этапы и задачи проектирования микропроцессорной системы:
при проектировании многопроцессорных микропроцессорных систем, содержащих
несколько типов микропроцессорных наборов, необходимо решать вопросы
организации памяти, взаимодействия с процессорами, организации обмена между
устройствами системы и внешней средой, согласования функционирования устройств,
имеющих различную скорость работы, и т. д.
Ниже приведена примерная последовательность этапов, типичных для создания
микропроцессорной системы:
- формализация требований к системе;
- разработка структуры и архитектуры системы;
- разработка и изготовление аппаратных средств и программного
обеспечения системы.
Комплексная отладка и приемосдаточные испытания проводятся по этапам.
Этап 1. На этом этапе составляются внешние спецификации, перечисляются
функции системы, формализуется техническое задание (ТЗ) на систему, формально
излагаются замыслы разработчика в официальной документации.
Этап 2. На данном этапе определяются функции отдельных устройств и
программных средств, выбираются микропроцессорные наборы, на базе которых будет
реализована система, определяются взаимодействие между аппаратными и
программными средствами, временные характеристики отдельных устройств и
программ.
Этап 3. После определения функций, реализуемых аппаратурой, и функций,
реализуемых программами, схемотехники и программисты одновременно приступают к
разработке и изготовлению соответственно опытного образца и программных
средств. Разработка и изготовление аппаратуры состоят из разработки структурных
и принципиальных схем, изготовления прототипа, автономной отладки.
Разработка программ состоит из разработки алгоритмов; написания текста
исходных программ; трансляции исходных программ в объектные программы;
автономной отладки.
Этап 4. На каждом этапе проектирования МПС людьми могут быть внесены
неисправности и приняты неверные проектные решения. Кроме того, в аппаратуре
могут возникнуть дефекты.
- микроконтроллера;
- дисплея;
- датчиков расхода, температуры и
давления проходящего газа.
- элемента питания(батареи)
- LCD дисплея
Дадим основное назначение данных устройств.
Датчик давления - первичный преобразователь давления в электрическое
напряжение.
Датчик расхода - считывает количество проходящего газа.
Датчик температуры - первичный преобразователь температуры в
электрическое напряжение.
LCD
дисплей - элемент, отображающий значение веса в виде десятичных цифр.
Микроконтроллер - элемент, управляющий устройство учета расхода газа,
т.е. опрашивающий датчик с некоторой периодичностью и преобразующий его
аналоговый электрический сигнал в цифровой, а также выводящий это значение на
индикатор.
Батарея питания - элемент, питающий устройство учета расхода газа.
Их принцип действия. Датчики собирают информацию о расходе газа, его
температуре и давления.Вся информация обрабатывается микроконтроллером и после
преобразования в десятичные числа передается на LCDдисплей в форме удобной для отслеживания абонентом.
Рисунок 1 - Структурная схема устройства
1.3 Выбор и обоснование элементной базы
Таблица 1 - Характеристика микроконтроллера PIC16F87A
В байтах
Тип памяти программ
|
Flash
|
|
Объем памяти программ (кбайт)
|
14
|
|
Быстродействие (MIPS - миллионов команд в секунду)
|
5
|
|
ОЗУ (байт)
|
368
|
|
EEPROM память данных (байт)
|
256
|
|
Поддерживаемые режимы связи с периферией
|
1-UART, 1-A/E/USART, 1-SPI,
1-I2C1-MSSP(SPI/I2C)
|
|
Модуль для формирования и измерения импульсных сигналов
|
2 CCP
|
|
Таймеры
|
2 x 8-битных, 1 x 16-битный
|
|
Компараторы
|
2
|
|
АЦП
|
10 разрядное, 5 канальное
|
|
Диапазон температур (°C)
|
от -40 до 125
|
|
Диапазон рабочего напряжения (В)
|
от 2 В до 5.5 В
|
|
Количество выводов
|
28
|
|
Обозначениевывода
|
№выводаDIP
|
№выводаSOIC
|
ТипI/O/P
|
Типбуфера
|
Описание
|
OSC1/CLKIN
|
9
|
9
|
I
|
ST/CMOS(3)
|
Входгенератора/вход внешнего тактового сигнала
|
OSC2/CLKOUT
|
10
|
10
|
O
|
-
|
Выход генератора.Подключаетсякварцевый или керамический
резонатор. В RC режиметактового генератора на выходе OSC2 присутствует
тактовыйсигнал CLKOUT, равныйFOSC/4.
|
MCLR/VPP
|
1
|
1
|
I/P
|
ST
|
Вход сбросамикроконтроллера иливход напряжения
программирования.Сброс микроконтроллера происходит при низком логическом
уровнесигналана входе.
|
RA0/AN0 RA1/AN1 RA2/AN2/VREF-
RA3/AN3/VREF+ RA4/T0CKI RA5/-SS/AN4
|
2 3 4 5 6 7
|
2 3 4 5 6 7
|
I/O I/O I/O I/O I/O I/O
|
Двунаправленный порт ввода/выводаPORTA.RA0 может
бытьнастроен как аналоговый канал0 RA1может бытьнастроен как аналоговый
канал1 RA2 может бытьнастроен как аналоговый канал2 или входотрицательного
опорного напряжения RA3 может бытьнастроен как аналоговый канал3 или входположительного
опорного напряжения RA4 можетиспользоватьсявкачествевхода внешнего
тактовогосигналадляTMR0.Выход соткрытымстоком. RA1может бытьнастроен как
аналоговый канал1 или вход выбора микросхемы врежимеведомогоSPI
|
RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD
|
21 22 23 24 25 26 27 28
|
21 22 23 24 25 26 27 28
|
I/O I/O I/O I/O I/O I/O I/O I/O
|
TTL/ST(1) TTL TTL TTL TTL TTL TTL/ST(2) TTL/ST(2)
|
Двунаправленный порт ввода/выводаPORTB. PORTB имеет
программно подключаемые подтягивающие резисторынавходах. RB0
можетиспользоватьсявкачествевхода внешних прерываний. RB3
можетиспользоватьсявкачествевхода для режима низковольтного программирования.
Прерывания по изменению уровнявходного сигнала. Прерывания по изменению
уровнявходного сигнала. Прерывания по изменению уровнявходного сигнала или
выводдлярежима внутрисхемной отладки
ICD.Тактовыйвходврежимепрограммирования.Прерывания по изменению
уровнявходного сигнала или выводдлярежима внутрисхемной отладки ICD. Вывод
данныхв режимепрограммирования.
|
RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SDO
RC6/TX/CK RC7/RX/DT
|
11 12 13 14 15 16 17 18
|
11 12 13 14 15 16 17 18
|
I/O I/O I/O I/O
I/O I/O I/O I/O
|
ST ST ST ST
ST ST ST ST
|
Двунаправленный порт ввода/выводаPORTC. RC0
можетиспользоватьсяв качестве выхода генератора TMR1 или входа
внешнеготактового сигнала для TMR1. RC1 можетиспользоватьсяв качестве входа
генератора для TMR1 или выводамодуляCCP2. RC2 можетиспользоватьсяв качестве
выводамодуля CCP1. RC3 можетиспользоватьсяв качестве входа/выхода
тактовогосигналав режиме SPI и I2C. RC4 можетиспользоватьсяв качестве входа
данныхв режиме SPI или вход/выход данныхврежимеI2C. RC5 можетиспользоватьсяв
качестве выхода данныхв режиме SPI. RC6 можетиспользоватьсяв качестве вывода
передатчикаUSART в асинхронном режиме или вывода синхронизации USART
всинхронномрежиме. RC6 можетиспользоватьсяв качестве вывода приемника
USARTвасинхронномрежиме иливывода данных USART в синхронном режиме.
|
VSS
|
8 19
|
8, 19
|
P
|
-
|
Общий вывод длявнутреннейлогики и портов ввода/вывода
|
VDD
|
20
|
20
|
P
|
-
|
Положительное напряжениепитания для внутренней логики и
портов ввода/вывода
|
|
|
|
|
|
|
|
|
Рисунок 2- Назначение выводов микроконтроллера
Конструктивно дисплей состоит из следующих элементов:
- ЖК-матрицы
(первоначально - плоский пакет стеклянных пластин, между слоями которого и
располагаются жидкие кристаллы; в 2000-е годы начали применяться гибкие
материалы на основеполимеров <https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%BB%D0%B8%D0%BC%D0%B5%D1%80%D1%8B>);
- источников
света дляподсветки
<https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%B4%D1%81%D0%B2%D0%B5%D1%82%D0%BA%D0%B0_%D0%96%D0%9A-%D0%B4%D0%B8%D1%81%D0%BF%D0%BB%D0%B5%D0%B5%D0%B2>;
- контактногожгута
<https://ru.wikipedia.org/wiki/%D0%96%D0%B3%D1%83%D1%82>(проводов);
- корпуса, чаще
пластикового
<https://ru.wikipedia.org/wiki/%D0%9F%D0%BB%D0%B0%D1%81%D1%82%D0%B8%D0%BA>,
с металлической рамкой для придания жёсткости.
- Состав
пикселя ЖК-матрицы:
- два прозрачныхэлектрода
<https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%B4>;
- слой молекул,
расположенный между электродами;
- два
поляризационных фильтра
<https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%BB%D1%8F%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80>,
плоскости поляризации которых (как правило) перпендикулярны.
Если бы жидких кристаллов между фильтрами не было, то
свет, пропускаемый первым фильтром, практически полностью блокировался бы
вторым фильтром.
Поверхность
электродов, контактирующая с жидкими кристаллами, специально обработана для
изначальной ориентации молекул в одном направлении. В TN-матрице эти
направления взаимно перпендикулярны, поэтому молекулы в отсутствие напряжения
выстраиваются в винтовую структуру. Эта структура преломляет свет таким
образом, что до второго фильтра плоскость его поляризации поворачивается
<https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%B2%D0%BE%D1%80%D0%BE%D1%82_%D0%BF%D0%BB%D0%BE%D1%81%D0%BA%D0%BE%D1%81%D1%82%D0%B8_%D0%BF%D0%BE%D0%BB%D1%8F%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8>
и через него свет проходит уже без потерь. Если не считать поглощения первым
фильтром половины неполяризованного света, ячейку можно считать прозрачной.
Если
же к электродам приложено напряжение, то молекулы стремятся выстроиться в
направлении электрического поля
<https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D0%BE%D0%BB%D0%B5>,
что искажает винтовую структуру. При этом силы упругости
<https://ru.wikipedia.org/wiki/%D0%A3%D0%BF%D1%80%D1%83%D0%B3%D0%BE%D1%81%D1%82%D1%8C>
противодействуют этому, и при отключении напряжения молекулы возвращаются в
исходное положение. При достаточной величине поля практически все молекулы
становятся параллельны, что приводит к непрозрачности структуры. Варьируя
напряжение
<https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BD%D0%B0%D0%BF%D1%80%D1%8F%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5>,
можно управлять степенью прозрачности.
Если
постоянное напряжение приложено в течение долгого времени, жидкокристаллическая
структура может деградировать из-за миграции ионов. Для решения этой проблемы
применяется переменный ток <https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D1%82%D0%BE%D0%BA>или
изменение полярности поля при каждой адресации ячейки (так как изменение
прозрачности происходит при включении тока, вне зависимости от его полярности).
Во
всей матрице можно управлять каждой из ячеек индивидуально, но при увеличении
их количества это становится трудновыполнимо, так как растёт число требуемых
электродов. Поэтому практически везде применяется адресация по строкам и
столбцам.
Проходящий
через ячейки свет может быть естественным - отражённым от подложки (в
ЖК-дисплеях без подсветки). Но чаще применяют искусственный источник света
<https://ru.wikipedia.org/wiki/%D0%98%D1%81%D0%BA%D1%83%D1%81%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B8%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B8_%D1%81%D0%B2%D0%B5%D1%82%D0%B0>,
кроме независимости от внешнего освещения, это также стабилизирует свойства
полученного изображения.
Таким
образом, полноценныймонитор <https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D1%8B%D0%B9_%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80>с
ЖК-дисплеем состоит из высокоточной электроники, обрабатывающей входной
видеосигнал, ЖК-матрицы, модуля подсветки <https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%B4%D1%81%D0%B2%D0%B5%D1%82%D0%BA%D0%B0_%D0%96%D0%9A-%D0%B4%D0%B8%D1%81%D0%BF%D0%BB%D0%B5%D0%B5%D0%B2>,
блока питания и корпуса с элементами управления. Именно совокупность этих
составляющих определяет свойства монитора в целом, хотя некоторые
характеристики важнее других.
Номер
|
Обозначение
|
Назначение
|
1
|
GND
|
Общий вывод источника питания
|
2
|
+5V
|
Напряжение питания +5В
|
3
|
V0
|
Регулировка контраста
|
4
|
RS
|
Выбор регистра контроллера
|
5
|
R/W
|
Выбор режима обмена
|
6
|
E
|
Стробирующий импульс
|
7
|
DB0
|
Двунаправленная шина данных
|
8
|
DB1
|
|
9
|
|
10
|
DB3
|
|
11
|
DB4
|
|
12
|
DB5
|
|
13
|
DB6
|
|
Рисунок 4-LCDдисплей
Датчики расхода газа - устройства, при помощи которых
определяют объём газа, пройденного сквозь отверстие неэлектрофицированных
объектов за единицу времени.
ДРГ выполняют следующие функции:
- измеряют текущий объёмный расход в
рабочих условиях;
- вычисляют и хранят информацию
среднечасовых значений по расходу газа;
- отображают мгновенные параметры
газового потока на цифровом индикаторе;
- сохраняют данные во время отключения
питания;
- передают информацию на управляющие
устройства при помощи стандартных протоколов и технологии RS-485, импульсными
электрическими или токовыми сигналами
Рисунок 5-Датчик
Датчики давления - устройства, которые изменяют свои
физические параметры при изменении давления газа При этом давление газа
преобразуется в унифицированные пневматические и электрические сигналы или
определённую последовательность цифрового кода.
В состав ДД входит первичный преобразователь
(чувствительным элементом которого выступает приёмник давления), схема
обработки сигналов, герметичное соединение датчика с объектами, система защиты
от воздействий внешних факторов, устройство отображения полученных
информационных сигналов.
Рисунок- Перечень элементов
1.4 Разработка программного обеспечения
Принцип работы устройства учета газа основан на свойстве изменения
проводимости тонкопленочного слоя диоксида олова SnO2 при контакте его с
определяемым газом. Чувствительность к разного рода газам достигается путем
легирования различных присадок в чувствительный слой датчика. Сам
чувствительный элемент датчика состоит из керамической микротубы с покрытием
Al2O3 и нанесенного на нее чувствительного слоя диоксида олова. Внутри тубы
проходит нагревательный элемент, который нагревает чувствительный слой до
температуры при которой он начинает реагировать на определяемый газ. При
попадании газа в датчик происходит абсорбция газа и в следствие чего
сопротивление датчика падает и его количество замеряется.
После вывода на индикацию первой (верхней) строки
значения второй строки перекодируются и записываются в те же регистры
индикации, а затем - выводятся на индикацию.Программа имеет размер 31 страница
и имеет множество подпрограмм после выполнения которых данные выводятся на
дисплей.Большой размер выходного файла объясняется большим объемом программы.
Программа написана на языке программирования Assemblerи будет откомпилированна в
интегрированной среде разаработки MPLAB.Графический алгоритм приведен в приложении Б.
.5 Отладка и тестирование программного обеспечения
MPLAB
- это интегрированная среда разработки, представляющая собой набор программных
продуктов, предназначенная для облегчения роцесса создания, редактирования и
отладки программ для микроконтроллеров семейства PIC, производимых компанией MicrochipTechnology. Среда разработки состоит из
отдельных приложений, связанных друг с другом и включает в себя компилятор с
языка ассемблер, текстовый редактор, программный симулятор и средства работы
над проектами, также среда позволяет использовать компилятор с языка С.
Рисунок 6 - Главное окно программной оболочки MPLAB
Чтобы создать проект нужно в главном меню выбрать пункт «Project» (Проект) и строчку «ProjectWizard» (Мастер проектов) и запускаем ее. В
открывшемся окне нужно нажать «Далее». Следующий шаг - это выбор
микроконтроллера, который нужно запрограммировать. Далеевстроке «ActiveToolsuite» выбираем «HI-TECHPICCToolsuite».
В следующем окне нажимаем кнопку «Browse…» и задаем название папки и место где будет распологаться данный проект
и нажимаем «Далее». В следующем окне нажимаем кнопку «Готово».
В MPLAB создайте новый файл - меню "File" > "New"
и сохраните его "File" > "Saves"под именем main.asm
Занести текст программы и нажать Сохранить
Теперь нужно добавить main.asm в проект.
Нужно
выбрать инструмент в котором будет происходить проверка работы программы - это
может быть реальное устройство с выбранным МК подключенное через интерфейс
типаICD2 <#"902822.files/image006.gif">
Приложение Б
Алгоритм работы прибора учета расхода газа
Приложение В
Программа работы микроконтроллера PIC16F87A
;***********************************
; disassembled by HellFire v3.01.5
; 28 Mar 16 05:38:58
;***********************************
;-Register Definitions-x00x01
;-Register
Files-x00EQU0x01x02x03x04x05x06x07x08x09x0Ax0BEQU0x0CEQU0x0DLEQU0x0EHEQU0x0FCONEQU0x10EQU0x11CONEQU0x12x13x14LEQU0x15HEQU0x16CONEQU0x17x18x19x1ALEQU0x1BHEQU0x1CCONEQU0x1Dx1EEQU0x1F_REGEQU0x01x05x06x07x08x09EQU0x0CEQU0x0Dx0EEQU0x11EQU0x12x13x14x18x19x1EEQU0x1Fx0Cx0Dx0Ex0FEQU0x0CEQU0x0D
;-STATUS bits-x00x01x02_PDEQU0x03_TOEQU0x04EQU0x05EQU0x06x07
;-INTCON bits-x00x01IFEQU0x02x03x04IEEQU0x05x06x07
;-PIR1 bits-IFEQU0x00IFEQU0x01IFEQU0x02x03x04x05x06
;-PIR2 bits-IFEQU0x00x03x04x05
;-T1CON
bits-ONEQU0x00CSEQU0x01SYNCEQU0x02OSCENEQU0x03CKPS0EQU0x04CKPS1EQU0x05
;-T2CON bits-CKPS0EQU0x00CKPS1EQU0x01ONEQU0x02EQU0x03EQU0x04EQU0x05EQU0x06
;-SSPCON bits-EQU0x00EQU0x01EQU0x02EQU0x03x04x05x06x07
;-CCP1CON
bits-M0EQU0x00M1EQU0x01M2EQU0x02M3EQU0x03YEQU0x04XEQU0x05
;-RCSTA bits-DEQU0x00x01x02x03x04x05EQU0x06x07
;-CCP2CON bits-M0EQU0x00M1EQU0x01M2EQU0x02M3EQU0x03YEQU0x04XEQU0x05
;-ADCON0 bits-x00x02EQU0x03EQU0x04EQU0x05EQU0x06EQU0x07
;-OPTION_REG
bits-EQU0x00EQU0x01EQU0x02x03SEEQU0x04CSEQU0x05x06_RBPUEQU0x07
;-PIE1 bits-IEEQU0x00IEEQU0x01IEEQU0x02x03x04x05x06
;-PIE2 bits-IEEQU0x00x03x04
;-PCON bits-_BOREQU0x00_POREQU0x01
;-SSPCON2 bits-x00x01x02x03x04x05x06x07
;-SSPSTAT
bits-x00x01C_READEQU0x02C_STARTEQU0x03C_STOPEQU0x04C_DATAEQU0x05x06x07
;-TXSTA bits-DEQU0x00x01x02x04x05EQU0x06x07
;-ADCON1 bits-EQU0x00EQU0x01EQU0x02EQU0x03x07
__config0x3f7e
;Eeprom memory dumpx2100x00, 0x00, 0x00, 0x00, 0x00
;*** Programm dump ***x0000;Start addressx32_0219x32, 5x32,
5x32, 5x32, 3_000Bx32, 3_0044, C_0032_000B:x08;b'0000 1000', ' ',
.08x23_000D:_0058x22, Fx23, F_000Dx32, 5_003D_0062_005Ex32, 5_0032_0037x22, W,
C_0214x32, 5x32, 5x32, 5x32, 2_0025xFE;b'1111 1110', 'ю', .254x33x32, 2, C_0214_0025:x32,
4_002Dx26x32, 4_0044, C_0032x26, W_002D:_004B, C_0032x32,
5_0214_0032:_003D_0062x32, 2x32, 4x32, 3_0037:x36, Wx34, W_003A:, 7,
F_0043_003D:x36, Wx34, W_0040:, F, 7, F_0043:_0044:_0037_0062_003D_005Ex33,
Wx32, 3x01;b'0000 0001', ' ', .01_004B:x22x08;b'0000 1000', ' ',
.08x23_004E:x22, F, C_0037, C_003D_0062_005Ex23, F_004E_0037_0058:_0062x36,
Wx34, W, WxFF;b'1111 1111', 'я',
.255_005E:x37, Wx35, W_0040_0062:x37, Wx35, W_003A, W_0067:x27, 1, 0, 0, RP0,
1, 0, 0x0F;b'0000 1111', ' ', .15, F, RP0x27, Wx32, 1_0092x3A;b'0011 1010',
':', .58x21xFC;b'1111 1100', 'ь',
.252_018Dx33;b'0011 0011', '3', .51x26_00A6x10;b'0001 0000', ' ',
.16x21x68;b'0110 1000', 'h', .104_018D_00A6x64;b'0110 0100', 'd',
.100_018Cx22;b'0010 0010', '"', .34x26_00A6x28;b'0010 1000', '(',
.40_0091x0C;b'0000 1100', ' ', .12_0091x01;b'0000 0001', ' ',
.01_0091x06;b'0000 0110', ' ', .06_0091x32, 1x27, W_0092_0091:x32,
0_0092:x26x32, 0_00A0, 0x03;b'0000 0011', ' ', .03, C_00A5_00A5x07;b'0000
0111', ' ', .07x21xD0;b'1101 0000', 'Р', .208_018D, C_00A0:x32, 0xFE;b'1111 1110', 'ю', .254, Z_0214, 0_00A5:x32,
0_00A6:x32, 0, 1x0F;b'0000 1111', ' ', .15, Fx26, WxF0;b'1111 0000', 'р', .240, F, 1x26, Fx32, 0_00A6x32;b'0011
0010', '2', .50_018C, Cx08;b'0000 1000', ' ', .08x33, 2x01;b'0000 0001', ' ',
.01x23x22x36, W_00BC:x34, W_015F_0214_0214x34, W, Fx06;b'0000 0110', ' ',
.06_018Cx34, W, 7, WxFF;b'1111 1111', 'я', .255x33, 2x22, Fx33, 2x22, Fx32;b'0011 0010', '2', .50_018Cx23,
F_00BCx22, W, C_0214x22x08;b'0000 1000', ' ', .08x33, 2x01;b'0000 0001', ' ',
.01x23_00D8:x22, Fx36, Wx34, W_015F_0214_0214x34, W, C, Fx37;b'0011 0111', '7',
.55_018Cx34, W, Fx09;b'0000 1001', ' ', .09_018Cx23, F_00D8, C_0214x33,
1_0214_00F2x33x33, 0_0214_00F2:x36, Wx34, W_015Fx01;b'0000 0001', ' ',
.01x21xE0;b'1110 0000', 'а', .224_018Dx34, W,
Fx01;b'0000 0001', ' ', .01x21xE0;b'1110 0000', 'а', .224_018Dx34, 7, F, 7x22x20, 0x22_010F, Z_0214_010F,
Z_0214_010F_0214_010F:x34, Wx22, Fx01;b'0000 0001', ' ', .01x20x21_0114:, Wx34,
Wx22, W, Zx20, F, Zx21, F_0114x33, 7x29, W, Zx33, 7x04;b'0000 0100', ' ',
.04x28x25, W_012Bx25, W_012Bx24, W_012Bx24, W_012B:x0F;b'0000 1111', ' ',
.15xF6;b'1111 0110', 'ц', .246, Cx07;b'0000
0111', ' ', .07x0A;b'0000 1010', ' ', .10_014Ex33, 7x29, W, Zx33, 7x05;b'0000
0101', ' ', .05x28x27;b'0010 0111', ''', .39x23x10;b'0001 0000', ' ',
.16_0147x03;b'0000 0011', ' ', .03x23xE8;b'1110 1000', 'и', .232_0147x23x64;b'0110 0100', 'd',
.100_0147x23x0A;b'0000 1010', ' ', .10_0147x24, W_014E_0147:x22x25, Wx21x24,
Wx20_01DDx20, W_014E:x20x28, F, Zx33, 7x29, W, Z_0158x28, W, C_0158:x20, W,
Zx33, 7x33, 7x30;b'0011 0000', '0', .48_020F_015F:xFF;b'1111 1111', 'я', .255, F_0162_0162:, 7,
F_0214_0165:, RP1, RP0, RD, RP0, W, RP1, F_0214, RP1, RP0, WRENx55;b'0101
0101', 'U', .85xAA;b'1010 1010', 'Є', .170, WR_0179:, WR_0179, WREN, RP0, F_0214_017F:x23x22_0181:xFF;b'1111
1111', 'я', .255x22, F, Cx23, F,
C_0214x03;b'0000 0011', ' ', .03x21xE6;b'1110 0110', 'ж', .230_018D_0181_018C:x21_018D:xFC;b'1111
1100', 'ь', .252x20x21, F,
C_0198_0192:xFF;b'1111 1111', 'я',
.255_0193:x20, F, C_0193x20, F_0198:x21, F_0192x01;b'0000 0001', ' ',
.01x27x0A;b'0000 1010', ' ', .10x22x23_01A1:_01DDx27, F_01A1x24, W_01A6:, Cx21,
Fx20, FxFF;b'1111 1111', 'я',
.255, C_01A6x20, W_0214_01AE:x23x22x03;b'0000 0011', ' ',
.03_01BF_01B2:x22x01;b'0000 0001', ' ', .01_01BF_01B5:x23x22x06;b'0000 0110', '
', .06_01BF_01B9:x22x04;b'0000 0100', ' ', .04_01BF_01BC:x23x22x05;b'0000
0101', ' ', .05_01BF:x28x23, Wx21, W, Z_01C6x22, Wx20, W_01C6:x04;b'0000 0100',
' ', .04, Cx01;b'0000 0001', ' ', .01, Zx02;b'0000 0010', ' ', .02x28, W,
ZxFF;b'1111 1111', 'я', .255_0214_01CF:x22x20,
Wx26x24, Wx20x26, Wx24x21, Wx26x25, Wx21x26,
Wx25_01DF_01DD:x25x24_01DF:x10;b'0001 0000', ' ', .16x26_01E1:x21, Wx24, Fx25,
Fx22, Wx24, Fx23, W, Cx23, Wx25, F, C_01F3x22, Wx24, Fx23, W, Cx23, Wx25, F,
C_01F3:x20, Fx21, Fx26, F_01E1x20, W_0214_01F9:x10;b'0001 0000', ' ',
.16x28x21x20_01FD:x27, Fx26, F, C_0207x22, Wx20, Fx23, W, Cx23, Wx21,
F_0207:x21, Fx20, Fx25, Fx24, Fx28, F_01FDx24, W_0214_020F:x31, Wx30, W_0214:,
IRP, RP1, RP0_0219:x10;b'0001 0000', ' ', .16x50x70;b'0111 0000', 'p',
.112x38x17;b'0001 0111', '', .23x39x3Ax3B, 3, 4_02DFx50, Wx00;b'0000 0000', '
', .00, 3, 4, Z_02DExFE;b'1111 1110', 'ю', .254_0067xC0;b'1100 0000', 'А', .192_0067x3A, Wx26x3B, Wx27x50, Wx22x23_01F9x3Cx25, Wx3Dx39, Wx23x38,
W_01CFx3Cx21, Wx3Dx24, Wx44x25, Wx45x51_024A:xFF;b'1111 1111', 'я', .255x50, Wx46xFF;b'1111 1111', 'я', .255, Cx01;b'0000 0001', ' ',
.01x47x51, Wx20x21x47, Wx23x46, W_01B2, 3, 4, Z_02DEx3C, Wx20x3D, Wx21x51,
W_01B5, 3, 4, Z_026Ex00;b'0000 0000', ' ', .00_0067, 3, 4_02D9_026E:x3C,
Wx20x3D, Wx21x51, W_01AE, 3, 4, Z_027Fx20;b'0010 0000', ' ', .32_0067, 3,
4_02D9_027F:x3C, Wx20x3D, Wx21x51, W_01BC, 3, 4, Z_02D9x38, Wx26x39,
Wx27x06;b'0000 0110', ' ', .06x22x23_01F9x40x25, Wx41x23x0A;b'0000 1010', ' ',
.10_01CFx40x21, Wx41x44, Wx20x45, Wx21x41, Wx23x40, W_01B9, 3, 4,
Z_02B0x01;b'0000 0001', ' ', .01_0067, 3, 4_02D9_02B0:x38, Wx26x39,
Wx27x03;b'0000 0011', ' ', .03x22x23_01F9x40x25, Wx41x23x0A;b'0000 1010', ' ',
.10_01CFx40x21, Wx41x44, Wx20x45, Wx21x41, Wx23x40, W_01B9, 3, 4,
Z_02D6x02;b'0000 0010', ' ', .02_0067, 3, 4_02D9_02D6:x20;b'0010 0000', ' ',
.32_0067_02D9:x51, F, 3, 4, Z_024A_02DE:_02DF:xFE;b'1111 1110', 'ю', .254_0067x40;b'0100 0000', '@',
.64_0067x00;b'0000 0000', ' ', .00_0067x15;b'0001 0101', '', .21_0067x15;b'0001
0101', '', .21_0067x15;b'0001 0101', '', .21_0067x15;b'0001 0101', '',
.21_0067x15;b'0001 0101', '', .21_0067x15;b'0001 0101', '', .21_0067x00;b'0000
0000', ' ', .00_0067xFE;b'1111 1110', 'ю', .254_0067x48;b'0100 1000', 'H', .72_0067x00;b'0000 0000', ' ',
.00_0067x14;b'0001 0100', '', .20_0067x14;b'0001 0100', '', .20_0067x14;b'0001
0100', '', .20_0067x14;b'0001 0100', '', .20_0067x14;b'0001 0100', '',
.20_0067x14;b'0001 0100', '', .20_0067x00;b'0000 0000', ' ', .00_0067xFE;b'1111
1110', 'ю', .254_0067x50;b'0101
0000', 'P', .80_0067x00;b'0000 0000', ' ', .00_0067x10;b'0001 0000', ' ',
.16_0067x10;b'0001 0000', ' ', .16_0067x10;b'0001 0000', ' ', .16_0067x10;b'0001
0000', ' ', .16_0067x10;b'0001 0000', ' ', .16_0067x10;b'0001 0000', ' ',
.16_0067x00;b'0000 0000', ' ', .00_0067xFE;b'1111 1110', 'ю', .254_0067x58;b'0101 1000', 'X',
.88_0067x16;b'0001 0110', '', .22_0067x09;b'0000 1001', ' ', .09_0067x08;b'0000
1000', ' ', .08_0067x08;b'0000 1000', ' ', .08_0067x08;b'0000 1000', ' ',
.08_0067x09;b'0000 1001', ' ', .09_0067x06;b'0000 0110', ' ',
.06_0067x00;b'0000 0000', ' ', .00_0067xFE;b'1111 1110', 'ю', .254_0067x60;b'0110 0000', '`',
.96_0067x00;b'0000 0000', ' ', .00_0067x02;b'0000 0010', ' ',
.02_0067x06;b'0000 0110', ' ', .06_0067x0E;b'0000 1110', ' ',
.14_0067x06;b'0000 0110', ' ', .06_0067x02;b'0000 0010', ' ',
.02_0067x00;b'0000 0000', ' ', .00_0067x00;b'0000 0000', ' ',
.00_0067xFE;b'1111 1110', 'ю',
.254_0067x68;b'0110 1000', 'h', .104_0067x00;b'0000 0000', ' ',
.00_0067x08;b'0000 1000', ' ', .08_0067x0C;b'0000 1100', ' ',
.12_0067x0E;b'0000 1110', ' ', .14_0067x0C;b'0000 1100', ' ',
.12_0067x08;b'0000 1000', ' ', .08_0067x00;b'0000 0000', ' ', .00_0067x00;b'0000
0000', ' ', .00_0067xFE;b'1111 1110', 'ю', .254_0067x70;b'0111 0000', 'p', .112_0067x00;b'0000 0000', ' ',
.00_0067x00;b'0000 0000', ' ', .00_0067x00;b'0000 0000', ' ',
.00_0067x04;b'0000 0100', ' ', .04_0067x00;b'0000 0000', ' ', .00_0067x00;b'0000
0000', ' ', .00_0067x00;b'0000 0000', ' ', .00_0067x00;b'0000 0000', ' ',
.00_0067xFE;b'1111 1110', 'ю',
.254_0067x78;b'0111 1000', 'x', .120_0067x1F;b'0001 1111', '',
.31_0067x1F;b'0001 1111', '', .31_0067x1F;b'0001 1111', '', .31_0067x1F;b'0001
1111', '', .31_0067x1F;b'0001 1111', '', .31_0067x1F;b'0001 1111', '',
.31_0067x1F;b'0001 1111', '', .31_0067x00;b'0000 0000', ' ', .00_0067x64;b'0110
0100', 'd', .100_017F, RP1, RP1_0165x01;b'0000 0001', ' ', .01, Zx52, 0, Zx52,
0, RP0xFF;b'1111 1111', 'я', .255x8E;b'1000 1110', 'Ћ', .142, RP0x53xFE;b'1111 1110', 'ю', .254_0067x01;b'0000 0001', ' ',
.01_0067xFE;b'1111 1110', 'ю',
.254_0067x0C;b'0000 1100', ' ', .12_0067xFE;b'1111 1110', 'ю', .254_0067x80;b'1000 0000', 'Ђ', .128_0067x20;b'0010 0000', ' ',
.32_0067x20;b'0010 0000', ' ', .32_0067x20;b'0010 0000', ' ',
.32_0067x2A;b'0010 1010', '*', .42_0067x2A;b'0010 1010', '*',
.42_0067x2A;b'0010 1010', '*', .42_0067x2A;b'0010 1010', '*',
.42_0067x2A;b'0010 1010', '*', .42_0067x2A;b'0010 1010', '*', .42_0067x2A;b'0010
1010', '*', .42_0067x2A;b'0010 1010', '*', .42_0067x2A;b'0010 1010', '*',
.42_0067x2A;b'0010 1010', '*', .42_0067xFE;b'1111 1110', 'ю', .254_0067xC0;b'1100 0000', 'А', .192_0067x20;b'0010 0000', ' ',
.32_0067x20;b'0010 0000', ' ', .32_0067x20;b'0010 0000', ' ',
.32_0067x2A;b'0010 1010', '*', .42_0067x2A;b'0010 1010', '*',
.42_0067x2A;b'0010 1010', '*', .42_0067x2A;b'0010 1010', '*',
.42_0067x2A;b'0010 1010', '*', .42_0067x2A;b'0010 1010', '*',
.42_0067x2A;b'0010 1010', '*', .42_0067x2A;b'0010 1010', '*',
.42_0067x2A;b'0010 1010', '*', .42_0067x2A;b'0010 1010', '*',
.42_0067x64;b'0110 0100', 'd', .100_017FxFE;b'1111 1110', 'ю', .254_0067x80;b'1000 0000', 'Ђ', .128_0067x20;b'0010 0000', ' ',
.32_0067x20;b'0010 0000', ' ', .32_0067x20;b'0010 0000', ' ',
.32_0067x3C;b'0011 1100', '<', .60_0067x3C;b'0011 1100', '<',
.60_0067x3C;b'0011 1100', '<', .60_0067x3C;b'0011 1100', '<',
.60_0067x3C;b'0011 1100', '<', .60_0067x3E;b'0011 1110', '>',
.62_0067x3E;b'0011 1110', '>', .62_0067x3E;b'0011 1110', '>', .62_0067x3E;b'0011
1110', '>', .62_0067x3E;b'0011 1110', '>', .62_0067xFE;b'1111 1110', 'ю', .254_0067xC0;b'1100 0000', 'А', .192_0067x20;b'0010 0000', ' ',
.32_0067x20;b'0010 0000', ' ', .32_0067x20;b'0010 0000', ' ',
.32_0067x3C;b'0011 1100', '<', .60_0067x3C;b'0011 1100', '<',
.60_0067x3C;b'0011 1100', '<', .60_0067x3C;b'0011 1100', '<',
.60_0067x3C;b'0011 1100', '<', .60_0067x3E;b'0011 1110', '>',
.62_0067x3E;b'0011 1110', '>', .62_0067x3E;b'0011 1110', '>',
.62_0067x3E;b'0011 1110', '>', .62_0067x3E;b'0011 1110', '>',
.62_0067x64;b'0110 0100', 'd', .100_017FxFE;b'1111 1110', 'ю', .254_0067x80;b'1000 0000', 'Ђ', .128_0067x20;b'0010 0000', ' ',
.32_0067x20;b'0010 0000', ' ', .32_0067x3C;b'0011 1100', '<',
.60_0067x3C;b'0011 1100', '<', .60_0067x3C;b'0011 1100', '<',
.60_0067x3C;b'0011 1100', '<', .60_0067x3C;b'0011 1100', '<',
.60_0067x75;b'0111 0101', 'u', .117_0067x62;b'0110 0010', 'b',
.98_0067x3E;b'0011 1110', '>', .62_0067x3E;b'0011 1110', '>',
.62_0067x3E;b'0011 1110', '>', .62_0067x3E;b'0011 1110', '>',
.62_0067x3E;b'0011 1110', '>', .62_0067xFE;b'1111 1110', 'ю', .254_0067xC0;b'1100 0000', 'А', .192_0067x20;b'0010 0000', ' ',
.32_0067x20;b'0010 0000', ' ', .32_0067x3C;b'0011 1100', '<',
.60_0067x3C;b'0011 1100', '<', .60_0067x3C;b'0011 1100', '<', .60_0067x3C;b'0011
1100', '<', .60_0067x3C;b'0011 1100', '<', .60_0067x43;b'0100 0011', 'C',
.67_0067x20;b'0010 0000', ' ', .32_0067x3E;b'0011 1110', '>',
.62_0067x3E;b'0011 1110', '>', .62_0067x3E;b'0011 1110', '>',
.62_0067x3E;b'0011 1110', '>', .62_0067x3E;b'0011 1110', '>',
.62_0067x64;b'0110 0100', 'd', .100_017FxFE;b'1111 1110', 'ю', .254_0067x80;b'1000 0000', 'Ђ', .128_0067x20;b'0010 0000', ' ',
.32_0067x3C;b'0011 1100', '<', .60_0067x3C;b'0011 1100', '<',
.60_0067x3C;b'0011 1100', '<', .60_0067x3C;b'0011 1100', '<',
.60_0067x3C;b'0011 1100', '<', .60_0067x73;b'0111 0011', 's',
.115_0067x75;b'0111 0101', 'u', .117_0067x62;b'0110 0010', 'b',
.98_0067x69;b'0110 1001', 'i', .105_0067x3E;b'0011 1110', '>',
.62_0067x3E;b'0011 1110', '>', .62_0067x3E;b'0011 1110', '>',
.62_0067x3E;b'0011 1110', '>', .62_0067x3E;b'0011 1110', '>',
.62_0067xFE;b'1111 1110', 'ю',
.254_0067xC0;b'1100 0000', 'А',
.192_0067x20;b'0010 0000', ' ', .32_0067x3C;b'0011 1100', '<',
.60_0067x3C;b'0011 1100', '<', .60_0067x3C;b'0011 1100', '<',
.60_0067x3C;b'0011 1100', '<', .60_0067x3C;b'0011 1100', '<',
.60_0067x20;b'0010 0000', ' ', .32_0067x43;b'0100 0011', 'C',
.67_0067x20;b'0010 0000', ' ', .32_0067x45;b'0100 0101', 'E',
.69_0067x3E;b'0011 1110', '>', .62_0067x3E;b'0011 1110', '>',
.62_0067x3E;b'0011 1110', '>', .62_0067x3E;b'0011 1110', '>',
.62_0067x3E;b'0011 1110', '>', .62_0067x64;b'0110 0100', 'd',
.100_017FxFE;b'1111 1110', 'ю',
.254_0067x80;b'1000 0000', 'Ђ',
.128_0067x3C;b'0011 1100', '<', .60_0067x3C;b'0011 1100', '<',
.60_0067x3C;b'0011 1100', '<', .60_0067x3C;b'0011 1100', '<',
.60_0067x3C;b'0011 1100', '<', .60_0067x74;b'0111 0100', 't',
.116_0067x73;b'0111 0011', 's', .115_0067x75;b'0111 0101', 'u',
.117_0067x62;b'0110 0010', 'b', .98_0067x69;b'0110 1001', 'i',
.105_0067x73;b'0111 0011', 's', .115_0067x3E;b'0011 1110', '>',
.62_0067x3E;b'0011 1110', '>', .62_0067x3E;b'0011 1110', '>',
.62_0067x3E;b'0011 1110', '>', .62_0067x3E;b'0011 1110', '>',
.62_0067xFE;b'1111 1110', 'ю',
.254_0067xC0;b'1100 0000', 'А', .192_0067x3C;b'0011
1100', '<', .60_0067x3C;b'0011 1100', '<', .60_0067x3C;b'0011 1100',
'<', .60_0067x3C;b'0011 1100', '<', .60_0067x3C;b'0011 1100', '<',
.60_0067x4E;b'0100 1110', 'N', .78_0067x20;b'0010 0000', ' ',
.32_0067x43;b'0100 0011', 'C', .67_0067x20;b'0010 0000', ' ',
.32_0067x45;b'0100 0101', 'E', .69_0067x20;b'0010 0000', ' ',
.32_0067x3E;b'0011 1110', '>', .62_0067x3E;b'0011 1110', '>',
.62_0067x3E;b'0011 1110', '>', .62_0067x3E;b'0011 1110', '>',
.62_0067x3E;b'0011 1110', '>', .62_0067x64;b'0110 0100', 'd',
.100_017FxFE;b'1111 1110', 'ю',
.254_0067x80;b'1000 0000', 'Ђ',
.128_0067x3C;b'0011 1100', '<', .60_0067x3C;b'0011 1100', '<',
.60_0067x3C;b'0011 1100', '<', .60_0067x3C;b'0011 1100', '<',
.60_0067x69;b'0110 1001', 'i', .105_0067x74;b'0111 0100', 't',
.116_0067x73;b'0111 0011', 's', .115_0067x75;b'0111 0101', 'u',
.117_0067x62;b'0110 0010', 'b', .98_0067x69;b'0110 1001', 'i',
.105_0067x73;b'0111 0011', 's', .115_0067x68;b'0110 1000', 'h',
.104_0067x3E;b'0011 1110', '>', .62_0067x3E;b'0011 1110', '>',
.62_0067x3E;b'0011 1110', '>', .62_0067x3E;b'0011 1110', '>',
.62_0067xFE;b'1111 1110', 'ю',
.254_0067xC0;b'1100 0000', 'А',
.192_0067x3C;b'0011 1100', '<', .60_0067x3C;b'0011 1100', '<',
.60_0067x3C;b'0011 1100', '<', .60_0067x3C;b'0011 1100', '<',
.60_0067x20;b'0010 0000', ' ', .32_0067x4E;b'0100 1110', 'N',
.78_0067x20;b'0010 0000', ' ', .32_0067x43;b'0100 0011', 'C',
.67_0067x20;b'0010 0000', ' ', .32_0067x45;b'0100 0101', 'E',
.69_0067x20;b'0010 0000', ' ', .32_0067x52;b'0101 0010', 'R', .82_0067x3E;b'0011
1110', '>', .62_0067x3E;b'0011 1110', '>', .62_0067x3E;b'0011 1110',
'>', .62_0067x3E;b'0011 1110', '>', .62_0067x64;b'0110 0100', 'd',
.100_017FxFE;b'1111 1110', 'ю',
.254_0067x80;b'1000 0000', 'Ђ',
.128_0067x3C;b'0011 1100', '<', .60_0067x3C;b'0011 1100', '<',
.60_0067x3C;b'0011 1100', '<', .60_0067x4D;b'0100 1101', 'M',
.77_0067x69;b'0110 1001', 'i', .105_0067x74;b'0111 0100', 't',
.116_0067x73;b'0111 0011', 's', .115_0067x75;b'0111 0101', 'u',
.117_0067x62;b'0110 0010', 'b', .98_0067x69;b'0110 1001', 'i',
.105_0067x73;b'0111 0011', 's', .115_0067x68;b'0110 1000', 'h',
.104_0067x69;b'0110 1001', 'i', .105_0067x3E;b'0011 1110', '>',
.62_0067x3E;b'0011 1110', '>', .62_0067x3E;b'0011 1110', '>',
.62_0067xFE;b'1111 1110', 'ю',
.254_0067xC0;b'1100 0000', 'А',
.192_0067x3C;b'0011 1100', '<', .60_0067x3C;b'0011 1100', '<',
.60_0067x3C;b'0011 1100', '<', .60_0067x41;b'0100 0001', 'A',
.65_0067x20;b'0010 0000', ' ', .32_0067x4E;b'0100 1110', 'N',
.78_0067x20;b'0010 0000', ' ', .32_0067x43;b'0100 0011', 'C',
.67_0067x20;b'0010 0000', ' ', .32_0067x45;b'0100 0101', 'E',
.69_0067x20;b'0010 0000', ' ', .32_0067x52;b'0101 0010', 'R',
.82_0067x20;b'0010 0000', ' ', .32_0067x3E;b'0011 1110', '>',
.62_0067x3E;b'0011 1110', '>', .62_0067x3E;b'0011 1110', '>', .62_0067x64;b'0110
0100', 'd', .100_017FxFE;b'1111 1110', 'ю', .254_0067x80;b'1000 0000', 'Ђ', .128_0067x3C;b'0011 1100', '<', .60_0067x3C;b'0011 1100', '<',
.60_0067x20;b'0010 0000', ' ', .32_0067x4D;b'0100 1101', 'M',
.77_0067x69;b'0110 1001', 'i', .105_0067x74;b'0111 0100', 't',
.116_0067x73;b'0111 0011', 's', .115_0067x75;b'0111 0101', 'u',
.117_0067x62;b'0110 0010', 'b', .98_0067x69;b'0110 1001', 'i',
.105_0067x73;b'0111 0011', 's', .115_0067x68;b'0110 1000', 'h',
.104_0067x69;b'0110 1001', 'i', .105_0067x20;b'0010 0000', ' ',
.32_0067x3E;b'0011 1110', '>', .62_0067x3E;b'0011 1110', '>',
.62_0067xFE;b'1111 1110', 'ю',
.254_0067xC0;b'1100 0000', 'А',
.192_0067x3C;b'0011 1100', '<', .60_0067x3C;b'0011 1100', '<',
.60_0067x20;b'0010 0000', ' ', .32_0067x41;b'0100 0001', 'A',
.65_0067x20;b'0010 0000', ' ', .32_0067x4E;b'0100 1110', 'N',
.78_0067x20;b'0010 0000', ' ', .32_0067x43;b'0100 0011', 'C',
.67_0067x20;b'0010 0000', ' ', .32_0067x45;b'0100 0101', 'E',
.69_0067x20;b'0010 0000', ' ', .32_0067x52;b'0101 0010', 'R',
.82_0067x20;b'0010 0000', ' ', .32_0067x20;b'0010 0000', ' ',
.32_0067x3E;b'0011 1110', '>', .62_0067x3E;b'0011 1110', '>',
.62_0067x64;b'0110 0100', 'd', .100_017FxFE;b'1111 1110', 'ю', .254_0067x80;b'1000 0000', 'Ђ', .128_0067x3C;b'0011 1100', '<',
.60_0067x20;b'0010 0000', ' ', .32_0067x20;b'0010 0000', ' ',
.32_0067x4D;b'0100 1101', 'M', .77_0067x69;b'0110 1001', 'i',
.105_0067x74;b'0111 0100', 't', .116_0067x73;b'0111 0011', 's',
.115_0067x75;b'0111 0101', 'u', .117_0067x62;b'0110 0010', 'b',
.98_0067x69;b'0110 1001', 'i', .105_0067x73;b'0111 0011', 's',
.115_0067x68;b'0110 1000', 'h', .104_0067x69;b'0110 1001', 'i',
.105_0067x20;b'0010 0000', ' ', .32_0067x20;b'0010 0000', ' ',
.32_0067x3E;b'0011 1110', '>', .62_0067xFE;b'1111 1110', 'ю', .254_0067xC0;b'1100 0000', 'А', .192_0067x3C;b'0011 1100', '<',
.60_0067x4C;b'0100 1100', 'L', .76_0067x20;b'0010 0000', ' ',
.32_0067x41;b'0100 0001', 'A', .65_0067x20;b'0010 0000', ' ',
.32_0067x4E;b'0100 1110', 'N', .78_0067x20;b'0010 0000', ' ', .32_0067x43;b'0100
0011', 'C', .67_0067x20;b'0010 0000', ' ', .32_0067x45;b'0100 0101', 'E',
.69_0067x20;b'0010 0000', ' ', .32_0067x52;b'0101 0010', 'R',
.82_0067x20;b'0010 0000', ' ', .32_0067x49;b'0100 1001', 'I',
.73_0067x58;b'0101 1000', 'X', .88_0067x3E;b'0011 1110', '>',
.62_0067x64;b'0110 0100', 'd', .100_017FxFE;b'1111 1110', 'ю', .254_0067x80;b'1000 0000', 'Ђ', .128_0067x20;b'0010 0000', ' ',
.32_0067x20;b'0010 0000', ' ', .32_0067x20;b'0010 0000', ' ',
.32_0067x4D;b'0100 1101', 'M', .77_0067x69;b'0110 1001', 'i',
.105_0067x74;b'0111 0100', 't', .116_0067x73;b'0111 0011', 's',
.115_0067x75;b'0111 0101', 'u', .117_0067x62;b'0110 0010', 'b',
.98_0067x69;b'0110 1001', 'i', .105_0067x73;b'0111 0011', 's',
.115_0067x68;b'0110 1000', 'h', .104_0067x69;b'0110 1001', 'i',
.105_0067x20;b'0010 0000', ' ', .32_0067x20;b'0010 0000', ' ',
.32_0067x20;b'0010 0000', ' ', .32_0067xFE;b'1111 1110', 'ю', .254_0067xC0;b'1100 0000', 'А', .192_0067x20;b'0010 0000', ' ',
.32_0067x4C;b'0100 1100', 'L', .76_0067x20;b'0010 0000', ' ',
.32_0067x41;b'0100 0001', 'A', .65_0067x20;b'0010 0000', ' ',
.32_0067x4E;b'0100 1110', 'N', .78_0067x20;b'0010 0000', ' ',
.32_0067x43;b'0100 0011', 'C', .67_0067x20;b'0010 0000', ' ',
.32_0067x45;b'0100 0101', 'E', .69_0067x20;b'0010 0000', ' ', .32_0067x52;b'0101
0010', 'R', .82_0067x20;b'0010 0000', ' ', .32_0802:_0067x49;b'0100 1001', 'I',
.73_0804:_0867x58;b'0101 1000', 'X', .88_0867x20;b'0010 0000', ' ',
.32_0867x07;b'0000 0111', ' ', .07x23xD0;b'1101 0000', 'Р', .208_0980xFE;b'1111 1110', 'ю', .254_0867x01;b'0000 0001', ' ',
.01_0867_0817:, 3, 4_08ED_081B:, 3, 4_081D:, 4_082Cx01;b'0000 0001', ' ',
.01x23xF4;b'1111 0100', 'ф', .244_0980, 3, 4,
4_082C, 3, 4_09A4_082C:, 3, 4, 5_0832x53_0832:x53, Wx00;b'0000 0000', ' ', .00,
3, 4, Z_083C, 3, 4_098D_083C:, 3, 4x52, 0_086F, 3, 4_09BDxFE;b'1111 1110', 'ю', .254_0867x80;b'1000 0000', 'Ђ', .128_0867x05;b'0000 0101', ' ',
.05_0867x57, W_0867x02;b'0000 0010', ' ', .02x29x4A, Wx24x4B, Wx25x66;b'0110
0110', 'f', .102x30x31_0931x2E;b'0010 1110', '.', .46_0867x01;b'0000 0001', '
', .01x29x4C, Wx24x4D, Wx25x66;b'0110 0110', 'f',
.102x30x31_0867:_0931x03;b'0000 0011', ' ', .03_0867x04;b'0000 0100', ' ',
.04_0867_086F:, 3, 4x52, 0_08A2, 3, 4_09EExFE;b'1111 1110', 'ю', .254_0867x80;b'1000 0000', 'Ђ', .128_0867x04;b'0000 0100', ' ',
.04_0867x57, W_0867x02;b'0000 0010', ' ', .02x29x4A, Wx24x4B, Wx25x66;b'0110
0110', 'f', .102x30x31_0931x2E;b'0010 1110', '.', .46_0867x01;b'0000 0001', '
', .01x29x4C, Wx24x4D, Wx25x66;b'0110 0110', 'f', .102x30x31_0931x03;b'0000
0011', ' ', .03_0867x05;b'0000 0101', ' ', .05_0867_08A2:xFE;b'1111 1110', 'ю', .254_0867x8B;b'1000 1011', '‹',
.139_0867x02;b'0000 0010', ' ', .02x29x54, Wx24x25x66;b'0110 0110', 'f',
.102x30x31_091Ex3A;b'0011 1010', ':', .58_0867_08B5:x02;b'0000 0010', ' ', .02x29x55,
Wx24x25x66;b'0110 0110', 'f', .102x30x31_091Ex20x05;b'0000 0101', ' ',
.05x02;b'0000 0010', ' ', .02_0900x20, Wx3Ex21, Wx3Fx3E, Wx3Ax3F,
Wx3B_0A24xC8;b'1100 1000', 'И',
.200_097F, 3_08D3:, 4_0817_08D5:x07;b'0000 0111', ' ', .07x36x10;b'0001 0000',
' ', .16x34x07;b'0000 0111', ' ', .07x37x08;b'0000 1000', ' ', .08x35xD0;b'1101
0000', 'Р', .208_081Dx00;b'0000
0000', ' ', .00_081Dx56, W_081Dx55, W_081Dx54, W_081B_08EC:_08ED:x07;b'0000
0111', ' ', .07x36_08EF:x10;b'0001 0000', ' ', .16x34x07;b'0000 0111', ' ',
.07x37x08;b'0000 1000', ' ', .08x35xD0;b'1101 0000', 'Р', .208_081Dx00;b'0000 0000', ' ',
.00_081D_0804x56_0804_0900:x55_0802x54_0905:x0F;b'0000 1111', ' ', .15x55,
Wx46x47x55, Wx20x21x04;b'0000 0100', ' ', .04_09A9x48x49x48, Wx26x49,
Wx27x0A;b'0000 1010', ' ', .10x22x23_09F9x48x25, Wx49x46, W_091E:x48, Wx55x55,
Fx55, Wx3C;b'0011 1100', '<', .60, 3, 4, Z_0929x55_0929:x55,
Wx20x21x01;b'0000 0001', ' ', .01_099Cx46x47_0931:x46, Wx26x47, Wx27x10;b'0001
0000', ' ', .16x22x23_09F9x46x25, Wx47x55, Wx20x21x00;b'0000 0000', ' ',
.00_099Cx48x49x46, Wx48, Wx55_0949:x0F;b'0000 1111', ' ', .15x54, Wx46x47x54,
Wx20x21x04;b'0000 0100', ' ', .04_09A9x48x49x48, Wx26x49, Wx27x0A;b'0000 1010',
' ', .10x22x23_09F9x48x25, Wx49x46, Wx48, Wx54x54, Fx54, Wx18;b'0001 1000', '',
.24, 3, 4, Z_096Dx54_096D:x54, Wx20_096F:x21x01;b'0000 0001', ' ',
.01_099Cx46x47x46, Wx26x47, Wx27x10;b'0001 0000', ' ',
.16x22x23_09F9x46_097F:x25, W_0980:x47x54, Wx20x21x00;b'0000 0000', ' ',
.00_099Cx48x49x46, Wx48, Wx54_098D:, 3, 4, 5_09A3x52, 0x01;b'0000 0001', ' ',
.01, Zx52, 0, Zx52, 0, RP1, RP1_099C:x00;b'0000 0000', ' ', .00x52, 0x01;b'0000
0001', ' ', .01_096Fx01;b'0000 0001', ' ', .01x53_09A3:_09A4:, 3, 4x52,
0_09B0_09A9:x56, 3, 4_0905, 3, 4_08D5_09B0:, 3, 4x52, 0_09BCx56, 3, 4_0949, 3,
4_08D5_09BC:_09BD:x05;b'0000 0101', ' ', .05x36x08;b'0000 1000', ' ',
.08x34x01;b'0000 0001', ' ', .01_08EFxCC;b'1100 1100', 'М', .204_08D3x44;b'0100 0100', 'D',
.68_08D3_08ECx05;b'0000 0101', ' ', .05x36x08;b'0000 1000', ' ',
.08x34x01;b'0000 0001', ' ', .01_08EFxCC;b'1100 1100', 'М', .204_08D3xBE;b'1011 1110', 'ѕ', .190_08D3_08ECx05;b'0000 0101', '
', .05x36_09DD:x08;b'0000 1000', ' ', .08x34x02;b'0000 0010', ' ',
.02_08EF_08B5x42_08B5x43_08EC, 3, 4_0A1F_09EE:x05;b'0000 0101', ' ',
.05x36x04;b'0000 0100', ' ', .04x34x01;b'0000 0001', ' ', .01_08EFxCC;b'1100
1100', 'М', .204_08D3x44;b'0100
0100', 'D', .68_09F9:_08D3_08ECx05;b'0000 0101', ' ', .05x36x04;b'0000 0100', '
', .04x34x01;b'0000 0001', ' ', .01_08EFxCC;b'1100 1100', 'М', .204_08D3xBE;b'1011 1110', 'ѕ', .190_08D3_08ECx05;b'0000 0101', '
', .05x36x04;b'0000 0100', ' ', .04x34x02;b'0000 0010', ' ',
.02_08EF_08B5x42_08B5x43_08EC, 3, 4_0A1F_0A1F:, 3, 4x43, 3_0A72_0A24:x2D;b'0010
1101', '-', .45x57x42, WxFF;b'1111 1111', 'я', .255x46x43, W, Cx01;b'0000 0001', ' ', .01xFF;b'1111 1111', 'я', .255x47x46, F, Zx47, Fx46,
Wx20x47, Wx21x10;b'0001 0000', ' ', .16x22x23_09DDx4Ax21, Wx4Bx42, WxFF;b'1111
1111', 'я', .255x46x43, W,
Cx01;b'0000 0001', ' ', .01xFF;b'1111 1111', 'я', .255x47x46, F, Zx47, Fx46, Wx20x47, Wx21x10;b'0001 0000',
' ', .16x22x23_09DDx24, Wx4Cx25, Wx4Dx4C, Wx26x4D, Wx27x71;b'0111 0001', 'q',
.113x22x02;b'0000 0010', ' ', .02x23_09F9x46x25, Wx47x46, Wx20x47,
Wx21xE8;b'1110 1000', 'и', .232x22x03;b'0000
0011', ' ', .03x23_09DDx4Cx21, Wx4D, 3, 4_0AA7_0A72:x2B;b'0010 1011', '+',
.43x57x42, Wx20x43, Wx21x10;b'0001 0000', ' ', .16x22x23_09DDx4Ax21, Wx4Bx42,
Wx20x43, Wx21x10;b'0001 0000', ' ', .16x22x23_09DDx24, Wx4Cx25, Wx4Dx4C,
Wx26x4D, Wx27x71;b'0111 0001', 'q', .113x22x02;b'0000 0010', ' ', .02x23_09F9x46x25,
Wx47x46, Wx20x47, Wx21xE8;b'1110 1000', 'и', .232x22x03;b'0000 0011', ' ', .03x23_09DDx4Cx21, Wx4D_0AA7:_0AA8:, 3,
4_0AA8
Приложение Д
HEX-файл программы
:020000040000FA
:1000000083160130850080308600C4308100831261
:1000100085018601031A1728061786120616051190
:1000200085110610861006118611861F0C288B017B
:10003000861206170616FA308D008101051185110A
:10004000061086100611861164000108FA3C031898
:10006000003C0319931401308F0080308E0013146C
:10007000061306128616D1288316C4308100831217
:1000800013108616140896006E2194006E21140237
:10009000031D4428861F5B288612C8308C0081010E
:1000A0006400861F5B280108FA3C031850288C0B5B
:1000B0004F281310C7280511851106108610061148
:1000C000861186161408160203196C288101640033
:1000D0000108143C031867289408031D78288D0B29
:1000E00075280A308D001310C728051586153C2881
:1000F00001301402031D822807308D0047210515A9
:1001000086153C2802301402031D8D2807308D000F
:1001100006120613051586153C2803301402031D2C
:10012000982807308D0006120613051506153C2881
:1001300004301402031DA32807308D000612061395
:10014000051586143C2805301402031DAE2807301F
:100150008D0006120613051506143C2806301402FD
:10016000031DB92807308D000612061305158515E5
:100170003C2807301402031DC32807308D0054218A
:10018000051585153C2807308D001310C72805116B
:100190008511061086100611861101308F00FA3085
:1001A0008E0064008316C430810083128E0BDB281E
:1001B0008F0BDB2829296E2194006E211402031D68
:1001C000DB2861219408031DE92806128612061710
:1001D000CD2801301402031DF528061286120617D9
:1001E000CD28472161210612D12802301402031DB7
:1001F000FD28061206136121D12803301402031DC5
:100200000529061206136121D12804301402031DAA
:100210000D29061206136121D12805301402031D91
:100220001529061206136121D12806301402031D78
:100230001D29061206136121D12807301402031D5F
:100240002529612154210613D1280616861206138A
:10025000CD28640001308F0002308E0086161318FE
:10026000352993183529861FD128051586120430A3
:10027000940064308C0081016400861B35290108DC
:10028000FA3C03183C298C0B3B2986163C28900A23
:1002900010081E3C031C900110080A3C0318522948
:1002A0000617080006130800910A11081E3C031CDB
:1002B000910111080A3C03185F290616080006126E
:1002C0000800920A12081E3C031C920112080A3C04
:1002D00003186C2986120800861608008101640044
:1002E000051877290108CC3C031C08346F298101CB
:1002F00005308C006400051C85290108FA3C0318B0
:100300007A2981018C0B7A29003481016400051857
:100310008E290108CC3C031C0834862901088C0076
:100320008C0803196E296F300C02031C01347230E3
:100330000C02031CC82994300C02031C02349730B1
:100340000C02031CC829A2300C02031C0334A53084
:100350000C02031CC829B3300C02031C0434B53052
:100360000C02031CC829BE300C02031C0534BF302C
:100370000C02031CC829C6300C02031C0634C7300B
:100380000C02031CC829CC300C02031C07340834AF
:040390001408080045
:00000001FF