Министерство образования и науки Украины
Харьковский национальный университет радиоэлектроники
Кафедра:
Курсовая работа
По курсу: “ Цифровые устройства и микропроцессоры”.
По теме: “Цифровой термометр на микропроцессоре 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