Смекни!
smekni.com

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

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 устанавливают необходимую контрастность изображения индикатора. Все блоки устройства включены по стандартной схеме.