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

Высокая скоpость выполнения команд в PIC достигается за счет использования двухшинной Гаpваpдской аpхитектуpы вместо тpадиционной одношинной Фон-Hеймановской. Гаpваpдская аpхитектуpа основывается на набоpе pегистpов с pазделенными шинами и адpесным пpостpанством для команд и для данных. Hабоp pегистpов означает, что все пpогpаммные объекты, такие как поpты ввода/вывода, ячейки памяти и таймеp, пpедставляют собой физически pеализоваенные аппаpатные pегистpы. Использование Гаpваpдской аpхитектуpы позволяет достичь высокой скоpости выполнения битовых, байтовых и pегистpовых опеpаций. Кpоме того, Гаpвадская аpхитектуpа допускает конвейеpное выполнение инстpукций, когда одновpеменно выполняется текущая инстpукция и считывается следующая. В тpадиционной же Фон-Hеймановской аpхитектуpе команды и данные пеpедаются чеpез одну pазделяемую или мультиплексиpуемую шину, тем самым огpаничивая возможности конвейеpизации, внутpенние физические и логические компоненты, из котоpых состоит PIC16FXX аналогичны любому дpугому микpоконтpоллеpу Гаpваpдская аpхитектуpа и большая pазpядность команды позволяют сделать код для PIC значительно более компактным, чем для дpугих микpоконтpоллеpов и существенно повысить скоpость выполнения пpогpамм.

PIC16F84A имеют встроенные устройства, присущие большинству прикладных систем, что позволяет снизить стоимость, потребляемую мощность и увеличить надежность конечного устройства. Например, встроенная схема сброса и запуска генератора позволяют избавиться от внешних RC схем. Предлагается четыре типа встроенных генераторов на выбор, включая экономичный LP (Low Power) и дешевый RC генераторы. Экономичный режим SLEEP, Watchdog таймер и устройство защиты кода программы снижают стоимость и увеличивают мощность плюс надежность вашей системы.

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

Разработка на базе контроллеров PIC16C5X поддерживается ассемблером, программным симуляторомэмулятором (только фирмы Microchip) и программатором. Существуют все эти средства для IBM , внутрисхемным PC и совместимых компьютеров.

Серия PIC16F84A подходит для широкого спектра приложений от схем высокоскоростного управления автомобильными и электрическими двигателями до экономичных удаленных приемопередатчиков, показывающих приборов и связных процессоров. Наличие ПЗУ позволяет подстраивать параметры в прикладных программах (коды передатчика, скорости двигателя, частоты приемника и т.д.). Малые размеры корпусов, как для обычного, так и для поверхностного монтажа, делает эту серию микроконтроллеров пригодной для портативных приложений. Низкая цена, экономичность, быстродействие, простота использования и гибкость ввода/вывода делает серию PIC16F84A привлекательной даже в тех областях, где ранее не применялись микроконтроллеры. Например, таймеры, замена жесткой логики в больших системах, сопроцессоры.

Устройства серии PIC16F84A имеют большой выбор ПЗУ и ОЗУ разных размеров, разное количество линий ввода/вывода, различные виды возбуждения генераторов, разную скорость, климатику и типы корпусов. Из четырех кристаллов PIC16F84A можно выбрать устройство с подходящими ПЗУ/ОЗУ и конфигурацией ввода/вывода.

Устройства с ультрафиолетовым стиранием удобно использовать в прототипных и опытных партиях. Конфигурация генератора ("RC", "XT", "HS", "LP") программируется самим пользователем на UF EPROM. При UF стирании или по умолчанию устанавливается тип "RC". В зависимости от выбранного типа генератора и частоты, рабочее напряжение питания должно быть в том же диапазоне, что будет и в будущем устройстве на OTP кристалле (если OTP предполагается использовать).

Тип генератора кристаллах OTP устанавливается на заводе и они тестируются только для этой специальной конфигурации, включая напряжение, частоту и ток потребления, см. Маркировка. Устройства выпускаются с чистым EPROM, что позволяет пользователю самому программировать их. Кроме того, можно отключить Watchdog таймер и/или защитy кода путем программирования битов в специальном EPROM. Также доступны 16 бит для записи кода идентификации (ID).

Обзор характеристик.

- только 33 простых команды;

- все команды выполняются за один цикл(200ns), кроме команд перехода- 2

цикла;

- рабочая частота 0 Гц ... 20 МГц(200 нс цикл команды)

- 12- битовые команды;

- 8- битовые данные;

- 512 ... 2К х 12 программной памяти на кристалле EPROM;

- 25 ... 72 х 8 регистров общего использования;

- 7 специальных аппаратных регистров SFR;

- двухуровневый аппаратный стек;

- прямая, косвенная и относительная адресация данных и команд;

Периферия и Ввод/Вывод

- 12 ... 20 линий ввода-вывода с индивидуальной настройкой;

- 8 - битный таймер/счетчик RTCC с 8-битным программируемым

предварительным делителем;

- автоматический сброс при включении;

- таймер запуска генератора;

- Watchdog таймер WDT с собственным встроенным генератором, обеспечивающим повышенную надежность;

- EPROM бит секретности для защиты кода;

- экономичный режим SLEEP;

- программируемые EPROM биты для установки режима возбуждения встроенного генератора:

- RC генератор : RC

- обычный кварцевый резонатор : XT

- высокочастотный кварцевый резонатор : HS

- экономичный низкочастотный кристалл : LP

КМОП технология

-  экономичная высокоскоростная КМОП EPROM технология;

- статический принцип в архитектуре;

- широкий диапазон напряжений питания:

- коммерческий: 2.5 ... 6.25 В

- промышленный: 2.5 ... 6.25 В

- автомобильный: 2.5 ... 6.0 В

- низкое потребление

20 mA типично для 6В, 20МГц

2 мА типично для 5В, 4МГц

15 мкА типично для 3В, 32КГц

3                   мкА типично для SLEEP режима при 3В, 0 ... 70 С

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

Структурная схема микроконтроллера РIС16F84A изображена на рис


. 2.


Рис. 2. Структурная схема микроконтроллера РIС16F84A



Расположение выводов

Расположение выводов микроконтроллера РIС16F84A  изображено на рис. 3.


Рис. 3. Расположение выводов микроконтроллера РIС16F84A


Исполнение микроконтроллера

Микроконтроллер выпускается в двух видах корпусов.

Расположение выводов и конструктивные размеры различных корпусов приведены на Рис. 4 и Рис.5.


Рис. 4. Конструктивные размеры микроконтроллера РIС16F84A

(исполнение 1)


Рис. 5. Конструктивные размеры микроконтроллера РIС16F84A

(исполнение 2)


4.                Разработка алгоритма работы устройства


Алгоритм работы программы микроконтроллера показан на рис. 6.

Рис. 6. Алгоритм работы программы «терморегулятор для аквариума»


После пуска и инициализации регистров микроконтроллера выполняется самая продолжительная инициализация ЖК-дисплея. Далее проверяется состояние флага установки. Если установки нет, то на индикацию выводятся значения регистров текущего режима. Если идет установка, то проверяется флаг курсора. Если флаг курсора установлен, то индицируется курсор. При установке индикация курсора и значений регистров индикации выполняется поочередно.

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

Аналогично первому выполняются считывание температуры из второго датчика и установка второго управляющего выхода. Поскольку вывод на индикацию занимает довольно много времени (8 мс), то он выполняется после шести циклов считывания температуры через 68 мс. Когда счетчик циклов будет равен нулю, проверяется состояние кнопок управления и по установленному режиму заполняются регистры индикации. После этого цикл индикации и измерения температуры повторяется. Цикл измерения температуры и установка управляющих выходов обоих датчиков выполняются за 11,4 мс/Таким образом, управление каждым нагревателем будет выполняться минимум один раз за период сетевого напряжения.


5. Ассемблирование


Для ассемблирования используется макpоассемблеp MPASM, он содеpжит все необходимые нам возможности. MPASM входит в пакет программ Microchip MPLAB фирмы Microchip Technology.

Листинг программы и объектный файл представлен в Приложении А.



6. Программирование микроконтроллера


После ассемблирования имеется объектный файл EXAMPLE.HEX, котоpый должен быть записан в микpосхему. Запись осуществляется пpи помощи пpогpамматоpа и пpогpаммы Pic-prog. Микросхему микроконтроллера  вставляется в панель программатора. Программатор  подключается к порту LPT1. Необходимо запустить программу Pic_prog.exe. Подать питание на программатор. Выполнить команду 'ЗАПИСАТЬ / ПАМЯТЬ ПРОГРАММ'.

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

Коды прошивок микроконтроллера представлены в Приложении Б.


7. Описание функциональных узлов МПС


В проектируемом устройстве можно выделить следующие функциональные блоки:

1.                 Микроконтроллерный термометрический датчик DS1820 – первый;

2.                 Микроконтроллерный термометрический датчик DS1820 – второй;

3.                 Блок управления (три кнопки и выключатель питания);

4.                 Жидкокристаллический индикатор;

5.                 Стабилизатор напряжения;

6.                 Кварцевый резонатор;

7.                 Силовой блок-первый;

8.                 Силовой блок-второй;

9.                 Микроконтроллер.

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

8. Описание выбора элементной базы и работы принципиальной

схемы


Схема терморегулятора показана на рис.7 (Приложение В) . Резистором R8 устанавливают необходимую контрастность изображения индикатора. Все блоки устройства включены по стандартной схеме.

Работа с терморегулятором сводится к установке температуры регулирования для обоих датчиков. При включении устройства на дисплее появится значение температуры первого и второго датчика с указанием стрелочкой (>) номера датчика рис. 8. Нажатием кнопки «Режим» на дисплее последовательно будут появляться изображения, аналогичные показанным на рис. 9—12. На рис. 9, 10 левые цифры показывают текущую температуру соответствующих датчиков, а правые цифры — установленные значения температур. При включении режимов работы, показанных на рис. 11, 12, микроконтроллер переходит в режим установки. В этом режиме под устанавливаемым разрядом появляется мигающий курсор (на рисунках под знаком плюс). Кнопкой «Разряд» перемещают курсор по разрядам, а кнопкой «Установка» устанавливают необходимое значение температуры.

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

При индикации и установке температур для 100 в разряде десятков будет индикация двоеточия (:), для 110 — точка с запятой (;), для 120 — обратная стрелка (<).


Рис. 7. Принципиальная схема регулятора температуры в Accel EDA


Рис.8


Рис.9


Рис.10


Рис.11


Рис.12



ЗАКЛЮЧЕНИЕ


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

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



СПИСОК ЛИТЕРАТУРЫ


1. Белов А.В. Микроконтроллеры АVR в радиолюбительской практике – СП-б, Наука и техника, 2007 – 352с.

2. Проектирование цифровых устройств на однокристальных микроконтроллерах / В.В. Сташин [ и др.]. – М.: Энергоатомиздат, 1990. – 224 с.

3. Евстифеев А.В. Микроконтроллеры Microchip: практическое руководство/А.В.Евстифеев. – М.: Горячая линия – Телеком, 2002. – 296 с.

4. Кравченко А.В. 10 практических устройств на AVR-микроконтроллерах. Книга 1 – М., Додэка –ХХ1, МК-Пресс, 2008 – 224с.

5.Трамперт В. Измерение, управление и регулирование с помощью АVR-микроконтроллеров: Пер. с нем – К., МК-Пресс, 2006 – 208с.

6. Мортон Дж. Микроконтроллеры АVR. Вводный курс /Пер. с англ. – М., Додэка –ХХ1, 2006 – 272с.

7. Техническая документация на микроконтроллеры PIC16F84А компании Microchip Technology Incorporated . ООО «Микро -Чип», Москва, 2002.-184 с.



ПРИЛОЖЕНИЕ А


Листинг программы и объектный файл



















ПРИЛОЖЕНИЕ Б


Коды прошивок микроконтролллера





ПРИЛОЖЕНИЕ В


Схема электрическая принципиальная терморегулятора аквариума


Страницы: 1, 2



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.