Автор работы: Пользователь скрыл имя, 03 Апреля 2011 в 15:27, курсовая работа
В данной работе используется микроконтроллер AТmega103 фирмы Atmel. Микросхема выполнена в 40-выводном корпусе, что дает безусловный выигрыш. Таким образом, микроконтроллер имеет (4 внешних порта РА ,РВ,РС и РD). Прибор обеспечивает производительность, приближающуюся к 1 МГц. Архитектура эффективно поддерживает как языки высокого уровня, так и программы на языке ассемблер. Микроконтроллер AТmega103 [3, стр.50] содержит: 4Кбайта загружаемого ПЗУ, 256 байтов СОЗУ дает возможность наращивать память данных, программируемый последовательный UART, программируемый сторожевой таймер и многое другое.
ВВЕДЕНИЕ
1 ОБЩАЯ ЧАСТЬ
1.1 Основные требования, предъявляемые к устройству
1.2 Характеристики микроконтроллера
2 ОСНОВНАЯ ЧАСТЬ
2.1 Принцип работы устройства
2.2 Разработка функциональной схемы устройства
2.3 описание электрической принципиальной схемы устройства
3 ЭКСПЕРИМЕНТАЛЬНАЯ ЧАСТЬ
3.1 Сравнение характеристик семейства PIC-контроллеров
ЗАКЛЮЧЕНИЕ
ЛИТЕРАТУРА
Литиевая батарея Bat1 обеспечивает прибор питанием. Микроконтроллер MSP430P325 (DD1) управляет всеми перечисленными элементами. Благодаря его использованию, количество элементов в схеме минимально. Основные элементы, необходимые для работы термометра АЦП, стабилизатор тока, драйвер ЖК-индикатора, аналоговый мультиплексор, таймер – в микроконтроллер.
Кнопка
SB1(ON/OFF) включает выключает термометр.
Кнопка SB2(Hold/Set) в режиме «температура»
фиксирует показания измеренной температуры
на индикаторе или включает режим непрерывного
измерения. Кнопка SB3(С/TIME) переключает
режимы работы термометра «температура/часы».
Внешнее устройство цифрового термометра
представлено на рис.5.
Рисунок5-Внешнее
устройство цифрового термометра
3Экспериментальная
часть
3.1Сравнительные
характеристики
На сравнение микроконтроллеров были взяты два микроконтроллера на базе AVR
AT90S2333 и AT90S4433 - экономичные 8-битовые КМОП микроконтроллеры, построенные с использованием расширенной RISC архитектуры AVR. Исполняя по одной команде за период тактовой частоты, AT90S2333 и AT90S4433 имеют производительность около 1MIPS на МГц, что позволяет разработчикам создавать системы оптимальные по скорости и потребляемой мощности. В основе ядра AVR лежит расширенная RISC архитектура, объединяющая развитый набор команд и 32 регистра общего назначения. Все 32 регистра непосредственно подключены к арифметико-логическому устройству (АЛУ), что дает доступ к любым двум регистрам за один машинный цикл. Подобная архитектура обеспечивает десятикратный выигрыш в эффективности кода по сравнению с традиционными CISC микроконтроллерами. AT90S2333/4433 предлагают следующие возможности: 2кБ/4кБ загружаемой флэш памяти; 128/256 байт EEPROM; 128 байт статического ОЗУ, 20 линий ввода/вывода общего назначения; 32 рабочих регистра; настраиваемые таймеры/счетчики с режимом совпадения; внешние и внутренние прерывания; программируемый универсальный последовательный порт; 6-канальный 10-разрядный АЦП; программируемый сторожевой таймер со встроенным генератором; SPI последовательный порт для загрузки программ; два выбираемых программно режима низкого энергопотребления. Холостой режим (Idle Mode) отключает ЦПУ, оставляя в рабочем состоянии регистры, таймеры/счетчики, SPI порт и систему прерываний. Экономичный режим (Power Down Mode) сохраняет содержимое регистров, но отключает генератор, запрещая функционирование всех встроенных устройств до внешнего прерывания или аппаратного сброса. Микросхемы производятся с использованием технологии энергонезависимой памяти высокой плотности фирмы Atmel. Загружаемая флэш память на кристалле может быть перепрограммирована прямо в системе через последовательный интерфейс SPI или доступным программатором энергонезависимой памяти. Объединяя на одном кристалле усовершенствованный 8-битовый RISC процессор с загружаемой флэш памятью, AT90S2333/4433 являются мощными микроконтроллерами, которые позволяют создавать достаточно гибкие и эффективные по стоимости устройства. AT90S2333/4433 поддерживаются полной системой разработки включающей в себя компиляторы Си, макроассемблеры, программные отладчики/симуляторы, внутрисхемные эмуляторы и отладочные комплекты.
Таблица2-Описание выводов
Назначение
вывода |
Номер вывода | Номер вывода PDIP |
RESET | 29 | 1 |
PD0/RXD | 30 | 2 |
PD1/TXD | 31 | 3 |
PD2/INT0 | 32 | 4 |
PD3/INT1 | 1 | 5 |
PD4/T0 | 2 | 6 |
VCC | 4 | 7 |
GND | 5 | 8 |
XTAL1 | 7 | 9 |
XTAL2 | 8 | 10 |
PD5/T1 | 9 | 11 |
PD6/AIN0 | 10 | 12 |
PD7/AIN1 | 11 | 13 |
PB0/ICP | 12 | 14 |
PB1/OC1 | 13 | 15 |
PB2/SS | 14 | 16 |
PB3/MOSI | 15 | 17 |
PB4/MISO | 16 | 18 |
PB5/SCK | 17 | 19 |
Назначение вывода | Номер вывода | Номер вывода PDIP |
AVCC | 18 | 20 |
AREF | 20 | 21 |
AGND | 21 | 22 |
PC0/ADC0 | 23 | 23 |
PC1/ADC1 | 24 | 24 |
PC2/ADC2 | 25 | 25 |
PC3/ADC3 | 26 | 26 |
PC4/ADC4 | 27 | 27 |
PC5/ADC5 | 28 | 28 |
Продолжение таблици2
Описание
выводов микроконтроллеров
GND -
земля
Port B (PB5..PB0) - Порт B является 6-битовым двунаправленным портом ввода/вывода с внутренними подтягивающими резисторами. Выходные буферы порта B могут поглощать ток до 20мА. Если выводы PB0..PB5 используются как входы и извне устанавливаются в низкое состояние, они являются источниками тока, если включены внутренние подтягивающие резисторы. Кроме того Порт B обслуживает некоторые специальные функции, которые будут описаны ниже.
Port С
(PС5..PС0) - Порт С является 6-битовым двунаправленным
портом ввода/вывода с внутренними подтягивающими
резисторами. Выходные буферы порта С
могут поглощать ток до 20мА. Если выводы
PС0..PС5 используются как входы и извне
устанавливаются в низкое состояние, они
являются источниками тока, если включены
внутренние подтягивающие резисторы.
Кроме того Порт С обслуживает аналоговые
входы АЦП.
Port D (PD5..PD0)
- Порт D является 8-битовым двунаправленным
портом ввода/вывода с внутренними подтягивающими
резисторами. Выходные буферы порта B могут
поглощать ток до 20мА. Если выводы PD0..PD7
используются как входы и извне устанавливаются
в низкое состояние, они являются источниками
тока, если включены внутренние подтягивающие
резисторы. Кроме того Порт D обслуживает
некоторые специальные функции, которые
будут описаны ниже.
RESET - Вход сброса. Удержание на входе низкого уровня в течение двух машинных циклов (если работает тактовый генератор), сбрасывает ус-
тройство.
XTAL1 - Вход инвертирующего усилителя генератора и вход внешнего тактового сигнала.
XTAL2 - Выход
инвертирующего усилителя генератора.
AVCC - Вывод
источника питания АЦП. Этот вывод через
фильтр низкой частоты должен быть подключен
к выводу питания процессора.
AREF - Вход
опорного напряжения АЦП. Напряжение,
подаваемое на этот вывод лежит в пределах
2.7В...AVCC.
AGND - Если плата имеет отдельный слой аналоговой земли, к нему подключается этот вывод. В противном случае этот вывод соединяется с GND.
В состав
AT90S2333/4433 входит универсальный асинхронный
приемопередатчик (UART), его основные особенности:
- генерация произвольных значений скорости
- высокая скорость при низких тактовых частотах
- 8 или 9 бит данных
- фильтрация шума
- Определение переполнения
- Детектирование ошибки кадра
- Определение неверного стартового бита
- Три раздельных прерывания - завершение передачи, очистка регистра передачи и завершение приема.
- Режим мультипроцессорного обмена.
Передача данных инициируется записью передаваемых данных в регистр ввода/вывода данных UART - UDR. Данные пересылаются из UDR в сдвиговый регистр передатчика когда:
- новый
символ записывается в UDR после
того как был выдвинут
- новый символ записывается в UDR до того как выдвинут стоповый бит для предыдущего символа. При этом сдвиговый регистр записывается сразу после того, как будет выдвинут стоповый бит предыдущего символа.
При этом в регистре состояния UART - USR устанавливается бит-признак очистки регистра данных - UDRE/ Когда этот бит установлен, UART готов к приему следующего символа. При перезаписи UDR в 10(11)- разрядный сдвиговый регистр, бит 0 сдвигового регистра обнуляется (стартовый бит), а бит 9 или 10 устанавливается (стоповый бит). Если выбрано 9-битовое слово данных (установлен бит CHR9 в регистре UCR), бит TXB8 из UCR переписывается в 9-й бит сдвигового регистра передатчика.
После тактового импульса, следующего с частотой передачи, стартовый бит выдвигается на вывод TXD. Затем выдвигаются данные, начиная с младшего бита. После того как выдвинут стоповый бит, в сдвиговый регистр загружаются новые данные, если они были записаны в UDR во время передачи. При загрузке устанавливается бит UDRE. Если до выдвижения стопового бита в регистр UDR не поступают новые данные, UDRE остается установленным до последующей записи UDR. Если новые данные не поступили и на выводе TXD появляется стоповый бит, в регистре USR устанавливается флаг окончания передачи - TXC.
Установка бита TXEN в UCR разрешает работу передатчика. При очистке бита TXEN, вывод PD1 можно использовать для ввода/вывода данных. Если бит TXEN установлен, передатчик UART подключен к выводу PD1 независимо от установки бита DDD1 в регистре DDRD.
Прием данных
Логическая схема приемника обрабатывает сигнал на выводе RXD с частотой в 16 больше скорости передачи (для обработки одного бита принимаемой последовательности, производится 16 выборок входного сигнала). В состоянии ожидания одна выборка логического нуля интерпретируется как спадающий фронт стартового бита, после чего запускается последовательность обнаружения стартового бита. Если в первой выборке сигнала обнаружен нулевой отсчет, приемник обрабатывает 8, 9 и 10 выборки сигнала на выводе RXD. Если хотя бы две из трех выборок равны логической единице, стартовый бит считается шумом и приемник ждет следующего перехода из 1 в 0. Если обнаружен стартовый бит, начинается обработка бит данных. Решение об уровне данных также производится по 8, 9 и 10 выборкам входного сигнала, уровень входного сигнала определяется по равенству двух выборок. После того как уровень данных определен, данные вдвигаются в сдвиговый регистр приемника. Для определения стопового бита хотя бы две из трех выборок входного сигнала должны быть равны 1. Если это условие не выполняется, в регистре USR устанавливается флаг ошибки кадра FE. Перед чтением данных из регистра UDR пользователь должен проверять бит FE для обнаружения ошибок кадра. Независимо от принятия правильного стопового бита по окончанию приема символа принятые данные переписываются в UDR и устанавливается флаг RXC в регистре USR. Физически регистр UDR состоит из двух отдельных регистров, один используется для передачи данных, другой - для приема. При чтении UDR происходит доступ к регистру приемника, при записи - к регистру передатчика. При обмене 9-битовыми данными 9-й бит принятых данных записывается в бит RXB8 регистра UCR. Если при приеме символа из регистра UDR не был прочитан предыдущий символ, в регистре UCR устанавливается флаг переполнения - OR. Установка этого бита означает, что последний принятый байт данных не переписывается из сдвигового регистра в регистр UDR и будет потерян. Бит OR буферирован и обновляется при чтении правильных данных из UDR. Таким образом, пользователь всегда может проверить состояние OR после чтения UDR и обнаружить происшедшее переполнение. При сбросе бита RXEN в регистре UCR прием данных запрещается. При этом вывод PD0 можно использовать для ввода/вывода общего назначения. При установке RXEN, приемник подключен к выводу PD0 независимо от состояния бита DDD0 в регистре DDRD.
Режим мультипроцессорного обмена Режим многопроцессорного обмена позволяет нескольким ведомым процессорам принимать данные от ведущего. Для этого сначала декодируется адресный байт, который определяет к какому из процессоров обращается ведущий.