Главная » Просмотр файлов » ВКР Шавро В.В.

ВКР Шавро В.В. (1228554), страница 3

Файл №1228554 ВКР Шавро В.В. (Разработка измерителя мощности потребителя) 3 страницаВКР Шавро В.В. (1228554) страница 32020-10-06СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 3)

- генерация прерывания по переполнению от 0хFF к 0х00 в 8-разрядном режиме и от 0xFFFF к 0x0000 в 16-разрядном режиме, рисунок (2.2, 2.3);

- выбор активного фронта внешнего тактового сигнала (T0CON<T0SE>).

2.4 Работа таймера TMR0

Модуль TMR0 может работать в режиме таймера или счетчика.

Выбор режима таймера осуществляется сболсом бита T0CKL в «0». В режиме таймера приращение происходит на каждом машинном цикле микроконтроллера (если предделитель включен). После записи в TMR0 приращение счетчика запрещено два следующих цикла. Пользователь должен скорректировать эту задержку перед записью нового значения в TMR0.[1, 2, 8]

Если бит T0CS установлен в «1», TMR0 работает в режиме счетчика с приращением от внешнего источника тактового сигнала на входе RA4/T0CKL. Активный фронт внешнего тактового сигнала выбирается битом T0SE. Если T0SE = 0, то активным является передний фронт сигнала). Основные требования к внешнему источнику тактового сигнала приведены ниже.[8]

При использовании внешнего тактового сигнала для TMR0 необходимо учитывать некоторые детали работы таймера. Активный фронт внешнего тактового сигнала синхронизируется с внутренней тактовой частотой микроконтроллера (FOSC), из-за чего возникает задержка от получения активного фронта сигнала для приращения TMR0.[1, 2, 8]

Рисунок 2.2. Структурная схема таймера TMR0 в 8-разрядном режиме

После сброса микроконтроллера TMR0 работает в 8-разрядном режиме с внешним тактовым сигналом (вывод T0CKL) и максимальным коэффициентом деления предделителя.[2, 8]

Рисунок 2.3 – Структурная схема таймера TMR0 в 16-разрядном режиме

2.5 Предделитель

8-разрядный счетчик может работать как предделитель TMR0, он не доступен для чтения/записи.

Коэффициент деления предделителя определяется битами PSA и T0PS2:T0PS0.

Сброс бита PSA в «0» отключает предделитель от таймера TMR0. Кода предделитель включен, то можно программно настроить его коэффициент деления 1:2 до 1:256.

Если предделитель включен перед TMR0, любые команды записи в TMR0 (например, CLRF TMR0, MOVWF TMR0, BSF TMR0 и т.д.) сбрасывают предделитель.

Запись в TMR0 сбросит предделитель, если он включен, но коэффициент предделителя не изменится.

2.6 Прерывания от TMR0

В 8-разрядном режиме таймера TMR0 при переполнении TMR0 (переход от FFh к 00h) происходит установка флага прерываний TMR0IF. В 16-разрядном режиме флаг прерывания TMR0IF устанавливается в «1», когда происходит переполнение сдвоенного регистра TMR0H:TMR0L (переход от FFFFh к 0000h). Прерывание может быть разрешено/запрещено битом TMR0IE. Бит TMR0IF должен быть программно сброшен в обработчике прерываний перед разрешением прерываний. Прерывание от TMR0 не может вывести микроконтроллер из режима SLEEP, т.к. модуль TMR0 в SLEEP режиме выключен.[8]

2.7 Чтение и запись таймера в 16-разрядном режиме

Регистр TMR0H не является старшим битом таймера/счетчика TMR0 в 16-разрядном режиме, функции буфера. Старший бит TMR0 не доступен для непосредственного чтения В TMR0H загружается старший байт TMR0 при чтении TMR0L. Это позволяет читать 16-разрядное значение полностью без необходимости проверки возможного переполнения младшего байта.[8]

Запись старшего байта TMR0 должна выполняться через буферный регистр TMR0H. В старший байт TMR0 переписывается значение из TMR0H при записи в регистр TMR0L. Это позволяет сразу записывать 16-разрядное значение.[8]

Рисунок 2.4 – Регистры и биты, связанные с работой модуля таймера TMR0

2.8 Прерывания

Обобщенная структура, иллюстрирующая основные аппаратные принципы прерываний, показана на рисунке (2.5)

Слева на рисунке показан один из нескольких источников прерываний – прерывание Х. Если происходит прерывание, то оно устанавливает S-R триггер. Таким образом регистрируется возникшее прерывание, даже если оно носит мгновенный характер. Выход триггера, то есть сохраненная версия прерывания, называется флагом прерывания. Выход триггера стробируется сигналом разрешения прерывания – разрешение прерывания Х. Если сигнал стробирования имеет состояние, соответствующее логической 1, то сигнал прерывания идет на логический элемент ИЛИ. Если же сигнал стробирования имеет состояние, соответствующее логическому 0, то сигнал прерывания дальше никуда не поступает. Если сигнал прерывания разрешен, то он подается на схемы логического ИЛИ вместе с другими разрешенными сигналами прерываний микроконтроллера. Выход логического ИЛИ будет соответствовать логической 1, когда любое прерывание на входе логического ИЛИ будет находиться в состоянии, соответствующем логической 1. Выход первичного каскада логического ИЛИ стробируется сигналом Глобальное разрешение прерываний. Только в случае, если значение этого сигнала соответствует логической 1, любой сигнал прерываний может достигнуть ЦП. Когда ЦП отреагировал на прерывания, то необходимо сбросить флаг прерывания, то необходимо сбросить флаг прерывания.[1, 2, 8]

Рисунок 2.5 – Простая схема прерываний общего назначения

2.9 Структура прерываний

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

- внешнее прерывание;

- переполнение таймера. Это прерывание, вызываемое модулем таймера 0 при переполнении счетчика таймера;

- прерывание по изменению состояния порта В. Это прерывание возникает, когда обнаружено изменение состояния любого из старших 4 разрядов порта В;

- завершение записи в ЭСППЗУ. Это прерывание возникает, когда команда записи в память EEPROM (или ЭСППЗУ) завершена.

Микроконтроллер PIC18F452 реализует усложненную структуру прерываний. Улучшения включают введение второго вектора прерывания, при этом различается вектор прерывания высокого приоритета и вектор прерывания низкого приоритета, а также имеется большое количество внешних прерываний.[8]

2.10 Вывод информации на двухстрочный алфавитно – цифровой жидко – кристалический дисплей

Алфавитно-цифровые жидко-кристаллические дисплеи (ЖКД) предназначены для отображения большого объема информации при низком энергопотреблении. Широкое распространение получили конструкции жидкокристаллических дисплеев, базирующихся на формате семисегментных и точечных матриц. Как правило, алфавитно-цифровые ЖКД состоят из внутреннего контроллера управления и ЖК панели. В схеме моделирования измерителя коэффициента мощности используется алфавитно-цифровой ЖКД LM016L, позволяющий отображать 2 строки по 16 символов, отображающихся в матрице 5/8 точек (рисунок 2.6).[8]

Рисунок 2.6 – Внешний вид алфавитно-цифрового ЖКД LM016L

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

3 РАЗРАБОТКА АЛГОРИТМА РАБОТЫ ГЛАВНОЙ ФУНКЦИИ

В данном пункте будет произведено изучение алгоритма работы программы измерителя мощности в виде блок – схемы (рисунок 3.1а, 3.1б, 3.1в, 3.1г, 3.2).

Рисунок 3.1а – Алгоритм работы главной фунцкии

Рисунок 3.1б – Алгоритм работы главной функции

Рисунок 3.1в – Алгоритм работы главной фунцкии

Рисунок 3.1г – Алгоритм работы главной фунцкии

Рисунок 3.2 – Упрощенная схема алгоритма основной фунцкии

3.1 Разработка алгоритма работы прерываний

Алгоритм прерывания по модулю TMR0 изображен на рисунке 3.3.

Рисунок 3.3 – Алгоритм работы прерываний по TMR0

Алгоритм прерываний по внешнему сигналу изображен на рисунке 3.4а, 3.4б.

Рисунок 3.4а – Алгоритм работы прерывания по внешнему сигналу

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

Упрощенный алгоритм работы прерывания изображен на рисунке 3.5

Рисунок 3.4б – Алгоритм работы прерываний по внешнему сигналу

Рисунок 3.5 – Упрощенный вид алгоритма работы прерываний

4 РАЗРАБОТКА ПРОГРАММЫ РАБОТЫ ИЗМЕРИТЕЛЯ МОЩНОСТИ В СРЕДЕ MPLAB

4.1 Введение в систему разработки MPLAB IDE

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

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

- текстовый редактор – обеспечивает возможность ввода текста и позволяет распознавать основные элементы языка программирования, обозначая команды, метки, комментарии разными цветами, что делает программный код более наглядным и читаемым;

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

- компоновщик – объединяет файлы проекта воедино, присваивая каждому фрагменту правильные адреса памяти, обеспечивая при этом корректные переходы и обращения от одного файла к другому;

- программный имитатор – позволяет тестировать программу, которая находится в стадии разработки, при этом могут имитироваться входные и выходные сигналы, а также наблюдаться состояния ячеек памяти;

- программный отладчик – включает средства, обеспечивающие полный контроль за выполнением программы, например,: пошаговая реализация программы, запуск её с пониженной скоростью исполнения либо остановка по конкретному адресу памяти.[8]

При создании проекта любой сложности интегральная среда разработки MPLAB создает значительное число файлов, которые обозначаются соответствующими расширениями, приведенными на рисунке 4.1. При объявлении проекта создаются файлы типа .mcp и .mcw. Если исходный текст будет успешно скомпонован, то будут сгенерированы файлы с расширением .lst, .cof и .hex, а в случае возникновения ошибки – .err.[8]

Рисунок 1.1 – Основные файловые расширения, используемые в MPLAB

4.2 Анализ программного кода

Для исследования программного кода измерителя мощности, составленного на языке программирования С (Си), используется раздел Приложение 4.

Характеристики

Тип файла
Документ
Размер
2,26 Mb
Высшее учебное заведение

Список файлов ВКР

Разработка измерителя мощности потребителя
Антиплагиат
ВКР
Демонстрационные чертежи
Рис 1.vsd
Рис 2.vsd
Рис 3.vsd
Рис 4.vsd
Рис 5.vsd
Рис 6.vsd
Рис 7.vsd
Рис 8.vsd
Рис 9.vsd
Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6859
Авторов
на СтудИзбе
272
Средний доход
с одного платного файла
Обучение Подробнее