Смекни!
smekni.com

Реализация цифрового термометра на основе микроконтроллера ATmega 128 (с использовнием термодатчика DS18B20) (стр. 1 из 4)

Федеральное агентство по образованию

Государственное образовательное учреждение

Высшего профессионального образования

"Московский государственный технический университет им. Н.Э. Баумана"

Калужский филиал

Факультет электроники, информатики и управления

Кафедра "Системы автоматического управления и электротехника"

(ЭИУ3-КФ)

Расчетно-пояснительная записка к курсовой работе

на тему:

"Реализация цифрового термометра на основе микроконтроллера ATmega 128 (с использовнием термодатчика DS18B20)"

по дисциплине:

Проектирование алгоритмов и программного обеспечения

Калуга, 2009

Содержание

1. Теоретическая часть

1.1 Аннотация

1.2 Постановка задачи

1.3 Общие сведения о микроконтроллерах AVR

1.4 Основные параметры AVR

1.5 Программирование микроконтроллера с использованием программы на языке С

1.6 Передача данных на Com-порт

1.7 Вывод значений на ЖКИ

1.8 Описание температурного датчика DS18B20

1.9 Подключение датчика DS18B20 с использованием порта 1-Wire

2. Конструкторская часть

2.1 Общие сведения. Функциональное назначение используемых программ

2.2 Реализация

2.3 Запуск и выполнение

3. Список используемой литературы

Приложение

1. Теоретическая часть

1.1 Аннотация

Данный курсовой проект представляет собой термометр, реализованный на микроконтроллере AVR. Устройство может выполнять следующие действия:

определение температуры окружающей среды;

отображение температуры окружающей среды на ЖК дисплее;

отображение температуры окружающей среды в com-порт;

своевременное реагирование на изменение температуры, реализованное с помощью устанавливаемой по желанию задержки опроса;

1.2 Постановка задачи

Используя средства языка программирования необходимо создать цифровой термометр на основе микроконтроллера ATmega 128 семейства AVR. Должны выполняться действия: измерение температуры окружающей среды, вывод значений температуры на ЖК дисплей и в com-порт.

1.3 Общие сведения о микроконтроллерах AVR

Микроконтроллер - компьютер на одной микросхеме. Предназначен для управления различными электронными устройствами и осуществления взаимодействия между ними в соответствии с заложенной в микроконтроллер программой. В отличие от микропроцессоров, используемых в персональных компьютерах, микроконтроллеры содержат встроенные дополнительные устройства. Эти устройства выполняют свои задачи под управлением микропроцессорного ядра микроконтроллера.

С развитием микроэлектроники микроконтроллеры AVR получили широкое распространение в нашей жизни. Это устройства, в которых объединены процессор и периферийное оборудование. Такое объединение позволяет уменьшить массу стоимость и энергопотребление проектируемого устройства.

Типичный современный микроконтроллер имеет следующие встроенные схемы: центральное процессорное устройство (ЦПУ), память программ, оперативная память данных, тактовый генератор, цепь сброса, последовательный порт, таймер, таймер, аналого-цифровой преобразователь (АЦП). Устройства памяти включают оперативную память (RAM), постоянные запоминающие устройства (ROM), перепрограммируемую ROM (EPROM), электрически перепрограммируемую ROM (EEPROM). Таймеры включают, и часы реального времени, и таймеры прерываний. Средства I/O включают последовательные порты связи, параллельные порты (I/O линии), аналого-цифровые преобразователи (A/D), цифроаналоговые преобразователи (D/A), драйверы жидкокристаллического дисплея (LCD) или драйверы вакуумного флуоресцентного дисплея (VFD). Встроенные устройства обладают повышенной надежностью, поскольку они не требуют никаких внешних электрических цепей.

1.4 Основные параметры AVR

Основные параметры AVR:

тактовая частота до 20 МГц;

встроенный программируемый RC-генератор, частота 1, 2, 4, 8 МГц;

Flash-ПЗУ программ, программируемое в системе, 10 000 циклов перезаписи;

Энергонезависимая память данных EEPROM (100 000 циклов перезаписи);

внутреннее ОЗУ со временем доступа 1 такт;

6 аппаратных команд умножения (для семейства mega);

развитая система адресации, оптимизированная для работы с С-компиляторами;

32 регистра общего назначения (аккумулятора);

синхронный (USART) или асинхронный (UART) (в mega64 и mega128 их по 2);

синхронный последовательный порт (SPI);

двухпроводный интерфейс TWI, совместимый с интерфейсом I2C;

многоканальный PWM 8-, 9-, 10-, 16-битный ШИМ-модулятор;

10-битный АЦП с дифференциальными входами;

программируемый коэффициент усиления перед АЦП 1, 10 и 200;

встроенный источник опорного напряжения 2,56 В;

аналоговый компаратор;

сторожевой таймер - перезагружает МК при "зависании";

настраиваемая схема задержки запуска после подачи питания;

схема слежения за уровнем напряжения питания;

JTAG-интерфейс для подключения эмулятора (в МК с объемом ПЗУ от 16кбайт);

Малое энергопотребление (менее 100мкА в активном режиме на частоте 32кГц);

датчик температуры (в ATtiny25 ATtiny45 ATtiny85).

1.5 Программирование микроконтроллера с использованием программы на языке С

Таблица 1. Типы данных языка С для AVR

Тип Размер (бит) Диапазон значений
bit 1 0, 1
char 8 -128…127
unsigned char 8 0…255
signed char 8 -128…127
int 16 -32768…32767
short int 16 -32768…32767
unsigned int 16 0…65535
signed int 16 -32768…32767
long int 32 -2147483648…2147483647
unsigned long int 32 0…4294967295
signed long int 32 -2147483648…2147483647
float 32 ±1.175e-38…±3.402e38
double 32 ±1.175e-38…±3.402e38

Таблица 2. Зарезервированные слова

break else int struct
bit enum interrupt switch
case extern long typedef
char flash register union
const float return unsigned
continue for short void
default funcused signed volatile
do goto sizeof while
double if sfrw
eeprom inline static

Для вывода данных в порт используется регистр PORTx, а для ввода - PINx. Для настройки порта на выход в регистр управления необходимо записать единицу, и наоборот, для настройки на вход-ноль.

1.6 Передача данных на Com-порт

Для связи ПК и вашего устройства необходим какой-либо физический интерфейс. Очень удобен и прост интерфейс RS232 - в ПК он реализован в виде COM-портов.

Универсальный внешний последовательный интерфейс - CОМ-порт (Communications Port - коммуникационный порт) присутствует в PC начиная с первых моделей. Этот порт обеспечивает асинхронный обмен по стандарту RS-232C. СОМ-порты реализуются на микросхемах универсальных асинхронных приемопередатчиков (UART), совместимых с семейством i8250/16450/16550. Они занимают в пространстве ввода-вывода по 8 смежных 8-битных регистров и могут располагаться по стандартным базовым адресам 3F8h (СОМ1), 2F8h (COM2), 3E8h (COM3), 2E8h (COM4). Порты могут вырабатывать аппаратные прерывания IRQ4 (обычно используются для СОМ1 и COM3) и IRQ3 (для COM2 и COM4). С внешней стороны порты имеют линии последовательных данных передачи и приема, а также набор сигналов управления и состояния, соответствующий стандарту RS-232C. СОМ-порты имеют внешние разъемы-вилки (male - "папа") DB25P или DB9P, выведенные на заднюю панель компьютера. Характерной особенностью интерфейса является применение "не ТТЛ" сигналов - все внешние сигналы порта двуполярные.

Гальваническая развязка отсутствует - схемная земля подключаемого устройства соединяется со схемной землей компьютера. Скорость передачи данных может достигать 115 200 бит/с.

Название порта указывает на его основное назначение - подключение коммуникационного оборудования (например, модема) для связи с другими компьютерами, сетями и периферийными устройствами. К порту могут непосредственно подключаться и периферийные устройств с последовательным интерфейсом: принтеры, плоттеры, терминалы и другие. СОМ-порт широко используется для подключения мыши, а также организации непосредственной связи двух компьютеров. К СОМ-порту подключают и электронные ключи.

Напряжение на выходе данных из COM-порта ПК (это ножка 3 в 9-ти штырьковом разъеме) по стандарту RS232 таково:

логическая "1" от - 5 до - 15 вольт

логический "0" от +5 до +15 вольт

На самом деле сигналы в COM называются по-другому! Здесь называется "логический" по аналогии названия в МК. Для согласования напряжений и логических уровней COM-порта и USART МК используют микросхемы типа MAX232.

По линии TxD данные передаются от МК в ПК (через MAX232).

По линии RxD МК принимает данные от ПК.

Для отправки и приема данных можно использовать гипертерминал Windows или более удобные программы (мы будем использовать Терминал из состава компилятора CodeVisionAVR).

Формат представления данных в лабораторной работы мы оставим по умолчанию: 8 Data, 1 Stop, No Parity (8-битовые данные, без проверки четности, 1 стоповый бит), а скорость выберем произвольно. В этом случае на передачу одного символа (в формате 8N1 - установленном нами выше при настройке UART) тратится время в Сек:

10 разделить на скорость USART в бод/сек.