скачать рефераты

скачать рефераты

 
 
скачать рефераты скачать рефераты

Меню

Цифровой термометр на микропроцессоре AVR-MEGA 128 скачать рефераты

Цифровой термометр на микропроцессоре AVR-MEGA 128

28

Министерство образования и науки Украины

Харьковский национальный университет радиоэлектроники

Кафедра:

Курсовая работа

По курсу: “ Цифровые устройства и микропроцессоры”.

По теме: “Цифровой термометр на микропроцессоре AVR - MEGA 128”.

Выполнил : Проверил:

ст. гр. ЛОЭТ - 06-1 Аврунин О.Г

Нестеренко А.А.

Зач.кн. N7211109

Харьков

2009 г.

Техническое задание

Разработать программу для микроконтроллера АVR-Mega128, выполняющую измерение температуры (с помощью датчика температуры TMP-35) в режиме непрерывного преобразования (делитель частоты равен 128) и формирующую сигналы предупреждения с помощью блока светодиодов, если значение температуры выходит за рамки диапазона 300С<Т<400С.

Реферат

Пояснительная записка содержит: 29 страниц текста, 7 рисунков, список использованных материалов источников из 6 наименований.

Цель проекта - разработка программного продукта для измерения температуры на базе микроконтроллера АVR-Mega128.

В данной работе была разработана программа на базе микроконтроллера АVR-Mega128 для измерения температуры с помощью датчика ТМР-35. Измерения температуры производятся непрерывно. Выход значений за пределы измерения сопровождается световим сигналом.

Ключевые слова: ДАТЧИК ТЕМПЕРАТУРЫ, МИКРОКОНТРОЛЛЕР, ЖКИ, ЦИФРОВОЙ ТЕРМОМЕТР, АЛГОРИТМ РАБОТЫ.

Содержание

Список используемых сокращений

Введение

1. Структура микроконтроллера ATMega128

1.1 Назначение выводов

1.2 Организация памяти и портов ввода/вывода микроконтроллера

2. Синтез структурной схемы

3. Синтез схемы электрической принципиальной цифрового термометра

4. Разработка алгоритма работы микроконтроллера

Заключение

Список источников информации

Примечание А (Текст программы работы микроконтроллера)

Список используемых сокращений

МК - микроконтроллер;

ОЗУ - оперативное запоминающее устройство;

ПЗУ - постоянное запоминающее устройство;

ПЭВМ - персональная электронно-вычислительная машина;

ЖКИ - жидко-кристаллический индикатор;

Д - датчик температуры.

Введение

Микроконтроллеры (МК) являються серцем многих современных устройств и приборов. Самой главной особенностью МК, с точки зрения конструктора-проектировщика, является то, что с их помощью легче и зачастую гораздо дешевле реализовать различные схемы [1- ст. 5].

МК может управлять различными устройствами и принимать от них данные при минимуме дополнительных узлов, так как большое число переферийных схем уже имеется непосредственно на кристалле МК. Это позволяет уменьшить размеры конструкции и снизить потребление от источника питания [1- ст. 6].

AVR - это семейство 8-разрядных RISC-микроконтроллеров фирмы Atmel. Эти МК позволяют решить множество задач встроенных систем. Они отличаються от других распостраненных в наше время микроконтроллеров большей скоростью работы, большей универсальностью. Кроме того, они очень легко программируються. Их можно перепрограммировать до 1000 раз, причем непосредственно в собранной схеме [1- ст. 9].

Имеются 3 подсемейства МК AVR:

Tiny AVR- недорогие миниатюрные МК в 8-выводном исполнении;

Classic AVR- основная линия МК с производительностью отдельных модификаций до 16 MISP, FLASH- памятью программ 2…8 Кб, памятью данных EEPROM 64...512 байт, оперативной памятью данных SRAM 128…512 байт;

Mega AVR- с производительностью 4…16 MISP для сложных приложений требующих большого обьема памяти, FLASH- памятью программ до 128 Кб, памятью данных EEPROM 64...512 байт, оперативной памятью данных SRAM 2…4 байт, встроенным 10-разрядным 8-канальным АЦП, аппаратным умножителем 8х8.

Интересной особеннотью семейства МК является то, что система комманд всего семейства совместима при переносе программы со слабого на более мощный микроконтроллер [1- ст. 11].

1. Структура микроконтроллера ATMega128

В качестве ядра микроконтроллерной системы для измерения температуры в диапазоне 30-400С согласно техническому заданию был выбран AVR микроконтроллера типа ATMega128.

1.1 Назначение выводов

На рис.1.1 изображен корпус и приведено назначение выводов микроконтроллера. В скобках указана альтернативная функция вывода.

Рис.1.1. Вид корпуса и обозначение выводов микроконтроллера ATmega128.

Микроконтроллер ATmega128 включает следующие функциональные блоки: - 8-разрядное арифметическо-логическое устройство ( АЛУ );

- внутреннюю флэш-память программ объемом 128 Кбайт с возможностью внутрисистемного программирования через последовательный интерфейс;

- 32 регистра общего назначения;

- внутреннюю EEPROM память данных объемом 4 Кбайт;

- внутреннее ОЗУ данных объемом 4 Кбайт;

- 6 параллельных 8-разрядных портов;

- 4 программируемых таймера-счетчика;

- 10-разрядный 8-канальный АЦП и аналоговый компаратор;

- последовательные интерфейсы UART0, UART0, TWI и SPI;

- блоки прерывания и управления (включая сторожевой таймер).

Port A (PA7..PA). 8-разрядный двунаправленный порт. К выводам порта могут быть подключены встроенные нагрузочные резисторы (отдельно к каждому разряду). Выходные буферы обеспечивают ток 20 мА и способность прямо управлять светодиодным индикатором. При использовании выводов порта в качестве входов и установке внешнего сигнала в низкое состояние, ток будет вытекать только при подключенных встроенных нагрузочных резисторах. Порт А при наличии внешней памяти данных используется для организации мультиплексируемой шины адреса/данных.

Port B (PB7..PB0). 8-разрядный двунаправленный порт со встроенными нагрузочными резисторами. Выходные буферы обеспечивают ток 20 мА. При использовании выводов порта в качестве входов и установке внешнего сигнала в низкое состояние, ток будет вытекать только при подключенных встроенных нагрузочных резисторах. Порт В используется также при реализации специальных функций.

Port C (PC7..PC0). Порт С является 8-разрядным выходным портом. Выходные буферы обеспечивают ток 20 мА. Порт C при наличии внешней памяти данных используется для организации шины адреса.

Port D (PD7..PD0). 8-разрядный двунаправленный порт со встроенными нагрузочными резисторами. Выходные буферы обеспечивают ток 20 мА. При использовании выводов порта в качестве входов и установке внешнего сигнала в низкое состояние, ток будет вытекать только при подключенных встроенных нагрузочных резисторах. Порт D используется также при реализации специальных функций.

Port Е (PЕ7..PЕ0). 8-разрядный двунаправленный порт со встроенными нагрузочными резисторами. Выходные буферы обеспечивают ток 20 мА. При использовании выводов порта в качестве входов и установке внешнего сигнала в низкое состояние, вытекающий через них ток обеспечивается только при подключенных встроенных нагрузочных резисторах. Порт E используется также при реализации специальных функций.

Port F (PF7..PF0). 8-разрядный входной порт. Входы порта используются также как аналоговые входы аналого-цифрового преобразователя.

#RESET. Вход сброса. Для выполнения сброса необходимо удерживать низкий уровень на входе более 50 нс.

XTAL1, XTAL2. Вход и выход инвертирующего усилителя генератора тактовой частоты.

TOSC1, TOSC2. Вход и выход инвертирующего усилителя генератора таймера/счетчика.

#WR, #RD. Стробы записи и чтения внешней памяти данных.

ALE. Строб разрешения фиксации адреса внешней памяти. Строб ALE используется для фиксации младшего байта адреса с выводов AD0-AD7 в защелке адреса в течение первого цикла обращения. В течение второго цикла обращения выводы AD0-AD7 используются для передачи данных.

AVCC. Напряжение питания аналого-цифрового преобразователя. Вывод подсоединяется к VCC через низкочастотный фильтр.

AREF. Вход опорного напряжения для аналого-цифрового преобразователя. На этот вывод подается напряжение в диапазоне между AGND и AVCC.

AGND. Это вывод должен быть подсоединен к отдельной аналоговой земле, если она есть на плате. В ином случае вывод подсоединяется к общей земле.

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

VСС, GND. Напряжение питания и земля [2-ст.7].

1.2 Организация памяти и портов ввода/вывода микроконтроллера

Микроконтроллеры AVR имеют раздельные пространства адресов памяти программ и данных (гарвардская архитектура). Организация памяти МК ATMega128 показана на рис. 1.2.

Рис.1.2. Организация памяти микроконтроллера ?ATmega128

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

* В качестве памяти программ используется внутренняя флэш-память. Она организована в виде массива 16-разрядных ячеек и может загружаться программатором, либо через порт SPI;

* 16-разрядные память программ и шина команд вместе с одноуровневым конвейером позволяют выполнить большинство инструкций за один такт синхрогенератора (50 нс при частоте FOSC=20 МГц);

* память данных имеет 8-разрядную организацию. Младшие 32 адреса пространства занимают регистры общего назначения, далее следуют 64 адреса регистров ввода-вывода, затем внутреннее ОЗУ данных объемом до 4096 ячеек. Возможно применение внешнего ОЗУ данных объемом до 60 Кбайт;

* внутренняя энергонезависимая память типа EEPROM объемом до 4 Кбайт представляет собой самостоятельную матрицу, обращение к которой осуществляется через специальные регистры ввода-вывода.

Рис.1.3. Регистры общего назначения микроконтроллера ATmega128

Как видно из рис. 1.2 и 1.3, 32 регистра общего назначения (РОН) включены в сквозное адресное пространство ОЗУ данных и занимают младшие адреса. Хотя физически регистры выделены из памяти данных, такая организация обеспечивает гибкость в работе. Регистры общего назначения прямо связаны с АЛУ. Каждый из регистров способен работать как аккумулятор. Большинство команд выполняются за один такт, при этом из регистров файла могут быть выбраны два операнда, выполнена операция и результат возвращен в регистровый файл. Старшие шесть регистров могут использоваться как три 16-разрядных регистра, и выполнять роль, например, указателей при косвенной адресации.

Следующие 64 адреса за регистрами общего назначения занимают регистры ввода-вывода (регистры управления/состояния и данных). В этой области сгруппированы все регистры данных, управления и статуса внутренних программируемых блоков ввода-вывода. При использовании команд IN и OUT используются адреса ввода-вывода с $00 по $3F. Но к регистрам ввода-вывода можно обращаться и как к ячейкам внутреннего ОЗУ. При этом к непосредственному адресу ввода-вывода прибавляется $20. Адрес регистра как ячейки ОЗУ приводится далее в круглых скобках. Регистры ввода-вывода с $00 ($20) по $1F ($3F) имеют программно доступные биты. Обращение к ним осуществляется командами SBI и CBI, а проверка состояния - командами SBIS и SBIC [2-ст.9].

2. Синтез структурной схемы

Структурная схема для цифрового термометра приведена на рисунке 2.1.

Рисунок 2.1 - структурная схема цифрового термометра

На рисунке 2.1 показано:

ЖКИ - жидко-кристаллический индикатор;

МК - микроконтроллер;

Д- цифровой датчик температуры;

RS232С - последовательный интерфейс.

Микроконтроллер выполняет две основные функции:

производит опрос датчика температуры и сохраняет в ОЗУ значения температуры, полученные от датчика в каждом цикле опроса температуры;

по требованию компьютера, микроконтроллер отсылает в компьютер значения температуры из ОЗУ от датчика температуры.

Измеренная температура не только сохраняется, но и выводится на жидкокристаллический экран (ЖКИ). Графические возможности экрана позволяют отображать не только цифровые значения температуры, но и отображать изменения температуры во времени в виде графиков. Также микроконтроллер может сохранять не одно значение температуры, а несколько (до 20 значений).

Если значение температуры выходит за диапазон 30-400С, то микроконтроллер формирует предупреждающий сигнал с помощью светодиодов.

Кнопка производит сброс, если измеренные значения температуры выходят за значения 30-400С.

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

3. Синтез схемы электрической принципиальной цифрового термометра

В данном проекте разработан цифровой термометр с использованием микроконтроллера AVR ATMEGA128. Схема устройства представлена на чертеже ЛОЕТ.06-1.09Э3. Перечень элементов -ЛОЕТ.06-1.09 ПЭ3.

Описание схемы устройства

Прибор осуществляет измерения путём заряда конденсатора до уровня примерно равного VCC, последующего разряда его через опорный резистор с одновременным подсчётом внутренних тактов до того момента, пока на входе CIN не появится лог. «0». Далее конденсатор снова заряжается до значения, близкого к VCC и разряжается через термистор, при этом также подсчитываются тактовые импульсы. Неизвестное сопротивление резистора вычисляется как отношение числа тактов при разряде конденсатора термистором к числу тактов при разряде через опорный резистор и последующим домножением на известное значение сопротивления опорного резистора. Программа вычисляет сопротивле-ние термистора, переводит это значение в температуру, переводит её в градусы Цельсия и отображает значение на ЖКИ.

К выводам 50,51 МК подключен датчик температуры ТМР 35, представленная на рисунке 3.1

Рисунок 3.1- Микросхема TMP35

ТМР35 обеспечивает выходное напряжение, линейно изменяющееся пропорционально температуре по шкале Цельсия. TMP35 не требует внешней калибровки обеспечивая типичную точность +/-10C при +250C и +/-20C в диапазоне -400C к +1250C. Низкое выходное сопротивление TMP35 и линейность выводного напряжения и отсутствие необходимости точной калибровки упрощает его подключение к электрической схеме терморегулятора, Аналого-цифровым преобразователя. Устройства питается по двухпроводной линии от источника напряжением от 2.7 V к 5.5 V. Питающий ток имеет величину значительно ниже 50мка, обеспечивая очень низкий саморазогрев -- меньше чем 0.10C в невозмущенной атмосфере. Кроме того, заложена функция отключения обеспечивающая снижение питающего тока до величины меньше чем 0.5мка. TMP35 работает при температуре от 100C до 1250C [3]. Резисторы R12 и R13 ограничивают ток, проходящий через датчик.

К выводам 14 и 15 (PB4, PB5) микроконтроллера с помощью ограничиваю-щих резисторов R2 ? R4 подсоединяется выводами CLK и DI ЖКИ, выполненный на микросхеме НТ1611. Через ограничивающие резисторы R6, R6 к выводу VDD подводится напряжение питания от источника.

Жидкокристаллический индикатор показан на рисунке 3.2

Рисунок 3.2- Микросхема НТ1611

Если измеренные значения температуры выходят за заданные пределы, то загораютя светодиоды VD1, VD2. R9,R10 ограничивают ток, проходящий через светодиоды.

К выводым 2, 3 (РЕ0,РЕ1) микроконтроллера присоединяется микросхема MAX232C, которая позволяет производить обмен информацией с компьютером через последовательный интерфейс RS232C. Для этого задействованы выводы T1IN, T1OUT, R1IN, R1OUT. В соответствии с описанием микросхемы к выводам C1+, C1- и C2+, C2- подключаются конденсаторы С3, С4 емкостью 0,1 мкФ. Такие же конденсаторы С1, С2 для создания необходимых уровней питания подключаются к ножке 2 (Vs+) и к шине питания; к ножке 6 (Vs-) и к земле [1]. Устройство можно подключить к компьютеру с помощью разъема XР1.

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