Главная » Просмотр файлов » Антиплагиат полный Деревенко П.А.

Антиплагиат полный Деревенко П.А. (1230293), страница 4

Файл №1230293 Антиплагиат полный Деревенко П.А. (Разработка цифрового частотомера) 4 страницаАнтиплагиат полный Деревенко П.А. (1230293) страница 42020-10-06СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

МикроконтроллерPIC18F452, используемый в лабораторной работе, содержит пять портов: A, B,C, D, E.Каждый бит регистра TRISx определяет направление передачи данных через 31канал ввода/вывода. Если 31 бит установлен в 1, то вывод порта является 36 входом,если же сброшен в 0 – 36 выходом. Например, для того 42 чтобы разряды 6 и 7 портаС были 42 выходами, а все остальные – входами, в регистр TRISC необходимозаписать значение 0b'00111111' (рисунок 2.2).Биты регистра PORTx при конфигурации канала вывода как выхода (TRISx= 0b'00000000') определяют состояние вывода порта.

Если бит 31 сброшен в 0, 31 тона выводе устанавливается напряжение низкого уровня. Если 31 бит установлен в1, то 31 на выводе устанавливается напряжение высокого уровня. 3126 31Рисунок 2.2 – Регистры TRISC и PORTC2.5 ПрерыванияВо время работы микроконтроллер должен постоянно взаимодействовать сразличными внешними событиями, которые требуют незамедлительной реакциимикроконтроллера. Чтобы с этими событиями разобраться, используетсяфункция прерывания.Прерыванием называют вызов определенных функций, генерируемыйглавным образом аппаратной частью микроконтроллера. В моментвозникновения прерывания выполнение основной программы останавливаетсяи происходит переход к соответствующей подпрограмме обработки прерывания.Прерывания 42 разделяются на две группы: внешние и внутренние.

Внешниепрерывания могут быть вызваны сбросом МК (RESET) или сигналамипредустановленного уровня на выходах INT. Причинами внутреннихпрерываний являются встроенные модули микроконтроллера ( 42 таймер/счетчикили сторожевой таймер и 42 др.).Семейство микроконтроллеров PIC18 имеет два уровня прерываний:низкоприоритетное и высокоприоритетное. Вектор низкоприоритетногопрерывания располагается в памяти программ по адресу 0х000018, а вектор27высокоприоритетного – 0х000008. Когда одновременно возникает двапрерывания, в первую очередь обслуживается то, приоритет которого выше. Вслучае если оба прерывания имеют равный приоритет, то они будутобслуживаться по очереди. Если в момент обслуживания низкоприоритетногопрерывания возникает высокоприоритетное – в этом случаевысокоприоритетное прерывание прервет обработку низкоприоритетного.Каждому прерыванию соответствует свой флаг (оповещение), которыйнеобходимо сбрасывать программно после выполнения подпрограммыобработки прерывания, поскольку в противном случае прерывание сразу жеповторится.

Также каждое прерывание можно разрешить или запретить припомощи регистров управления.В PIC18F452 для управления прерываниями используется десять регистров:- RCON – специальный функциональный регистр, содержащий битвключения приоритетной системы прерываний и флаги прерываний;- INTCON/INTCON2/INTCON3 – специальные функциональные регистры,содержащие биты разрешения прерываний, флаги прерываний и битыприоритета прерываний;- PIE1/PIE2 – специальные функциональные регистры, содержащиеиндивидуальные биты разрешения периферийных прерываний;- PIR1/PIR2 – специальные функциональные регистры, содержащиеиндивидуальные флаги периферийных прерываний;- IPR1/IPR2 – специальные функциональные регистры, содержащиеиндивидуальные биты приоритета периферийных прерываний.2.6 Таймеры/счетчикиОсновное применение таймера/счетчика – подсчет числа внешних событийи измерение времени.

Используемый микроконтроллер содержит 4таймера/счетчика TMR0, TMR1, TMR2, TMR3. Для реализации прерывания попереполнению таймера, используется таймер/счетчик TMR0. Особенностямиданного таймера являются возможность работы в 8-разрядном и 16-разрядном28режимах, а так же программируемый предделитель, способный делить частоту,входящего в него сигнала на 256. Работая в 16-ти разрядном режиме, таймеримеет два регистра хранения чисел – TMR0H и TMR0L.

Таймер можноиспользовать двумя способами. Первый способ – это работа по переполнению,то есть 8-разрядный таймер досчитает от 0 до 255 и прекратит свою работу, а16-разрядный – от 0 до 65535, не использовав функции предделителя. Второйспособ – изначально посчитать по формуле 2.1 исходное значение, котороедолжно быть загружено в регистр TMR0H и TMR0L в двоичном виде, домомента переполнения таймера., (2.1)где – время до момента переполнения, мкс;K – коэффициент деления частоты, предделитель;– тактовая частота кварцевого резонатора, МГц;B –количество чисел, которые вмещает таймер.2.7 Семисегментные индикаторыСемисегментные индикаторы, применяемые преимущественно дляотображения числовой информации, получили широкое распространение,поскольку являются очень удобными и простыми в использовании.

Индикаторпредставляет собой несколько объединенных в одном корпусе одиночныхсветодиодов, соединенных, как правило, вместе либо анодом (общий анод), 31либо катодом (общий катод). 31 На рисунке 2.3 а приведено общепринятоеобозначение сегментов светодиодного индикатора.В программе Proteus 7.5 SP3 имеется целый ряд семисегментныхиндикаторов. В качестве примера на рисунке 2.3 б приведен индикатор с общиманодом 7SEG-COM-AN и его электрическая схема.29Рисунок 2.3 – Семисегментный индикатор: а – обозначение сегментов;б – внешний вид в программе Proteus 7.5; в – электрическая схема2.8 Динамическая индикацияНа практике отображение информации при помощи одной единственнойцифры используется редко, в большинстве случаев возникает необходимостьиспользовать индикаторы, состоящие из нескольких цифр.

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

Как видим, в момент времени, когда на разряд 1подается высокий уровень напряжения, все другие разряды (2–4) обесточены.После того как на первом разряде закончился переходной процесс иустановилась логическая единица, на каналы управления сегментамииндикатора подается код числа, которое необходимо зажечь.Продолжительность импульса управления разрядами должна находиться вдиапазоне от 5 до 15 мс. Выключение числа происходит в обратном порядке:сначала отключается код числа с каналов управления сегментами, затем наразряде 1 устанавливается низкое значение напряжения. Остальные разрядычисла (2–4) включаются аналогичным образом.30Рисунок 2.4 – Временная диаграмма управления разрядами четырехзначного индикатораОсновные преимущества метода динамической индикации заключаются вснижении потребляемой мощности и сокращении количества используемыхпортов ввода/вывода микроконтроллера.Рисунок 2.5 – Электрическая схема индикатора 7SEG-MPX4-CAВ данном дипломном проекте используется четырехзначныйсемисегментный индикатор 7SEG-MPX4-CA.

В названии индикатора последниедва символа обозначают тип соединения светодиодов: CA – общий анод31(Common Anode), CC – общий катод (Common Cathode). На рисунке 2.5приведена электрическая схема индикатора 7SEG-MPX4-CA. На рисунке 2.4видно, что аноды диодов каждой цифры 31 индикатора подключаются к шинепитания через свой транзистор (VT1-VT4), а 31 однотипные сегменты всехчетырех цифр объединяются на одном из выводов (A-G, DP – точка).32333 РАЗРАБОТКА АЛГОРИТМА ИЗМЕРЕНИЯ ЧАСТОТЫ3.1 Алгоритм основной функцииАлгоритм представляет собой блок схему, у которой обязательно есть началои конец.Для начала работы нужно подключить стандартные библиотеки. Этобиблиотека полного функционала микроконтроллера и библиотека функциизадержек.Затем настроить динамическое управления, для управления разрядамитысяч, сотен, десятков и единиц.Далее следует настроить такие параметры микроконтроллера, как выборрежим генератора, включить/отключить сторожевой таймер,разрешить/запретить переключения источника такового сигнала,разрешить/запретить работу таймера включения питания, разрешить/запретитьсброс микроконтроллера по снижению напряжения питания,разрешить/запретить сброс микроконтроллера при переполнении стека,разрешить/запретить низковольтное программирование.Затем нужно ввести переменные для подсчета входящих импульсов и самойчастоты электрического тока.Следом вводим массив для вывода цифр на экран.

Каждая цифрасемисегметного индикатора – это набор из семи 0 и 1.Затем следует настроить подпрограмму прерываний, то есть определитьпрерывание высокого уровня, дать понять микроконтроллеру куда следуетпереходить, если поднялся флаг прерывания, а так же куда вернуться послевыполнения прерывания.После следует настроить порты ввода и вывода сигналов, некоторые ножкинужно настроить на ввод информации в микроконтроллер, а некоторые навывод.Следом настраиваем прерывание по таймеру 0, для подсчета импульсов,поступающих в микроконтроллер в течении 1 секунды, а затем таймеру 1,34который через каждые 5 мс переключает разряд динамической индикации.После разрешаем глобальное прерывание и на этом алгоритм зацикливается.Рисунок 3.1 – Алгоритм основной функции3.2 Алгоритмы прерыванияАлгоритмы прерывания тесно связаны друг с другом, поэтому используютсяпереходы с алгоритма на алгоритм.Алгоритм подсчета входного сигнала по ножке RB0 представлен на рисунке3.2.

Если на ножку RB0 пришел сигнал, то флаг прерывания сбрасывается(программно) и значение counter становится больше на единицу. Значениеcounter будет расти до того момента, пока не произойдет прерывание по35таймеру 0.В таймер 0 записано значение, при котором только спустя ровно 1 секундупроизойдет прерывание, после чего флаг прерывания по таймеру 0 обнуляется ив него вновь записывается число, которое заставляет его через секундупрерваться.Следом мы обнуляем переменные thousand, hundred, ten и one. Еслизначение counter меньше тысячи, то переходим ниже на два блока.

Еслипеременная counter приобрела значение больше 1000, то от этого значениявычитаем тысячу и переменную thousand увеличиваем на единицу. Затемпроверяем не стало ли значение переменной counter меньше, либо равнотысячи, если равно или больше, то операции, описанные выше, повторяем, дотого момента, пока значение не станет меньше тысячи.Когда значение counter становится меньше тысячи, проверяем больше лионо сотни, если меньше, то переходим на два блока ниже, если нет, то вычитаемиз значения counter число 100, при этом увеличивая переменную hundred наединицу.

Это происходит до тех пор, пока значение counter не станет меньше100.Далее проверяем, чтобы значение counter было больше десяти, если условиене выполняется, то нужно перейти на два блока ниже, а если выполняется, товычитаем из значения counter число 10, при этом увеличивая значениепеременной ten на единицу. Это происходит до тех пор, пока значение counter нестанет менее 10.Когда это произошло, нужно проверить больше ли значение counter единицыили нет, если нет, то значение counter обнуляем и переходим к выводу на экранчастоты. Если больше единицы, то считаем так же, как описывалось выше.Алгоритм прерывания по таймеру 0, который отвечает за подсчета разрядовдинамической индикации, представлен на рисунке 3.3.Для вывода на экран используется таймер 1.

Если сработал флаг прерыванияпо переполнению таймера 1, то флаг сбрасывается, в таймер записываетсячисло, равно 5 мс, а затем по очереди выводятся на экран разряды thousand,36hundred, ten, one. Алгоритм прерывания по таймеру 1, который отвечает завывод на динамический индикатор, представлен на рисунке 3.4.37Рисунок 3.2 – Алгоритм прерывания по таймеру 038Рисунок 3.3 – Алгоритм подсчета входного сигнала по порту RB0Рисунок 3.4 – Алгоритм прерывания по таймеру 139404 РАЗРАБОТКА ПРОГРАММЫ РАБОТЫ ЧАСТОТОМЕРА4.1 Введение в систему разработки MPLAB IDEMPLAB – это интегрированная среда разработки, позволяющаяосуществлять написание программ на языках ассемблера и С, а такжепроизводить тестирование и имитацию программного кода с использованиеминструментальных средств отладки. MPLAB включает в себя ряд отдельныхкомпонентов:- текстовый редактор – обеспечивает возможность ввода текста и позволяетраспознавать основные элементы языка программирования, обозначая команды,метки, комментарии разными цветами, что делает программный код болеенаглядным и читаемым;- менеджер проекта – группирует все файлы, относящиеся к одному проектувместе, а также обеспечивает их обновление и корректное взаимодействие другс другом;- компоновщик – объединяет файлы проекта воедино, присваивая каждомуфрагменту правильные адреса памяти, обеспечивая при этом корректныепереходы и обращения от одного файла к другому;- программный имитатор – позволяет тестировать программу, котораянаходится в стадии разработки, 52 при этом могут имитироваться входные ивыходные сигналы, а также наблюдаться состояния ячеек памяти;- 52 программный отладчик – включает средства, обеспечивающие полныйконтроль за выполнением программы, например: 52 пошаговая реализацияпрограммы, запуск её с пониженной скоростью исполнения либо остановка поконкретному адресу памяти.При создании проекта любой сложности интегральная среда разработкиMPLAB создает значительное число файлов, которые обозначаютсясоответствующими расширениями, приведенными в таблице 4.1.

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

Тип файла
PDF-файл
Размер
436,14 Kb
Высшее учебное заведение

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

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