Автор: Пользователь скрыл имя, 09 Марта 2013 в 13:31, курсовая работа
За последние десятилетия электронная промышленность развивалась опережающими темпами в сравнении с любой другой отраслью. Появление недорогих интегральных схем высокой и сверхвысокой степени интеграции, ориентированных на решение всевозможных задач, позволило разработать принципиально новые подходы к проектированию электронных устройств. Появившийся в конце 70-хг. XX века новый класс полупроводниковых приборов, являющихся полностью укомплектованной управляющей ЭВМ на одном кристалле, вызвал настоящую революцию в мире электроники. Подобные устройства получили название микроконтроллеров (в русскоязычной литературе микроконтроллеры достаточно часто называют однокристальными ЭВМ – ОЭВМ) и нашли широкое применение в системах управления различными объектами в реальном масштабе времени.
ВВЕДЕНИЕ…………………………………………………………………….3
МИКРОКОНТРОЛЛЕР PIC16F62X…………………………………...4
2. ТЕРМОМЕТР НА PIC16F62X………………………………………...10
2.1. Программа цифрового термометра…………………………………14
ЗАКЛЮЧЕНИЕ……………………………………………………………….31
ЛИТЕРАТУРА………………………………...................................................32
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ “ГРОДНЕНСКИЙ
ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИМЕНИ ЯНКИ КУПАЛЫ”
ФИЗИКО - ТЕХНИЧЕСКИЙ ФАКУЛЬТЕТ
Кафедра ИСиТ
Курсовая работа по предмету
” Микропроцессорная техника”
ТЕРМОМЕТР НА PIC КОНТРОЛЛЕРЕ
Специальность “ Промышленная электроника ”
Автор работы
Студент 4 курса, 2 группы Ванцовский А.Г.
Руководитель
Ст.преподаватель
Гродно 2010
СОДЕРЖАНИЕ
ВВЕДЕНИЕ…………………………………………………………
2. ТЕРМОМЕТР НА PIC16F62X………………………………………...10
2.1. Программа цифрового термометра…………………………………14
ЗАКЛЮЧЕНИЕ……………………………………………………
ЛИТЕРАТУРА………………………………........
ВВЕДЕНИЕ
За последние десятилетия электронная промышленность развивалась опережающими темпами в сравнении с любой другой отраслью. Появление недорогих интегральных схем высокой и сверхвысокой степени интеграции, ориентированных на решение всевозможных задач, позволило разработать принципиально новые подходы к проектированию электронных устройств. Появившийся в конце 70-хг. XX века новый класс полупроводниковых приборов, являющихся полностью укомплектованной управляющей ЭВМ на одном кристалле, вызвал настоящую революцию в мире электроники. Подобные устройства получили название микроконтроллеров (в русскоязычной литературе микроконтроллеры достаточно часто называют однокристальными ЭВМ – ОЭВМ) и нашли широкое применение в системах управления различными объектами в реальном масштабе времени.
Несмотря на огромное количество разнообразной литературы, посвященной микроконтроллерам, ее использование начинающими конструкторами затруднительно, вследствие несистематизированного изложения материала и частого применения нестандартных обозначений.
PIC — микроконтроллеры Гарвардской архитектуры, производимые американской компанией Microchip Technology Inc. Название PIC является сокращением от Peripheral Interface Controller, что означает «периферийный интерфейсный контроллер». Название объясняется тем, что изначально PIC предназначались для расширения возможностей ввода-вывода 16-битных микропроцессоров CP1600.
В номенклатуре Microchip Technology Inc. представлен широкий спектр 8-и, 16-и и 32-битных микроконтроллеров и цифровых сигнальных контроллеров под маркой PIC. Отличительной особенностью PIC-контроллеров является хорошая преемственность различных семейств. Это и программная совместимость (единая бесплатная среда разработки MPLAB IDE, С-компиляторы от GCC), и совместимость по выводам, по периферии, по напряжениям питания, по средствам разработки, по библиотекам и стекам наиболее популярных коммуникационных протоколов. Номенклатура насчитывает более 500 различных контроллеров со всевозможными вариациями периферии, памяти, количеством выводов, производительностью, диапазонами питания и температуры и т. д.
1.МИКРОКОНТРОЛЛЕР PIC16F62X
18-выводные FLASH микроконтроллеры PIC16F62X входят в состав распространенного семейства PICmicro PIC16CXX. Микроконтроллеры этого семейства имеют 8-разрядную, высокопроизводительную и полностью статическую RISC архитектуру.
Рис.1.1. Расположение выводов.
PIC16F62X имеют 8-уровневый аппаратный стек и большое количество внутренних и внешних прерываний. В гарвардской архитектуре RISC ядра микроконтроллера разделены 14-разрядная память программ и 8-разрядная память данных. Такой подход позволяет выполнять все инструкции за один машинный цикл, кроме команд ветвления, которые выполняются за два машинных цикла. Ядро микроконтроллеров поддерживает 35 простых в изучении, но очень эффективных инструкций. Дополнительные регистры управления и архитектурные новшества позволяют создавать высокоэффективные устройства.
По сравнению с 8-разрядными микроконтроллерами этого класса, при использовании PIC16F62X выигрыш в эффективности использования памяти программ достигает 2:1, а в производительности 4:1.
Специальные особенности
микроконтроллеров PIC16F62X позволяют
сократить число внешних
Энергосберегающий режим SLEEP, позволяет эффективно использовать микроконтроллеры в устройствах с питанием от батареек или аккумуляторов. Выход из режима SLEEP происходит при возникновении внешних, некоторых внутренних прерываниях и сбросе микроконтроллера. Высоконадежный сторожевой таймер WDT с собственным внутренним RC генератором предотвращает «зависание» программы.
Микроконтроллеры PIC16F62X удовлетворяют ряду параметров для их использования от зарядных устройств до удаленных датчиков с малым потреблением электроэнергии. FLASH технология и большое количество периферийных модулей, совместимых с предыдущими микроконтроллерами, позволяют быстро и удобно разрабатывать программное обеспечение. Высокая производительность, малая стоимость, легкость в использовании и гибкость портов ввода/вывода – делают PIC16F62X универсальными микроконтроллерами.
В таблице 1.1. сведены основные характеристики микроконтроллеров PIC16F62X.
Таблица 1.1.
На рисунке 1.2. представлена структурная схема микроконтроллеров PIC16F62X.
Рис.1.2. Структурная схема микроконтроллеров PIC16F62X.
Микроконтроллеры PIC16F62X удовлетворяют ряду параметров для их использования от зарядных устройств до удаленных датчиков с малым потреблением электроэнергии. FLASH технология и большое количество периферийных модулей, совместимых с предыдущими микроконтроллерами, позволяют быстро и удобно разрабатывать программное обеспечение. Высокая производительность, малая стоимость, легкость в использовании и гибкость портов ввода/вывода – делают PIC16F62X универсальными микроконтроллерами.
Высокая эффективность микроконтроллеров PIC16F62X достигается за счет архитектуры ядра, подобная архитектура обычно используемой в RISC микропроцессорах. В PIC16F62X используется Гарвардская архитектура с раздельными шинами доступа к памяти программ и памяти данных, в отличие от традиционных систем, в которых обращение к памяти программ и данных выполняется по одной шине.
Разделение памяти программ и памяти данных позволяет использовать не 8-разрядные команды или кратные разрядности шины данных. Все команды микроконтроллера 14-разрядные однословные. По 14-разрядной шине доступа к памяти программ выполняется выборка кода за один машинный цикл. Непрерывная работа ядра микроконтроллера по выборке и выполнению кодов программы дает возможность выполнять все команды за один машинный цикл (200нс @ 20МГц), кроме команд ветвления. Ядро микроконтроллеров поддерживает 35 высокоэффективных команд.
В таблице 1.2. представлен объем FLASH памяти программ, памяти данных (ОЗУ) и EEPROM памяти данных.
Таблица1.2.
В PIC16F62X адресовать память данных можно непосредственно или косвенно. Все регистры специального назначения отображаются в памяти данных, включая счетчик программ. PIC16F62X имеет ортогональную систему команд, что дает возможность выполнить любую операцию с любым регистром памяти данных, используя любой метод адресации. Это облегчает написание программ для микроконтроллеров PIC16F62X и снижает общее время разработки устройства.
Микроконтроллеры PIC16F62X содержат 8-разрядное АЛУ (арифметико-логическое устройство) с одним рабочим регистром W. АЛУ выполняет арифметические и булевы операции между рабочим регистром и любым регистром памяти данных. Основными операциями АЛУ являются: сложение, вычитание, сдвиг и логические операции. В командах с двумя операндами один операнд всегда рабочий регистр W, а второй операнд регистр памяти данных или константа. В командах с одним операндом используется регистр W или регистр памяти данных.
В микроконтроллерах PIC16F62X существует два типа памяти данных:
Назначение выводов микроконтроллеров сведено в таблицу 1.3.
2.ТЕРМОМЕТР НА PIC16F62X
В последнее
время конструирование цифровых
термометров очень популярно. Применение
микроконтроллеров (МК) и современных
датчиков температуры позволяет
упростить подобные устройства до предела.
Однако цифровые термометры с питанием
от сети — явно не лучший вариант для портативного
прибора, которым пользуются всего несколько
раз в сутки.
Для отображения показаний радиолюбители
применяют в термометрах либо светодиодные
индикаторы, потребляющие довольно большой
ток и, следовательно, неоптимальные при
батарейном питании, либо дорогостоящие
ЖКИ со встроенным контроллером. Между
тем существуют дешевые ЖКИ без контроллера,
например ИЖЦ5-4/8. При правильном подходе
к разработке схемы их использование лишь
немного ее усложняет. Уменьшить габариты
экономичного прибора можно за счет питания
от одного гальванического элемента.
Имеет значение
и выбор датчика температуры. Использовать
p-n переход полупроводникового прибора,
терморезистор или прецизионный аналоговый
датчик, дающий пропорциональное температуре
напряжение, нерационально, так как требуется
аналого-цифровое преобразование. Из датчиков
с цифровым выходом распространены приборы
серии DS18Х2Х с однопроводным интерфейсом
1-Wire. Они компактны и в принципе допускают
параллельное подключение неограниченного
числа датчиков к одному проводу (точнее
к двум, считая общий). Однако программная
реализация однопроводного интерфейса
довольно сложна.
Для измерения температуры в быту лучше
использовать датчики с интерфейсом I2C.
Они не менее компактны, а многие можно
соединять до восьми в параллель. Программно
интерфейс I2С гораздо проще однопроводного.
В предлагаемом термометре реализованы
все изложенные идеи.
Как видно из приведенной на
рис.2.1. схемы, применен микроконтроллер
PIC16F628 — более совершенный, чем PIC16F84A, и
дешевле последнего. Датчик температуры
— DS1631 с интерфейсом I2С. Его погрешность ±0,5 °С в интервале
температуры 0...+70 °С. В остальных участках
интервала -55...+125 СС она не превышает ±1°С.
Помимо прямого назначения, датчик DS1631
может служить узлом управления термостатом
с программируемыми значениями температуры
включения и выключения нагревателя, причем
сделанные установки хранятся в энергонезависимой
памяти датчика. Точность преобразования
"температура—число" можно программно
изменять от 9 до 12 двоичных разрядов. В
зависимости от заданной точности длительность
измерительного цикла составит 93,75.. .750
мс. Завершив его, датчик DS1631 автоматически
переходит в режим пониженного энергопотребления,
из которого его выводит только очередная
команда, полученная по интерфейсу I2С.
Рис.2.1.Принципиальная схема цифрового термометра
С помощью стабилизированного
преобразователя постоянного
В МАХ1674 предусмотрен
встроенный компаратор. На вывод 2 (LBI) —
его не инвертирующий вход — подано входное
напряжение. На инвертирующем входе компаратора
— образцовое напряжение 1,3 В от внутреннего
стабилизатора, его можно измерить, на
выводе 4 (REF). С помощью дополнительных
внешних резисторов порог срабатывания
компаратора можно изменить. В предлагаемом
устройстве к выходу компаратора (вывод
3. LBO) подключен светодиод HL1. Его свечение
предупреждает о необходимости заменить
элемент G1.
В термометре установлен индикатор
на жидких кристаллах ИЖЦ5-4/8 (MG1). Так как
управлять им динамически невозможно,
пришлось ввести микросхемы DD2 и DD3 — широко
известные КМОП счетчики К176ИЕ4 с встроенными
преобразователями кода. Выводя результат
измерения температуры на индикатор, микроконтроллер
DD1, прежде всего, посылает сигнал сброса
на входы R счетчиков. Затем подает на входы
С каждого из них импульсы, числом, соответствующим
выводимым цифрам.
Входы 5 счетчиков, отвечающие за полярность
их выходных сигналов, соединены с подложкой
индикатора, на которую с вывода 18 микроконтроллера
поступают прямоугольные импульсы. В итоге
напряжение на элементах индикатора тоже
импульсное, причем на тех, которые не
должны быть видны, оно синфазно напряжению
на подложке, а на видимых- противофазно
ему.
Выводы элементов
ж1 (знак "минус"), б2 и в2 (цифра 1 в разряде
сотен градусов) подключены к микроконтроллеру
напрямую. Он программно формирует сигналы
нужной для управления ими формы.
Если температуру проверяют лишь несколько
раз в сутки, нет смысла держать термометр
включенным Для повышения экономичности
предусмотрено управление его питанием
с помощью ключа на транзисторе VT1. Кратковременное
замыкание контактов кнопки SB1, подключенной
параллельно участку эмиттер—коллектор
транзистора, дает микроконтроллеру DD1
достаточно времени для запуска тактового
генератора и выполнения процедуры инициализации,
которая, в частности, устанавливает низкий
уровень на выходе RB6. Это удерживает транзистор
открытым, а термометр — включенным после
отпускания кнопки.
Завершив инициализацию, микроконтроллер
обращается к датчику температуры, переводя
его в режим девятиразрядного преобразования,
затем посыпает датчику команду начать
измерение. Через 100 мс микроконтроллер
считывает результат и преобразует полученное
значение в вид, пригодный для вывода на
индикатор. Если датчик не подключен или
неисправен, будут выведены два нуля со
знаком "минус".
По завершении загрузки
цифр результата в счетчики DD2 и DD3 на выводе
18 микроконтроллера появится напряжение
возбуждения индикатора. Еще через 3 с
программа завершит работу, предварительно
установив высокий уровень на выводе 12
микроконтроллера. Транзистор VT1 будет
закрыт, питание прибора выключено.
Таким образом, нажатие
на кнопку SB1 приводит к однократному измерению
температуры и трехсекундному отображению
результата на индикаторе. Этим обеспечена
высокая экономичность прибора.
В слове конфигурации необходимо указать,
что тактовый генератор — INTRC (RA6 и RA7 —
линии ввода-вывода), сторожевой таймер
выключен, включены таймер задержки запуска
при включении питания и узел сброса при
снижении напряжения питания. Состояние
разрядов, отвечающих за режим низковольтного
программирования и работу вывода MCLR/RA5,
в данном случае безразличны.