Разработка термометра на основе микроконтроллера pic 16xx

Автор работы: Пользователь скрыл имя, 21 Ноября 2013 в 16:43, курсовая работа

Описание работы

В курсовой работе предложено разработать нерегулируемый выпрямитель напряжения постоянного тока со следующими характеристиками: – период изменения температуры 1 секунда; – погрешность измерения температуры 0,5 °C;
– дискретность отображения 0,5 °C; – количество программируемых пороговых значений 0..127,5 °C; –дискретность установки пороговых значений 0,5 °C; –напряжения питания 5 в; –максимальное напряжение, подводимое к выходам LOAD1 и LOAD2- ограничено максимально допустимыми U1 и U2 примененных VT1 и VT2.

Файлы: 1 файл

электронный термометр.docx

— 249.96 Кб (Скачать файл)
  1. Введение

Последние годы отмечены массовым наполнением рынка всевозможной автоматизированной аппаратурой самого различного назначения и самой различной  сложности  от пластиковой платежной  карточки до холодильника, автомобиля и сложнейших установок. Это стало  возможным благодаря микроконтроллерам (МК). Микроконтроллеры входят во все  сферы жизнедеятельности человека, их насыщенность в нашем окружении  растет из года в год. То, что казалось 10 лет назад сказкой  сейчас вполне возможно благодаря стремительному развитию технологии производства электронных  компонентов.

Фирмы производящие микроконтроллеры ATMEL, INTEL, ZILOG, MICROCHIP. Каждая из перечисленных фирм имеет более 100 видов различных по назначению микроконтроллеров, а каждый микроконтроллер не менее 200 страниц технических описаний и характеристик.

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

– период изменения температуры 1секунда;

– погрешность измерения температуры 0,5 °C;

– дискретность отображения 0,5 °C;


– количество программируемых  пороговых значений 0..127,5 °C;

–дискретность установки  пороговых значений  0,5 °C;

–напряжения питания 5 в;

–максимальное напряжение, подводимое к выходам LOAD1 и LOAD2-

  ограничено максимально  допустимыми U1 и U2 примененных VT1 и   

  VT2.

 

 

 

  1.  Обзор литературы и обоснование выбора схемы.

          Структурная схема электронного термометра на микропроцессоре приведена на рисунке 1. Она состоит из микропроцессора PIC16F84A, датчика измерения температуры DALLAS18B20, кварцевого резонатора, и семисегментного индикатора. Тактовый генератор предназначен для генерации прямоугольных импульсов частотой 4 МГц для тактирования микропроцессора и программируемого таймера. Микропроцессорный блок состоит из микропроцессора, постоянного и оперативного запоминающего устройств. Он осуществляет обработку прерывания полученного от таймера, предварительно делает его установку на нужное значение, готовит данные полученные от таймера,  выводит значение на индикатор. Цифро-буквенный индикатор АЛС324А предназначен для вывода реального значения температуры в графическом виде понятном для человека.  


 

Рисунок 1.  Структурная схема электронного термометра


          Данное устройство может быть выполнено на разной элементной базе включая микросхемы серии 155,176,561 также различные микропроцессорные комплекты 580,1816,1830 и  на специализированных  микросхемах например 1901, что предпочтительней с экономической точки зрения т.к в их состав входят контроллер клавиатуры и дисплея, тактовый генератор, устройство управления, таймер и многое другое необходимое для создания электронного термометра. В данной работе, в учебных целях, это устройство будет разработано на микроконтроллере фирмы Microchip.inc.

PIC16F84 относится к семейству КМОП микроконтроллеров. Отличается тем, что имеет внутреннее 1K x 14 бит EEPROM для программ, 8-битовые данные и 64байт EEPROM памяти данных. При этом отличаются низкой стоимостью и высокой производительностью. Все команды состоят из одного слова (14 бит шириной) и исполняются за один цикл (400 нс при 10 МГц), кроме команд перехода, которые выполняются за два цикла (800 нс). PIC16F84 имеет прерывание, срабатывающее от четырех источников, и восьмиуровневый аппаратный стек.

Периферия включает в себя 8-битный таймер/счетчик с 8-битным программируемым  предварительным делителем (фактически 16 - битный таймер) и 13 линий двунаправленного ввода/вывода. Высокая нагрузочная  способность (25 мА макс. втекающий ток, 20 мА макс. вытекающий ток) линий ввода/вывода упрощают внешние драйверы и, тем  самым, уменьшается общая стоимость  системы. Разработки на базе контроллеров PIC16F84 поддерживается ассемблером, программным симулятором, внутрисхемным эмулятором (только фирмы Microchip) и программатором.

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

 

Например, таймеры, замена жесткой  логики в больших системах, сопроцессоры. Следует добавить, что встроенный автомат программирования EEPROM кристалла PIC16F84 позволяет легко подстраивать программу и данные под конкретные требования даже после завершения ассемблирования и тестирования. Эта возможность может быть использована как для тиражирования, так и для занесения калибровочных данных уже после окончательного тестирования. Структурная схема микроконтроллера приведена на рисунке 2.

 

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


Архитектура основана на концепции  раздельных шин и областей памяти для данных и для команд (Гарвардская  архитектура). Шина данных и память данных (ОЗУ) - имеют ширину 8 бит, а программная шина и программная память (ПЗУ) имеют ширину 14 бит. Такая концепция обеспечивает простую, но мощную систему команд, разработанную так, что битовые, байтовые и регистровые операции работают с высокой скоростью и с перекрытием по времени выборок команд и циклов выполнения. 14- битовая ширина программной памяти обеспечивает выборку 14-битовой команды в один цикл.

           Двухступенчатый конвейер обеспечивает одновременную выборку и исполнение команды. Все команды выполняются за один цикл, исключая команды переходов. В PIC16F84 программная память объемом 1К х 14 расположена внутри кристалла. Исполняемая программа может находиться только во встроенном ПЗУ. Условно графическое обозначение микроконтроллера приведено на рисунке 3.

Программный код, который записан  в кристалл, может быть защищен  от считывания при помощи установки  бита защиты (CP) в слове конфигурации в ноль. Содержимое программы не может быть прочитано так, что  с ним можно было бы работать. Кроме того, при установленном  бите защиты становится невозможным изменять программу. Тоже относится и к содержимому памяти данных EEPROM.


 
Если установлена защита, то бит CP можно стереть только вместе с  содержимым кристалла. Сначала будет  стерта EEPROM программная память и  память данных и в последнюю очередь  бит защиты кода CP. Кристалл PIC16C84 имеет четыре слова, расположенные по адресу (2000h-2003h) Они предназначены для хранения идентификационного кода (ID) пользователя, контрольной суммы или другой информации. Как и слово конфигурации, они могут быть прочитаны или записаны только с помощью программатора. Доступа по программе к ним нет. 
Если кристалл защищен, пользователю рекомендуется использовать для идентификации только младшие семь бит каждого ID слова, а в старший бит записывать `0`. Тогда ID слова можно будет прочитать даже в защищенном варианте.


Вход в режим SLEEP осуществляется командой SLEEP. По этой команде, если WDT разрешен, то он сбрасывается и начинает счет времени, бит "PD" в регистре статуса (f3) сбрасывается, бит "TO" устанавливается, а встроенный генератор выключается. Порты ввода/вывода сохраняют состояние, которое они имели до входа  в режим SLEEP. Для снижения потребляемого тока в этом режиме, ножки на вывод должны иметь такие значения, чтобы не протекал ток между кристаллом и внешними цепями. Ножки на ввод должны быть соединены внешними резисторами с высоким или низким уровнем, чтобы избежать токов переключения, вызываемых плавающими высокоомными входами. То же и про RTCC. Ножка /MCLR должна быть под напряжением Vihmc.

 

Обозначение

Нормальный режим 

Режим записи EEPROM

RA0 - RA3

Двунаправленные линии ввода/вывода. Входные уровни ТТЛ.

-

RA4/RTCC

Вход через триггер  Шмитта. Ножка порта ввода/вывода с открытым стоком или вход частоты  для таймера/счетчика RTCC

-

RB0/INT

Двунаправленная линия порта  ввода/вывода или внешний вход прерывания. Уровни ТТЛ.

-

RB1 - RB5

Двунаправленные линии ввода/вывода. Уровни ТТЛ.

-

RB6

Двунаправленные линии ввода/вывода. Уровни ТТЛ.

Вход тактовой частоты  для EEPROM

RB7

Двунаправленные линии ввода/вывода. Уровни ТТЛ.

Вход/выход EEPROM данных.

/MCLR/Vpp/

Низкий уровень на этом входе генерирует сигнал сброса для  контроллера. Активный низкий. Сброс  контроллера.

Для режима EEPROM - подать Vpp.

OSC1 /CLKIN

Для подключения кварца, RC или вход внешней тактовой частоты.

-

OSC2 /CLKOUT

Генератор, выход тактовой частоты в режиме RC генератора, в  остальных случаях - для подкл.кварц 

-

Vdd

Напряжение питания 

Напряжение питания 

Vss

Общий(земля)

Общий(земля)



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

Интервал рабочих температур

-55 ... +125С

Температура хранения

-65 ... +150С

Напряжение на любой ножке  относительно Vss (земли) (исключая Vdd и /MCLR)

-0.6...Vdd +0.6 В

Напряжение Vdd относительно Vss

0 ... +7.5 В

Напряжение на /MCLR относительно Vss

0...+14 В (Прим.2)

Общая рассеиваемая мощность

800 мВт (Прим.1)

Макс. ток в ножку Vss

150 мА

Макс. ток в ножку Vdd

100 мА

Макс. ток в любую ножку  ввода

+- 500 мкА

Макс. втекающий ток (любая  ножка Вывода)

25 мА

Макс. вытекающий ток (любая  ножка Вывода)

20 мА

Макс. суммарный вытекающий ток для всех ножек порта А

80 мА

Макс. суммарный вытекающий ток для всех ножек порта В

50 мА

Макс. суммарный втекающий ток для всех ножек порта А

50 мА

Макс. суммарный втекающий ток для всех ножек порта В

100 мА


 

          Область ОЗУ организована как 128 х 8. К ячейкам ОЗУ можно адресоваться прямо или косвенно, через регистр указатель FSR (04h). 
Это также относится и к EEPROM памяти данных-констант.


В регистре статуса (03h) есть биты выбора страниц, которые позволяют  обращаться к четырем страницам  будущих модификаций этого кристалла. Однако для PIC16F84 память данных существует только до адреса 02Fh. Первые 12 адресов используются для размещения регистров специального назначения. Регистры с адресами 0Ch-2Fh могут быть использованы, как регистры общего назначения, которые представляют собой статическое ОЗУ. Некоторые регистры специального назначения продублированы на обеих страницах, а некоторые расположены на странице 1 отдельно. Когда установлена страница 1, то обращение к адресам 8Ch-AFh фактически адресует страницу 0. К регистрам можно адресоваться прямо или косвенно. В обоих случаях можно адресовать до 512 регистров.

Watchdog таймер представляет  собой полностью независимый  встроенный RC генератор, который  не требует никаких внешних  цепей. Он будет работать, даже  если основной генератор остановлен, как это бывает при исполнении  команды SLEEP. Таймер вырабатывает  сигнал сброса. Выработка таких  сбросов может быть запрещена  путем записи нуля в специальный  бит конфигурации WDTE. Эту операцию  производят на этапе программирования  микросхем. 

Номинальная выдержка WDT составляет 18 мс (без использования делителя). Она зависит от температуры, напряжения питания, от особенностей типов микросхем. Если требуются большие задержки, то к WDT может быть подключен встроенный делитель с коэффициентом деления  до 1:128; который программируется  путем записи в регистр OPTION. Здесь  могут быть реализованы выдержки до 2.5 секунд. 
Команды "CLRWDT" и "SLEEP" обнуляют WDT и делитель, если он подключен к WDT. Это запускает выдержку времени сначала и предотвращает на некоторое время выработку сигнала сброс. Если сигнал сброса от WDT все же произошел, то одновременно обнуляется бит "TO" в регистре статуса (f3). В приложениях с высоким уровнем помех, содержимое регистра OPTION подвержено сбою. Поэтому регистр OPTION должен обновляться через равные промежутки времени. Следует учесть, что наихудшей комбинацией является: Vdd=min, температура=max и max коэффициент деления делителя,- это приводит к самой большой выдержке времени, она может достигать нескольких секунд.

Также в устройстве будет  использован цифро-буквенный индикатор  с высотой цифр 7,5 мм из семи сегментов с децимальной точкой АЛС324А, его графическое изображение приведено на рисунке 4.



 

 

 

 

 

 

 

 

 

 

           3.Разработка схемы электрической принципиальной


           Применение микроконтроллеров PIC16F84 приводит к резкому уменьшению размеров устройства потребляемой мощности и количества используемых элементов. При разработке устройств на микроконтроллерах разработчику электронной схемы необходимо выбрать частоту тактового генератора для поставленной задачи и следить чтобы максимальная нагрузка на порты ввода вывода не превышала допустимую.

Кристаллы PIC16F84 могут работать с четырьмя типами встроенных генераторов. Пользователь может запрограммировать два конфигурационных бита (FOSC1 и FOSC0) для выбора одного из четырех режимов: RC, LP, XT, HS. Кристаллы PIC16... могут также тактироваться и от внешних источников. Генератор, построенный на кварцевых или керамических резонаторах, требует периода стабилизации после включения питания. Для этого, встроенный таймер запуска генератора держит устройство в состоянии сброса примерно 18 мс после того, как сигнал на /MCLR ножке кристалла достигнет уровня логической единицы. Таким образом, внешняя цепочка RC , связанная с ножкой /MCLR во многих случаях не требуется. Встроенные генераторы работоспособны при определенных номиналах питающего напряжения:

Vdd

OSC mode

Max Freq

2..3V

RC

2 MHz

LP

200 kHz

3..6V

RC, XT

4 MHz

LP

200 kHz

4,5..5,5

HS

10 MHz

Информация о работе Разработка термометра на основе микроконтроллера pic 16xx