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

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

Введение…………………………………………………………………………. 4
1. Анализ задания, составление описания и блок-схемы устройства…………..5

Файлы: 1 файл

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Государственное образовательное учреждение высшего

САМАРСКИЙ ГОСУДАРСТВЕННЫЙ АЭРОКОСМИЧЕСКИЙ

Как прошить микроконтроллер / Как правильно понимать микроконтроллер / Обзор среды программирования

УНИВЕРСИТЕТ имени академика С.П.КОРОЛЁВА

Дисциплина «Цифровые устройства»

Проектирование микроконтроллер ных устройств

Пояснительная записка к курсовому проекту

Выполнил: Карюхин Д. А.

Руководитель проекта: Кудрявцев И. А.

Дата сдачи на проверку:

Оценка и дата защиты:

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

Амплитуда напряжения – (1 — 10)В;

Частота сигнала – 50Гц±1%;

Максимальная погрешность задания напряжения – 1%;

Задание напряжения — потенциометром;

Минимальное сопротивление нагрузки – 10 Ом.

PЕФЕРАТ

Пояснительная записка: 18с., 5 рис., 0 табл., 6 источников.

Графическая документация: 1л. А3, 1л. А4

ИНВЕРТОР, МИКРОКОНТРОЛЛЕР, БЛОК ПИТАНИЯ, АЛГОРИТМ, ПРОГРАММА

Произведены выбор функциональной и принципиальной схем инвертора; выбор микроконтроллера и вспомогательных элементов. Произведён необходимый расчёт токов и напряжений. Разработан необходимый источник питания. Составлен алгоритм и написана программа для микроконтроллера.

1. Анализ задания, составление описания и блок-схемы устройства…………..5

2. Выбор компонентов схемы и их описание…………………………………….6

2.1 Выбор микроконтроллера…. ………………………… ….……………..6

2.2 Выбор вспомогательных элементов конструкции..…………………….8

2.2.5 Прочие элементы схемы…….. ………………………………………8

4 Программа на ассемблере………………… …………………………………….11

Список использованных источников…………………………………………….. 18

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

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

Блок управления двигателем: устройство, можно ли написать свою программу и использовать по-своему

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

1 Анализ задания, составление описания и блок-схемы устройства

Рисунок 1 – Структурная схема инвертора.

Блок-схема устройства, приведённая на рисунке 1, состоит из :

— Микроконтроллер – PIC16F873, выбран в виду наличия АЦП, модулей ШИМ, достаточное количество выводов

— Блок питания – цепь формирующая необходимые напряжения для нормального и стабильного функционирования устройства

— цепи тактирования и сброса – предназначены для нормального функционирования микроконтроллера

— Потенциометр – задает амплитуду напряжения, требуемую на выходе инвертора

— 3-хфазный инвертор – необходим для формирования гармонических колебаний на выходе устройства

Читайте также:
Microsoft office является частью программы

Принцип действия устройства :

— потенциометром задается амплитуда выходного напряжения, которая фиксируется встроенным модулем АЦП

— с использованием двух встроенных модулей ШИМ и таймеров на транзисторах с плавающей точкой реализуются три синусоидальных сигнала с разностью фаз 120º требуемой амплитуды

— другие три транзистора необходимы для задания положительной и отрицательной полуволн

2 Выбор компонентов схемы и их описание

2.1 Выбор микроконтроллера

Главным компонентом данного цифрового устройства является микроконтроллер. И от того, что входит в его состав, его характеристик будет зависеть работа всей схемы, скорость и качество обработки данных. Для реализации заданного устройства, нам необходимы : аналогово-цифровой преобразователь, возможность реализации широтно-импульсной модуляции, простая и доступная система команд. Под такие параметры хорошо подходит PIC16F873. Документация и основные принципы работы широко распространены и легко доступны.

  • Емкость перепрограммируемой Flash памяти: 4К 14-тиразрядных слов;
  • Напряжение питания (2-5,5)В;
  • Программируемая защита памяти программ;
  • Внутреннее ОЗУ ёмкостью 256х8 бит;
  • 22 программируемые линии ввода/вывода;
  • Два 8-разрядных и 16-разрядный таймеры/счетчики событий;
  • 10-разрядный модуль АЦП;
  • Два модуля захвата/сравнения/ШИМ;
  • Тактовая частота 32 кГц — 20 МГц.

Микроконтроллеры PIC16F873 выпускаются в корпусах типа PDIP и SOIC.

Вид и цоколёвка микроконтроллера представлены на рисунке 2.

Структурная схема микроконтроллера представлена на рисунке 3.

Рисунок 2 – Типы корпусов и цоколёвка микроконтроллера

Рисунок 3 – Структурная схема микроконтроллера

2.2 Выбор вспомогательных элементов конструкции

Через делитель, состоящий из потенциометра 1кОм и постоянного резистора сопротивлением на 3кОм, задается опорное напряжение для модуля АЦП. С третьего вывода потенциометра будет сниматься требуемое напряжение. Сопротивления делителя будет достаточно для компенсаций тока утечки на выводах. Зависимость сопротивления от угла поворота следует выбрать линейную. Этим параметрам удовлетворяют: потенциометр СПЗ-37-1кОм; резистор С-23-3кОм.

2.2.2 Блок питания

На вход БП подаётся переменное напряжение 220В. С помощью трансформатора оно понижается до 24В во вторичной обмотке и подаётся на диодный мост VD11-VD14, где оно выпрямляется. На выходах диодного моста включён стабилизатор фиксированного напряжения на +20В, на базе микросхемы 142ЕН9А. С середины вторичной обмотки трансформатора напряжение 12В подаётся на диодный мост VD7-VD10, напряжение с выхода которого подается на питание микросхемы КР142ЕН5А, которая также является стабилизатором фиксированного напряжения, но на +5В. В схеме также установлены фильтрующие конденсаторы, которые стабилизируют питание, увеличивая помехоустойчивость.

Основными элементами инвертора являются транзисторы, работающие в ключевом режиме. Поскольку управляющие токи велики, следует выбирать
МДП-транзисторы. Исходя из условия, что допустимое напряжение сток-исток не должен быть менее 20В, а напряжение затвор-исток не менее 24В, выбираем транзисторы VT2,VT3,VT5,VT6,VT8,VT9. Таким требованиям удовлетворяют транзисторы КП902А. Также выбираем транзисторы VT1,VT4,VT7 по допустимому напряжению сток-исток не менее 24В(КП301В). Управление с микроконтроллера осуществляется через резисторы 100Ом.

Диоды выбираются по допустимому прямому току не менее 2А(BYW95).

2.2.4 Прочие элементы схемы

Цепь тактирования используется стандартная для подключения кварцевого резонатора. В данном устройстве используем резонатор на 20МГц, при этом на выполнение одной операции будет тратиться 0,2мкс. Конденсаторы используются танталовые 33пФ.

Рисунок 4 – Алгоритм основной программы

Источник: www.yaneuch.ru

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

Разработка программы микроконтроллера в соответствии с блок-схемой алгоритма проводилась на языке Ассемблер 51.

Компиляция и создание объектного модуля проводились с помощью программы TASM. Отладка программы проводилась с помощью программы-отладчика FD51.

Читайте также:
Что необходимо выполнить для создания закладки в программе ms word

Листинг программы приведен ниже.

Программа опробована в составе разработанного устройства. Результаты проверки удовлетворяют предъявленным требованиям.

2.4.1. Листинг программы асвк

; MCS-51 ASVK Program — 20/07/1998

SP .equ 081H ;Stack pointer

P1 .equ 090H ;Port 1

P3 .equ 0B0H ;Port 3

A .equ 0E0H ;Accumulator

B .equ 0F0H ;Secondary Accum

P3.0 .equ 0B0H ;Port 3 bit 0

P3.1 .equ 0B1H ;Port 3 bit 1

FMC .equ 0B2H ;Port 3 bit 2

BLP .equ 0B3H ;Port 3 bit 3

METFMC .equ 0B4H ;Port 3 bit 4

TCL .equ 0B5H ;Port 3 bit 5

BL_AO .equ 0B7H ;Port 3 bit 7

AO_SVK .equ 090H ;Port 1 bit 0

BL_OUT .equ 091H ;Port 1 bit 1

CPU_NS .equ 092H ;Port 1 bit 2

ASVK_ON .equ 093H ;Port 1 bit 3

P1.4 .equ 094H ;Port 1 bit 4

BL_OUT1 .equ 095H ;Port 1 bit 5

AO_SVK1 .equ 096H ;Port 1 bit 6

INT .equ 097H ;Port 1 bit 7

NZ .equ 00 ;метка нач. запуска

CTF .equ 031H ;счетчик-фильтр

CTFMC .equ 032H ;счетчик меток FMC

Источник: studfile.net

Чтение состояния 10 и более кнопок с помощью двух выводов микроконтроллера

Существует несколько способов опроса состояния множества кнопок с помощью ограниченного числа линий ввода/вывода микроконтроллера. Например, используя аналоговый вход микроконтроллера, можно определять нажатую кнопку по уровню напряжения, присвоенного ей посредством цепочки резисторов. Можно также использовать приборы с однопроводным интерфейсом, такие, скажем, как 8-канальный адресуемый ключ Maxim DS2408.

Первому способу присущ ряд недостатков: микроконтроллер должен иметь встроенный АЦП, время подавления дребезга снижает частоту сканирования копок, а размыкание кнопки во время выполнения выборки АЦП приводит к ошибкам. Второй способ, использующий интерфейс 1-Wire, отличается относительно низкой скоростью и требует постоянного опроса микросхемы DS2408, в ответ на каждое обращение возвращающей 8-разрядный код позиции кнопки.

Рисунок 1. Подключение к микроконтроллеру 10 кнопок с помощью двух линий ввода/вывода. Количество кнопок может быть увеличено при каскадировании нескольких микросхем CD4017 через выходы переноса.

В статье описан еще один способ считывания статуса множества кнопок или переключателей, для которого потребуются лишь две цифровые линии ввода/вывода микроконтроллера и прерывания от интегрированного в микроконтроллер таймера (Рисунок 1). При необходимости можно использовать третью линию для периодического сброса счетчика CD4017 (каскадируемый десятичный счетчик Джонсона), позволяющего повысить устойчивость схемы к электромагнитным помехам и электростатическим разрядам. Можно также применить схему, изображенную на Рисунке 2, сохранив преимущество двухпроводного варианта. Диоды защищают выходы счетчика от повреждения при одновременном нажатии нескольких кнопок. Каскадированием нескольких микросхем CD4017 можно увеличить количество подключаемых кнопок, используя выход переноса (вывод 12) и вход счетных импульсов (вывод 14).

Рисунок 2. Добавив три резистора и транзистор, можно защитить схему от сбоев синхронизации, не используя третью линию ввода/вывода микроконтроллера.

Надежность работы схемы после первоначального включения и инициализации микроконтроллера зависит от последующей синхронизации счетчика CD4017 с таймером-счетчиком микроконтроллера. Однако синхронизация может быть нарушена электростатическими разрядами или электромагнитными помехами, например, от находящегося поблизости мобильного телефона, поэтому целесообразно предусмотреть в коде программы микроконтроллера функцию периодического аппаратного сброса счетчика CD4017. На Рисунке 2 показано, как можно сделать это без использования третьей линии ввода/вывода микроконтроллера.

Такая возможность обеспечивается наличием трех состояний выхода микроконтроллера: высокого, низкого и высокоимпедансного состояния (Z-состояние), когда вывод порта временно переключается в режим ввода.

Читайте также:
Как уменьшить размер программы на компьютере

При «лог. 1» транзистор Q1 включается через резистор R4, устанавливая высокий логический уровень напряжения в точке V1 и напряжение ниже логического нуля в точке V2. Таким образом, на тактовом входе микросхемы устанавливается высокий логический уровень, а на входе сброса удерживается низкий.

В состоянии «лог. 0» транзистор Q1 выключается, устанавливая низкий логический уровень напряжения в точке V1 и напряжение выше логической единицы в точке V2. В этом случае на тактовом входе микросхемы устанавливается низкий логический уровень, а на входе сброса удерживается высокий.

Если же вход будет «оторван» вследствие переключения выхода микроконтроллера режим ввода, транзистор Q1 включится через резисторы R3 и R4, а напряжение в точках V1 и V2 опустится ниже порога логического нуля. При этом на счетном входе и входе сброса микросхемы устанавливается низкий уровень.

Таким образом, чтобы сформировать фронт счетного импульса, необходимо изменять состояния вывода микроконтроллера в следующей последовательности: Z-состояние > «лог. 1» > Z-состояние. Аналогично, для сброса счетчика CD4017 последовательность должна быть такой: Z-состояние > «лог. 0» > Z-состояние.

Блок-схема на Рисунке 3 иллюстрирует процесс считывания микроконтроллером состояния всех кнопок и используемые в программе микроконтроллера функции. На этапе инициализации микроконтроллер сбрасывает переменную счетчика (n=0) и запускает таймер, сконфигурированный на генерацию прерываний по переполнению каждую 1 мс. В обработчике прерываний от таймера выполняется следующие операции: запрещаются внешние прерывания, значение переменной инкрементируется на 1, на микросхему CD4017 подается синхроимпульс длительностью 10 мкс, разрешаются внешние прерывания.

Рисунок 3. Блок-схема программы микроконтроллера для чтения состояния всех кнопок. В каждый момент времени должна быть нажата только одна кнопка.

Ввиду того, что каждую миллисекунду микроконтроллер посылает импульс счетчику CD4017 и инкрементирует значение переменной собственного счетчика до тех пор, пока оно меньше 9, номер выхода CD4017, на котором появляется высокий логический уровень, будет соответствовать значению переменной счетчика микроконтроллера. Например, если в счетчике микроконтроллера число 2, то высокий уровень появится на выходе 2 микросхемы CD4017 (вывод 4), в то время как на остальных выходах будет низкий логический уровень. Если в этот момент пользователь нажал кнопку S2, на вывод внешнего прерывания микроконтроллера поступит сигнал «лог. 1». Нажатие других кнопок не приведет к формированию сигнала внешнего прерывания из-за низкого логического уровня на остальных выходах CD4017.

При поступлении сигнала внешнего прерывания микроконтроллер получает из памяти значение переменной счетчика (в нашем примере это 2), определяет нажатие кнопки S2 и выполняет соответствующие функции и операции. По достижении переменной значения 9 она программно сбрасывается в 0, так же как счетчик CD4017 сбрасывается автоматически на десятом импульсе.

Обратите внимание, что в каждый момент времени нажатой должна быть только одна кнопка. Если одновременно нажаты две последовательные кнопки, микроконтроллеру может не хватить времени между последовательными состояниями для регистрации фронта сигнала внешнего прерывания. Возможный вариант решения этой проблемы поясняет блок-схема на Рисунке 4.

Рисунок 4. При использовании кнопок с фиксацией для декодирования комбинаций состояний нескольких кнопок можно проверять состояния входа внешнего прерывания микроконтроллера.

Дополнительные материалы:

Перевод: Vadim по заказу РадиоЛоцман

Источник: www.rlocman.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru