Помощь в написании студенческих работ
Антистрессовый сервис

Устройство контроля за уровнем аналоговых сигналов

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

Однокристальные микроконтроллеры (ОМК) позволяют существенно расширить интеллектуальные возможности различного рода устройств и систем. Они представляют собой, по сути, специализированные однокристальные микроЭВМ, содержащие для связи с внешней средой встроенные периферийные узлы и устройства, набор которых во многом определяет их функциональные возможности и области применения. Нам известно что… Читать ещё >

Устройство контроля за уровнем аналоговых сигналов (реферат, курсовая, диплом, контрольная)

МІНІСТЕРСТВО ОСВІТИ I НАУКИ УКРАЇНИ

Національний технічний університет «Харківський політехнічний інститут»

Кафедра обчислювальної техніки та програмування

УДК 681.3

Інв №

ПРИСТРІЙ КОНТРОЛЮ ЗА РІВНЯМИ АНАЛОГОВИХ СИГНАЛІВ

Альбом документів курсового проекту по дисципліні

" Проектування мікроконтролерних пристроїв "

XXXXXXXXXXXXX.421.012. ДКП

ІЗЮМ 2006

Формат

Зона

Поз.

Обозначение

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

Кол. листов

Примечание

Документация

Общая

А4

XXXXXXXXX.421.012 ТЗ

Техническое

задание

А4

XXXXXXXXX.421.012 ПЗ

Пояснительная

Записка

А4

XXXXXXXXX.421.012 Э1

Схема

электрическая

структурная

А4

XXXXXXXXX.421.012 Э3

Схема

электрическая

принципиальная

А4

XXXXXXXXX.421.012 ПЭ

Перечень

элементов

XXXXXXXXXXXXX.421.012 ВП

Изм

Лит

№ докум

Подпись

Дата

ПРИСТРІЙ КОНТРОЛЮ ЗА РІВНЯМИ АНАЛОГОВИХ СИГНАЛІВ

Ведомость проекта

Лит

Лист

Листов

Разраб

Xxxxxxxxx.

К

Провер

Xxxxxxxxx

НТУ «XXX»

Кафедра XXX

Утв.

Xxxxxxxxx.

Анотація

В даному курсовому проекті розроблено пристрій контролю за рівнями аналогових сигналів. Розробка виконана на ОМК та МС ТТЛ-логіки малого ступеню інтеграціі. В пояснювальній записці приведені необхідні обгрунтовування, розрахунки та описи принципу дії як пристрою вцілому, так і його окремих функціональних блоків та вузлів.

Альбом документів курсового проекту крім пояснювальної записки вміщує також креслення структурної та принципової схем пристрою.

Аннотация

В данном курсовом проекте разработано устройство контроля за уровнями аналоговых сигналов. Разработка выполнена на ОМК и МС ТТЛ — логики малого степени интеграции. В объяснительной записке приведенные необходимые разъяснения, расчеты и описания принципа действия как устройства в целом, так и его отдельных функциональных блоков и узлов.

Альбом документов курсового проекта кроме объяснительной записки вмещает также черчение структурной и принципиальной схем устройства.

Annotation

In given semester project is designed device of the checking for level analog signal. The Development was run for CPU and MS TTL — a logic small degree to integrations. In expository note brought necessary explanations, calculations and descriptions of the principle of the action as device as a whole, so and its separate functional block and nodes.

The Album course project document except expository note contains also drawing structured and principle schemes device.

Техническое задание

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

Входные сигналы медленно изменяющиеся во времени аналоговые сигналы постоянного тока (Ui) от нескольких источников (4 датчика).

Обработка входных сигналов

Сравнить уровни входных сигналов с двумя уставками (нижним Uп1 и верхним Uп2 пороговыми уровнями), хранящимися в виде констант K1i и K2i в памяти данных микроконтроллера, и по результатам сравнения осуществить:

Включить зеленый светодиодный индикатор, если K1i

Включить красный светодиодный индикатор, сформировать и подать на звуковой излучатель (динамик) последовательность импульсных сигналов с заданной частотой (Fз) и скважностью 2, если K1i >Ui >K2i.

· Диапазон изменения входных сигналов (Ui), В 0,1 — 5

· Нижний пороговый уровень Uп1,

соответствующий константе K1i, В 0,9

· Верхний пороговый уровень Uп2,

соответствующий константе K2i, В 2,4

· Частота последовательности импульсных сигналов, подаваемых

на звуковой излучатель Fз, Гц 3730

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

уровни сигналов и выведенные их на 4 — разрядный 7 — сегментный светодиодный или жидкокристаллический индикатор (ЖКИ) в виде десятичных чисел с ошибкой не более +.20 мВ.

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

· Частота обновления всех разрядов

индикатора Fо, Гц- 44 Гц.

система управления:

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

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

Напряжения питания устройства, В —— 5

Условия эксплуатации Температурный диапазон: +5…+40ос.

Относительная влажность: 40%.

Элементная база в качестве элементной базы использовать микросхемы ТТЛ (ТТЛШ) малой и средней степени интеграции.

Комплектность конструкторской документации :

Конструкторская документация должна содержать следующие документы:

— ведомость проекта

— техническое задание

— объяснительную записку

— схему электрическую структурную

— схему электрическую функциональную

— перечень элементов

Срок сдачи

Сдать до 1 апреля 2006 года.

Реферат

Данный документ представляет собой пояснительную записку объемом 25 листов. В пояснительной записке представлено 1 таблица, 8 рисунков использовано 10 источников литературы.

Ключевые слова: МИКРОКОНТРОЛЛЕР, АНАЛОГОВЫЙ СИГНАЛ, ПРЕОБРАЗОВАНИЕ ИНФОРМАЦИИ, ДИНАМИК, СВЕТОДИОДНЫЙ ИНДИКАТОР.

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

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

Введение

Выбор и обоснование основных технических решений.

1.1. Детализация исходного ТЗ и постановка задачи (использование блочно-иерархического подхода при разработке данного устройства).

1.2. Источники информации (входных сигналов).

1.3. Приемники информации (выходных сигналов).

1.4. Возможные пути (варианты) решения поставленной задачи.

1.5. Возможные варианты структурных схем и их сравнительный анализ.

1.6. Обоснование выбора структурной схемы.

1.7. Обоснование выбора типа ОМК для решения поставленной задачи.

2. Структурная схема устройства и её описание.

2.1. Структурная схема.

2.1.1. Назначение отдельных функциональных блоков.

2.2. Описание принципа действия и общий алгоритм работы.

2.3. Разработка функциональных схем и блок-схем алгоритмов работы отдельных блоков.

3. Разработка функциональной и принципиальной схем устройства.

3.1. Описание принципиальной схемы устройства.

3.2. Описание принципиальных схем отдельных устройств.

4. Расчет потребляемой мощности и определение требований к источникам питания.

5. Расчет временных параметров.

6. Разработка и отладка рабочей программы (управления).

6.1. Блок-схема (ы) алгоритма (ов) и её (их) описание (я).

6.2. Структура программы.

6.3. Текст программы (вносится в приложение!).

6.4. Технология отладки программы.

6.4.1. Компиляция (с распечаткой всех файлов, полученных во время компиляции: obj, lst, erl, sym).

6.4.2. Моделирование.

7.

Заключение

.

8. Список используемой литературы.

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

Они стали сегодня одним из самых распространенных элементов программируемой логики. Более двух третей мирового рынка микропроцессорных средств в настоящее время составляют именно однокристальные микроконтроллеры.

В структуру ОМК семейства PIC заложено много различных функциональных особенностей, делающих их самыми высокопроизводительными, микропотребляющими, помехозащищенными, программируемыми пользователем 8-ми битными микроконтроллерами. Благодаря этим особенностям ОМК семейства PIC могут обрабатывать аппаратно-программным способом как дискретные, так и аналоговые сигналы, а также формировать различного рода управляющие сигналы, а также осуществлять связь между собой и ЭВМ, находящейся на более высоком иерархическом уровне в системе.

Существует два принципиально разных подхода к проектированию цифровых устройств: использование принципа схемной логики или использование принципа программируемой логики.

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

Мы будем использовать микроконтроллер фирмы Microchip со встроенным АЦП, и на его основе разрабатывать устройство контроля за уровнями входных аналоговых сигналов.

1.Выбор и обоснование основных технических решений.

1.1 Детализация исходного ТЗ и постановка задачи (использование блочно-иерархического подхода при разработке данного устройства).

Поставленную задачу можно разбить на 3 задачи:

1. Задача приема входных данных.

2. Задача обработки входных данных и принятие решения.

3. Выдача управляющего сигнала на объекты индикации.

В свою очередь задача приема входных данных содержит в себе 3 задачи малой размерности:

1) Прием аналогового сигнала;

2) цикл работы АЦП;

3) запись в РОН.

Задача обработки входных данных и принятия решения реализуется на основе 2 подзадач:

1) чтение двух констант (верхний и нижний предел) из ПЗУ;

2) сравнение констант с РОН.

Задача выдачи управляющего сигнала на объект управления содержит в себе 3 задачи малой размерности:

1) Преобразование информации о уровне входного аналогового сигнала в форму пригодную для выдачи на ЖКИ

2) Осуществление управления динамической индикацией с заданной частотой обновления;

3) Подача сигнала на зеленый светодиод в том случае, либо же подача сигнала на красный светодиод и на динамик (с определенной в ТЗ частотой) в зависимости от принятого решения.

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

Рисунок 1.1 Разбиение общей задачи на ряд подзадач.

1.2 Источники информации (входных сигналов)

Источниками информации могут служить любые устройства, выдающие плавно изменяющиеся во времени аналоговые сигналы уровень которых лежит в пределах 0−5 В (уровни ТТЛ).

1.3 Приемники информации (выходных сигналов)

Приемниками информации служат семисегментные светодиодные индикаторы, светодиоды и динамик.

1.4 Возможные пути (варианты) решения поставленной задачи

Все МКУ разрабатываются с помощью программных и аппаратных способов реализации.

Преимущества аппаратной реализации заключаются в том, что:

а) использование специальных БИС упрощает разработку и обеспечивает высокое быстродействие системы в целом;

б) уменьшается время на разработку и отладку устройства.

Преимущества программной реализации такие;

а) меньшая стоимость и потребляемая мощность системы ;

б) меньшее количество компонент в системе, а значит выше надежность системы в целом;

в) время жизни системы значительно выше по сравнению с аппаратной реализацией;

г) возможность простой модификации системы (путем перепрограммирования).

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

Глобальная задача обработки входных данных и принятия решения будет реализована программным путем, так как именно для этого предназначен микроконтроллер. Если же входные данные обрабатывать аппаратно (собрать схему на жесткой логике), тогда ТЗ теряет свой смысл, в нем оговорено спроектировать микроконтроллерное устройство, а значит для МК останется только задача формирования выдачи выходного сигнала. Хотя эту задачу нельзя назвать слишком уж простой, и осуществить ее решение на жесткой логике было бы затруднительно и дороговато.

И зачем пытаться что-то реализовать аппаратно, если можно без особых усилий достичь того же результата, используя микроконтроллер. Поэтому обработкой входных сигналов будет заниматься МК под управлением соответствующей программы.

К тому же чем меньше элементов будет в проектируемом устройстве тем оно будет надежнее и дешевле.

1.5. Возможные варианты структурных схем и их сравнительный анализ

Для реализации данного устройство можно предложить следующие варианты:

1) на микроконтроллере со встроенным АЦП;

2)

рис. 1.5.1 Структурная схема устройства на микроконтроллере со встроенным АЦП.

где :

ВС — входной аналоговый сигнал, СД — сигналы данных для индикации (в том числе звуковой),

УС — сигналы управления индикацией

3) внешний АЦП + 3 портовый микроконтроллер без АЦП рис. 1.5.2 Структурная схема устройства на микроконтроллере с внешним АЦП.

где :

ВС — входной аналоговый сигнал, СД — сигналы данных для индикации (в том числе звуковой),

УС — сигналы управления индикацией

4) внешний АЦП + компоратор + дешевый 2 портовый

микроконтроллер.

рис. 1.5.3 Структурная схема устройства на микроконтроллере с внешним АЦП и блоком компорации.

где :

ВС — входной аналоговый сигнал, СД — сигналы данных для индикации (в том числе звуковой) УС — сигналы управления индикацией

ФК — флаг компорации (результат сравнения) Кі1, Кі2 — константы нижнего и верхнего пороговых уровней

1.6 Обоснование выбора структурной схемы

Учитывая все аспекты, рассмотренные в п. 1.4 ПЗ, мы выбираем 1 вариант реализации (на микроконтроллере со встроенным АЦП).

1.7. Обоснование выбора ОМК для решаемой задачи

Для решения данной задачи необходим МК, который содержит в себе следующие характеристики в соответствии с ТЗ:

1) Встроенный АЦП с разрядностью 8р.

2) имеет 1 линий для ввода аналогового сигнала

3) имеет 14 линий вывода (8 — входные данные для семисегментные световые индикаторы, 3 — для выбора индикатора, 2-для светодиодов и 1- для динамика);

4) позволяет использовать кварцевый и внешний генератор;

5) имеет в наличии ПЗУ;

6) будет доступным и сравнительно недорогим.

7) иметь достаточное быстродействие

Еще одним немаловажным моментом является наличие документации на МК, чтобы правильно его запрограммировать.

Учитывая все требования, нами был выбран микроконтроллер PIC16C72, так как он в наибольшей степени удовлетворяет всем вышесказанным условиям.

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

2. Структурная схема устройства и её описание

2.1Структурная схема

После обоснования выбора структурной схемы устройства останавливаемся на схеме с микроконтроллером со встроенным АЦП. Структурная схема приведена на рисунке 2.1.

рис. 2.1 Структурная схема устройства на микроконтроллере со встроенным АЦП.

где :

ВС — входной аналоговый сигнал, СД — сигналы данных для индикации (в том числе звуковой),

УС — сигналы управления индикацией

2.1.1 Назначение отдельных функциональных блоков

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

Блок индикации предназначен для вывода информации о уровне входного аналогового сигнала, в виде десятичных чисел, с заданными количеством знакомест и частотой обновления данных. Кроме того блок индикации с помощью двух светодиодов и динамика информирует попадает ли уровень сигнала в область, ограниченную константами Кі1 и Кі2.

2.2 Описание принципа действия и общий алгоритм работы

Аналоговый сигнал, поступающий на вход АЦП микроконтроллера, преобразовывается в цифровое представление. Затем микроконтроллер сравнивает уровень входного сигнала с двумя константами, хранящимися в ПЗУ, и в зависимости от результата сравнения подает сигналы на динамик и светодиоды, по линиям СД. Кроме того микроконтроллер преобразовывает информацию о уровне аналогового входного сигнала в форму пригодную для блока индикации, эта информация передается по линиям СД.

Обновление информации на блоке индикации целиком зависит от МК, оно происходит с заданной частотой 44 Гц. По линиям УС, от микроконтроллера в блок индикации, передаются сигналы, предназначенные для выбора знакоместа.

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

Рисунок 3.1 Функциональная схема МКУ

Тактирование

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

4. Расчет потребляемой мощности и определение требований к источникам питания.

4.1 Расчет потребляемых токов

Расчет потребляемых токов сводится к тому, что необходимо определить суммарное потребление тока всеми микросхемами, то есть:

(4.1)

где Iобщ — общий ток, потребляемый устройством,

Ik — ток, потребляемый k-той микросхемой,

m — общее число микросхем,

n — число микросхем данного типа.

*При условии индикации «8». Поскольку у нас динамическая индикация, то одновременно горит только один индикатор, поэтому общий потребляемый ток равен 35 mA (тоже самое и со светодиодами).

Получаем общий ток потребления:

Iобщ = 25 + 35 + 10+ 25 = 95 mA

4.2 Расчет потребляемой мощности

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

(4.2)

где Робщ — общая потребляемая мощность,

Uпит — напряжение питания, Iобщ — общий ток потребления.

Принимаем потребляемую мощность не более 0,5 Вт.

4.3 Расчет надежности

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

(4.3)

где m — число изделий, отказавших за время t,

N — число исправно работающих изделий к началу промежутка времени.

Интенсивность отказов элементов следующая:

микросхемы — 0.8510-6-1),

резисторы — 0.910-6-1),

конденсаторы — 1.410-6-1).

Тогда,

-1)

Поскольку не учтена интенсивность отказа некоторых элементов примем что наработка на отказ составит около 35 000 часов. Такую надежность устройства можно считать приемлемой.

5. Расчет временных параметров

По ТЗ разрабатываемое устройство должно проводить динамическую индикацию с частотой 44Гц. И, в определенной ситуации, звуковую индикацию, с частотой последовательности импульсных сигналов 3730 Гц.

Для соблюдения поставленных в ТЗ условий нам потребуется выполнять процедуру динамической индикации через время tди=22 727 мкс, а процедуру звуковой индикации через время tзи=268 мкс.

Нам известно что скорость выполнения одной команды, при использовании PIC16C72, тактируемого от кварца 4Мгц, занимает четыре такта (не считая goto и т. п.), т. е скорость выполнение среднестатистической команды равна 1 МГц. Значит наша процедура динамической индикации должна срабатывать каждые 22 727 командных циклов микроконтроллера, а процедура звуковой индикации каждые 268 командных циклов.

Кроме того нам известно, что АЦ преобразование в выбранном нами микроконтроллере (PIC16C72) длиться не более 20 мкс.

Эти данные будут нужны при настройке таймеров и задержек в программе.

6. Разработка и отладка рабочей программы .

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

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

Преимущества: легко написать программу (не сложный алгоритм) Недостатки: труднее высчитывать задержки для обеспечения динамической и звуковой индикации с заданной частотой. Из-за не постоянного времени выполнения процедуры преобразования в семисегментный код, не получиться обеспечить точную частоту обновления.

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

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

Недостатки: разработка программы усложниться за счет использования таймеров и прерываний от них. Кроме того нужно каким-то образом организовать буфер для хранения результатов АЦП.

Учитывая все вышесказанное, мы выбираем 2 вариант, т.к. на наш взгляд он более приспособлен для решения поставленной задачи.

6.1. Блок-схемы алгоритмов и их описание

6.2. Структура программы

Микроконтроллер выполняет следующие функции:

прием аналогового сигнала ;

АЦП преобразование ;

Преобразования результата АЦП в семисегментный код ;

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

Вывод преобразованных значений на светодиодные индикаторы (осуществление динамической индикации с заданной частотой) выдача сигнальных сообщений на светодиоды и динамик.

Программа содержит следующие участки программы:

INIT — производит перевод всех портов и регистров устройства в исходное состояние;

MAIN — основная программа;

IRQTMR1 — подпрограмма обработки прерывания от таймера1 (для динамической индикации)

IRQTMR2 — подпрограмма обработки прерывания от таймера2

(для звуковой индикации)

INDICATION — подпрограмма обновления состояния индикатора;

BINTOSEVEN — подпрограмма перевода числа из двоичного кода в семисегментный код.

SOUNDINDICATION — подпрограмма звуковой индикации

6.3. Текст программы.

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

6.4. Технология отладки программы

При разработке и отладке программы была использована бесплатная программа Mplab предоставляемая фирмой Microchip.

MPLAB — это интегрированная среда разработки (IDE) для семейства микроконтроллеров PICmicro фирмы Microchip Technology Incorporated. MPLAB позволяет писать, отлаживать и оптимизировать программы для Ваших разработок. MPLAB включает текстовый редактор, симулятор (виртуальный отладчик), менеджер проектов и поддерживает эмуляторы (внутрисхемные отладчики) MPLAB-ICE и PICMASTER, программаторы PICSTART Plus и PRO MATE II и другие средства и инструменты разработок фирмы Microchip и других фирм.

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

— ассемблировать, компилировать исходный текст;

— отлаживать логику работы, наблюдая с помощью симулятора или, в реальном времени, с эмулятором MPLAB-ICE ;

— просматривать переменные в окнах просмотра;

— программировать кристаллы с помощью программаторов PICSTART Plus или PRO MATE II

— и многое другое.

Так как MPLAB не корректно работает с АЦП, отладка программы выполнялась путем замены результата АЦП числами, которые не выходили за пороговые значения (заданными константами К1 и К2) и на числа которые:

а) меньше нижней границы ;

б) больше верхней границы .

6.5. Технология отладки программы

6.5.1. Компиляция (с распечаткой всех файлов, полученных во время компиляции: obj, lst, erl, sym)

В ходе компиляции был получен объектный модуль и НЕХ — файл пригодный для прошивки в память микроконтроллера.

Приведем фрагменты файлов полученных во время компиляции:

Файл KURSOV. lst:

MPASM 02.50.02 Intermediate KURSOV. ASM 4−20−2006 9:09:06 PAGE 1

LOC OBJECT CODE LINE SOURCE TEXT

VALUE

1 list p=16C72

2 #include

1 LIST

2; P16C72. INC Standard Header File, Version 1.01 Microchip Technology, Inc.

249 LIST

20 4 TMP EQU 20H

21 5 K1 EQU 21H

22 6 K2 EQU 22H

23 8 SOTNI EQU 23H

24 9 DESYATKI EQU 24H

25 10 EDINICI EQU 25H

28 12 SAVEW EQU 28H

30 13 SAVEW2 EQU 30H

29 14 SAVESTATUS EQU 29H

31 15 SAVESTATUS2 EQU 31H

26 17 SV EQU 26H; STACK VERTEX

27 18 SP EQU 27H; STACK POINTER

32 21 DINAMIK EQU 32H

33 23 CT EQU 33H; FOR DELAY

25 ;STK 40h-5Eh; STACK ADDRES FOR TEN BCD TRIADS

Warning[205]: Found directive in column 1. (ORG)

0000 27 ORG 0×00; processor reset vector

0000 28B5 28 GOTO Start; go to beginning of program

31; ——————-IRQ

Warning[205]: Found directive in column 1. (ORG)

0004 32 ORG 0×04; обработка прерывания осуществляется за 9 циклов (4,5 мкс)

0004 1C0C 33 BTFSS PIR1, TMR1IF; анализ

0005 2818 34 goto IRQTMR2; источника прерывания

0006 36 IRQTMR1; обработчик прерывания от таймера

37 ;——— PUSH REGISTERS————;

0006 00A8 38 MOVWF SAVEW

0007 0803 39 MOVF STATUS, W

0008 00A9 40 MOVWF SAVESTATUS

0009 0804 41 MOVF FSR, W

000A 00A6 42 MOVWF SV

43 ;——————————————-;

000B 1010 44 BCF T1CON, TMR1ON; TIMER STPR

000C 3038 45 MOVLW B'111 000'

000D 008E 46 MOVWF TMR1L

000E 30A7 47 MOVLW B'10 100 111'

000 °F 008 °F 48 MOVWF TMR1H

MPASM 02.50.02 Intermediate KURSOV. ASM 4−20−2006 9:09:06 PAGE 2

LOC OBJECT CODE LINE SOURCE TEXT

VALUE

0010 1410 49 BSF T1CON, TMR1ON; TIMER ON

0011 100C 50 BCF PIR1, TMR1IF; сброс флага переполнения от таймера

0012 2116 51 CALL INDICATION

53 ;——— POP REGISTERS ————;

0013 0826 54 MOVF SV, W

0014 0084 55 MOVWF FSR

0015 0829 56 MOVF SAVESTATUS, W

0016 0083 57 MOVWF STATUS

0017 0828 58 MOVF SAVEW, W

59 ;——————————————-;

————————————————;

————————————————;

Файл KURSOV. err:

Warning[205] D: MPLABKURSOV. ASM 27: Found directive in column 1. (ORG)

Warning[205] D: MPLABKURSOV. ASM 32: Found directive in column 1. (ORG)

Warning[203] D: MPLABKURSOV. ASM 83: Found opcode in column 1. (retfie)

Warning[205] D: MPLABKURSOV. ASM 86: Found directive in column 1. (ORG)

Message[302] D: MPLABKURSOV. ASM 107: Register in operand not in bank 0. Ensure that bank bits are correct.

Message[302] D: MPLABKURSOV. ASM 109: Register in operand not in bank 0. Ensure that bank bits are correct.

Message[302] D: MPLABKURSOV. ASM 111: Register in operand not in bank 0. Ensure that bank bits are correct.

Message[302] D: MPLABKURSOV. ASM 167: Register in operand not in bank 0. Ensure that bank bits are correct.

Message[302] D: MPLABKURSOV. ASM 168: Register in operand not in bank 0. Ensure that bank bits are correct.

Warning[203] D: MPLABKURSOV. ASM 322: Found opcode in column 1. (RETURN)

Warning[203] D: MPLABKURSOV. ASM 399: Found opcode in column 1. (RETURN)

Warning[203] D: MPLABKURSOV. ASM 419: Found opcode in column 1. (RETURN)

Warning[203] D: MPLABKURSOV. ASM 434: Found opcode in column 1. (RETURN)

Warning[205] D: MPLABKURSOV. ASM 438: Found directive in column 1. (END)

Файл KURSOV. hex:

:200 0000B52821

:8 000 8000C1C1828A8000308D5

:1 000 1000A9000408A600101038308E00A7308F0009

:100 020 001 0140C10162126088400290883002808C3

:10 003 0008C1C2628B0000308B1001211003091007A

:0E00400012158C105C21310883003008090075

:0C01540082073F3406345B344F346634BD

:10 016 0006D347D3407347F346F3403138316FF30CE

:1 001 700 085 000 030 827 427 087 253 5042FF30A00029

:1 001 8000A501A301A401B201850186018701073001

:10 019 000 8700FF30B3007830A2002D30A10040303E

:1001A0008400A700A60038308E00A7308F00900191

:1001B00010140C108B170B1783160C148C1483124D

:1001C000C1309F001F1534211F19E4287F309E0085

:1001D0001E08A000FF30B300000000000000000077

:1001E000000000000000000000000000000000000F

:1001F00000000000000000000000B30BEC2803101A

:100 200 002 108 200 2081C0D29031020082202031CD0

:10 021 0000D29121187150712DF2807168711920181

:10 022 0008C101211FC3091001215DF282708840071

:100 230 000 008 071 078 038 680 371 2000A0008871049

:1 002 400 086 006 721 806 3360A000807118600672149

:10 025 000 071 5840A03105E300402031C3129403064

:100 260 008 400 0408A7000800A301A401A501A30AB3

:10 027 000 6430A00203183729A3036430A007A40A3E

:10 028 0000A30A00203183F29A4030A30A00720085F

:1 002 9000A500AA208000840A2408AA208000840ADD

:1002A0002308AA208000840A03105E300402031C85

:1002B0005B29403084000800031001303202031C27

:1002C0006429B20387120800B20A87160800FF30BB

:1002D000B30000000000000000000000000000006B

:0602E000B30B69290800C0

:01FF

6.5.2. Моделирование

Моделирование производилось в интегрированной среде разработки MPLAB (кратко в разделе 6.5 этого документа).

Для проверки состояния регистров мы использовали окно «watch», а для подсчета времени выполнения процедур в программе были расставлены breakpoint’ы и использовалось окно «stopwatch» .

В результате моделирования установлена работоспособность программы. исследованы получившиеся временные характеристики:

Процедура BINTOSEVENв худшем случае (при преобразовании уровня 5В) — 99 мкс.

Процедура INDICATION- 7694 мкс Интервал между вызовами INDICATION — 22 741 мкс (44Гц) Интервал между вызовами SOUNDINDICATION — 268 мкс (3731Гц) Данные временные характеристики полностью удовлетворяют ТЗ.

1) В. В. Скороделов «Проектирование устройств на однокристальных микроконтроллерах с RISC-архитектурой». Ч1, Ч2, Учебное пособие.

2) Угрюмов Е. П. Проектирование элементов и узлов ЭВМ. М.: Высшая школа, 1991.

3) Шило В. Л. Популярные цифровые микросхемы. М.: Радио и связь, 1988.

4) Тули М. Справочное пособие по цифровой электронике. М.: «Энергоатомиздат», 1990.

5) Бирюков С. А. «Применение интегральных микросхем серии ТТЛ». М.: «Патриот», 1992.

6) Применение интегральных микросхем в электронной вычислительной технике. Справочник (под ред. Б. И. Файзулаева, -М, Радио и связь, 1989)

7) ГОСТ 2.102−68. Виды и комплектность конструкторской докуметации. М.: 1988.

8) ГОСТ 2.708−81. Правила выполнения электрических схем цифровой вычислительной техники. М.: 1988.

9) Разработка и оформление конструкторской документации. РЭА. Справочник (под ред. Э. Г. Романычевой — М.: Радио и связь, 1989)

10) Ю. В. Новиков, О. А. Калашников «Разработка устройств сопряжения». Издательство «ЭКОМ», Москва, 1998 г. 355 с.

Заключение

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

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

Устройство реализовано на однокристальном микроконтроллере типа PIC16С71.

Применение в устройстве данного однокристального микроконтроллера привело к экономии элементов, возможности меняя программу работы в широких пределах корректировать алгоритм обработки данных. Также улучшились весогабаритные параметры.

Устройство имеет следующие характеристики:

Потребляемая мощность не более 0,5 Вт;

Наработка на отказ около 35 000 часов;

Уровни входных сигналов 0−5 В.

Промоделировав работу программы и проанализировав, полученные при моделировании, временные характеристики можем сказать что устройство полностью удовлетворяет требованиям, поставленным в ТЗ.

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

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

При таком подходе получиться полноценный вольтметр постоянного тока.

Обозначение

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

Количество

Конденсаторы

С1

K50−6-20 мкФ — 16В

С2-С3

МРТ-111−20 пФ±10%-63В

С4

КМ — 6 — 9 — 0,47 ± 10% ОЖО 464. 023 ТУ

Микросхемы

DD1

PIC16С72

HG

АЛС324А

Кварц

ZQ1

4 МГц

Разъемы

ХТ1

СНО 4

Телефон

BF1

ТОН-2

Кнопки

SA1

П2К

Резисторы

R1

ОМЛТ 0,125 — 300 Ом

R2-R11

ОМЛТ 0,125 — 1,2 КОм

Приложение А

Текст программы:

list p=16C72

#include

TMP EQU 20H

K1 EQU 21H

K2 EQU 22H

SOTNI EQU 23H

DESYATKI EQU 24H

EDINICI EQU 25H

SAVEW EQU 28H

SAVEW2 EQU 30H

SAVESTATUS EQU 29H

SAVESTATUS2 EQU 31H

SV EQU 26H; STACK VERTEX

SP EQU 27H; STACK POINTER

DINAMIK EQU 32H

CT EQU 33H; FOR DELAY

;STK 40h-5Eh; STACK ADDRES FOR TEN BCD TRIADS

ORG 0×00; processor reset vector

GOTO Start; go to beginning of program

; ——————-IRQ

ORG 0×04; обработка прерывания осуществляется за 9 циклов (4,5 мкс)

BTFSS PIR1, TMR1IF; анализ

goto IRQTMR2; источника прерывания

IRQTMR1; обработчик прерывания от таймера

;——— PUSH REGISTERS————;

MOVWF SAVEW

MOVF STATUS, W

MOVWF SAVESTATUS

MOVF FSR, W

MOVWF SV

;———————————————

BCF T1CON, TMR1ON; TIMER STPR

MOVLW B'111 000'

MOVWF TMR1L

MOVLW B'10 100 111'

MOVWF TMR1H

BSF T1CON, TMR1ON; TIMER ON

BCF PIR1, TMR1IF; сброс флага переполнения от таймера

CALL INDICATION

;——— POP REGISTERS ————;

MOVF SV, W

MOVWF FSR

MOVF SAVESTATUS, W

MOVWF STATUS

MOVF SAVEW, W

;———————————————

IRQTMR2

BTFSS PIR1, TMR2IF; анализ

goto RET

T2BREAK

;——— PUSH REGISTERS————;

MOVWF SAVEW2

MOVF STATUS, W

MOVWF SAVESTATUS2

;———————————————

BCF T2CON, TMR2ON; TIMER2 STOP

MOVLW B'0'

MOVWF TMR2

BSF T2CON, TMR2ON; TIMER2 ON

BCF PIR1, TMR2IF; сброс флага переполнения от таймера

CALL SOUNDINDICATION

;——— POP REGISTERS ————;

MOVF SAVESTATUS2, W

MOVWF STATUS

MOVF SAVEW2, W

;———————————————

RET

retfie; возврат из прерывания

ORG 0xAA

TOSEVEN

addwf PCL, F; W + PC -> PC

retlw b'111 111'; .FEDCBA = '0'

retlw b'110'; …CB. = '1'

retlw b'1 011 011'; .G.ED.BA = '2'

retlw b'1 001 111'; .G.DCBA = '3'

retlw b'1 100 110'; .GF.CB. = '4'

retlw b'1 101 101'; .GF.DC.A = '5'

retlw b'1 111 101'; .GFEDC.A = '6'

retlw b'111'; …CBA = '7'

retlw b'1 111 111'; .GFEDCBA = '8'

retlw b'1 101 111'; .GF.DCBA = '9'

Start

BCF STATUS, 6

BSF STATUS, 5; BANK1

MOVLW B'11 111 111';INITA

MOVWF TRISA

MOVLW B'0';INITB

MOVWF TRISB

MOVLW B'0';INITC

MOVWF TRISC

BCF STATUS, 5; BANK 0

;—————————————- INIT VAR

;————————- TESTS

MOVLW B'11 111 111'

MOVWF TMP

;———————————

; CLRF TMP

CLRF EDINICI

CLRF SOTNI

CLRF DESYATKI

CLRF DINAMIK

CLRF PORTA

CLRF PORTB

CLRF PORTC

MOVLW B'111'

MOVWF PORTC

MOVLW B'11 111 111'

MOVWF CT

MOVLW .120

MOVWF K2

MOVLW .45

MOVWF K1

;—————————————- INIT STACK

MOVLW 0×40

MOVWF FSR

MOVWF SP

MOVWF SV

;—————————————- INIT TIMER1

MOVLW B'111 000'

MOVWF TMR1L

MOVLW B'10 100 111'

MOVWF TMR1H

;———————————————- INIT TIMER 2

; —————————————- RUN TIMER1

CLRF T1CON

BSF T1CON, TMR1ON; TIMER ON

BCF PIR1, TMR1IF

BSF INTCON, GIE

BSF INTCON, PEIE

BSF STATUS, 5; BANK1

BSF PIE1, TMR1IE

BSF PIE1, TMR2IE

; MOVLW B'1'

; MOVWF PIE1

MAIN

;——————————————————————- ADC ——————

BCF STATUS, 5; BANK0

MOVLW B'11 000 001'

MOVWF ADCON0

BSF ADCON0,2; START CONV

CALL BINTOSEVEN

LOOP

BTFSC ADCON0,2

GOTO LOOP

;—————————————— TEST VALUES

; MOVLW B'1 100 100'; POADAET

; MOVLW B'0'; NIJE

MOVLW B'1 111 111'; VISHE

MOVWF ADRES

;—————————————;

MOVF ADRES, W

MOVWF TMP

;DELAY ;——5106-CYCLES 1CYCLE=1us

MOVLW .255

MOVWF CT

D2

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

DECFSZ CT, 1

GOTO D2

COMP

; ————————- COMPARE —————;

; K1< ADC

;—— K1< ADC? —————

BCF STATUS, 0

MOVF K1, W

SUBWF TMP, 0; ADFRES-K1

BTFSS STATUS, 0; ЕСЛИ ADRES

; ПРОПУСТИТЬ СЛЕД КОМАНДУ)

GOTO NO

;—— ADC <=K2? ————

BCF STATUS, 0

MOVF TMP, W

SUBWF K2,0; ADFRES-K1

BTFSS STATUS, 0; ЕСЛИ ADRES>ki, ТО ПЕРЕЙТИ НА NO (ИНАЧЕ ПРО

; ПРОПУСТИТЬ СЛЕД КОМАНДУ)

GOTO NO

;YES

;———————- TIMER 2 STOP

BCF T2CON, TMR2ON; TIMER STOP

BSF PORTC, 3

BCF PORTC, 4

GOTO MAIN

NO

;———————- TIMER2 ON WITH IMMIDIATLY IRQ

BSF PORTC, 4

BCF PORTC, 3

CLRF T2CON

BCF PIR1, TMR2IF; сброс флага переполнения от таймера

BCF T2CON, TMR2ON; TIMER2 STOP

MOVLW B'11 111 100'

MOVWF TMR2

BSF T2CON, TMR2ON; TIMER2 ON

;—————————————————————————

GOTO MAIN

; —————————— DYNAMIC INDICATION PROCEDURE

INDICATION

;—————- RESTORE SP VALUE—————;

MOVF SP, W

MOVWF FSR

;———————————————————;

MOVF INDF, W

BCF PORTC, 0

MOVWF PORTB

CALL DELAY

BSF PORTC, 0

INCF FSR, F

MOVF INDF, W

BCF PORTC, 1

MOVWF PORTB

CALL DELAY

BSF PORTC, 1

INCF FSR, F

MOVF INDF, W

BCF PORTC, 2

MOVWF PORTB

CALL DELAY

BSF PORTC, 2

INCF FSR, F

;—————————-CALCULATE SP (STACK POINTER)

;—— 5Eh< FSR? —————

BCF STATUS, 0

MOVLW 0x5E

SUBWF FSR, 0; ADFRES-K1

BTFSS STATUS, 0; ЕСЛИ FSR<70h, ТО ПЕРЕЙТИ НА NO (ИНАЧЕ ПРОПРОПУСТИТЬ СЛЕД КОМАНДУ)

GOTO SPFSRNO

MOVLW 0×40

MOVWF FSR

SPFSRNO

;—————— PUSH SP VALUE —————

MOVF FSR, W

MOVWF SP

RETURN

;——————————— BINARY TO SEVENSEGMENTS GODE CONVERTION

BINTOSEVEN

; —————- MUL x2 ———————

clrf SOTNI

clrf DESYATKI

clrf EDINICI

; RLF TMP, 1

; BTFSS STATUS, 0 ;

; GOTO M1

;

; MOVLW .2

; MOVWF SOTNI

; MOVLW .5

; MOVWF DESYATKI

; MOVLW .6

; MOVWF EDINICI

M1

;—————- convert bin to bcd ——————;

; clrf SOTNI

pr0

incf SOTNI, f ;разряд сотен

movlw .100

subwf TMP, f

btfsc STATUS, 0

goto pr0

decf SOTNI, f

movlw .100

addwf TMP, F

; clrf DESYATKI

pr1

incf DESYATKI, F ;разряд десятков

movlw .10

subwf TMP, F

btfsc STATUS, 0

goto pr1

decf DESYATKI, F

movlw .10

addwf TMP, F

; clrf EDINICI

movf TMP, W

movwf EDINICI

;—————- convert bcd to seven segments code ——————;

TTTT

CALL TOSEVEN

MOVWF INDF

INCF FSR, F

MOVF DESYATKI, W

CALL TOSEVEN

MOVWF INDF

INCF FSR, F

MOVF SOTNI, W

CALL TOSEVEN

MOVWF INDF

INCF FSR, F

;—————————-CALCULATE SV (STACK VERTEX)

;—— 5Eh< FSR? —————

BCF STATUS, 0

MOVLW 0x5E

SUBWF FSR, 0; ADFRES-K1

BTFSS STATUS, 0; ЕСЛИ FSR<70h, ТО ПЕРЕЙТИ НА NO (ИНАЧЕ ПРОПРОПУСТИТЬ СЛЕД КОМАНДУ)

GOTO SVFSRNO

MOVLW 0×40

MOVWF FSR

SVFSRNO

RETURN

;——————————— SOUND INDICATION PROCEDURE

SOUNDINDICATION

BCF STATUS, 0

MOVLW 0x1

SUBWF DINAMIK, 0; ADFRES-K1

BTFSS STATUS, 0; ЕСЛИ FSR<70h, ТО ПЕРЕЙТИ НА NO (ИНАЧЕ ПРОПРОПУСТИТЬ СЛЕД КОМАНДУ)

GOTO DIN

DECF DINAMIK, F

BCF PORTC, 5

RETURN

DIN

INCF DINAMIK, F

BSF PORTC, 5

RETURN

DELAY ;——2555-CYCLES 1CYCLE=1us

MOVLW .255

MOVWF CT

D1

NOP

NOP

NOP

NOP

NOP

NOP

NOP

DECFSZ CT, 1

GOTO D1

RETURN

END

Показать весь текст
Заполнить форму текущей работой