Проектирование дверных кодовых систем на базе avr микроконтроллеров

Автор работы: Пользователь скрыл имя, 29 Августа 2013 в 16:51, курсовая работа

Описание работы

Цель курсового проекта: проектирование дверных кодовых систем на базе AVR микроконтроллеров.
Задачи:
рассмотреть общие сведения о микроконтроллерах;
рассмотреть направления и тенденции развития микроконтроллеров;
рассмотреть области применения микроконтроллеров;
рассмотреть основные характеристики, структуру микроконтроллеров семейства АТ90S;
рассмотреть порты микроконтроллера;
рассмотреть систему команд АТ90S;
рассмотреть жидкокристаллические индикаторы;
рассмотреть основные характеристики алфавитно-цифровых индикаторов на основе контроллера HD44780;
рассмотреть кодировку символов на индикаторах;
разработать алгоритм и программу для микроконтроллера;
описать работу.

Файлы: 1 файл

ПРОЕКТИРОВАНИЕ ДВЕРНЫХ КОДОВЫХ СИСТЕМ.doc

— 2.72 Мб (Скачать файл)

сохраняет значения регистров, но останавливает тактовый генератор, отключая

все остальные функции  микроконтроллера, вплоть до следующего внешнего прерывания, или до аппаратной инициализации. В режиме экономии энергопотребления  «Save», тактовый генератор таймера  продолжает работать, обеспечивая пользователю функции таймера, в то время, как остальная часть устройства находится в состоянии покоя.[5, с.54]

Устройства производятся с применением технологи энергонезависимой  памяти с высокой плотностью размещения, разработанной в корпорации Atmel.

Встроенная Flash - память с поддержкой внутрисистемного программирования обеспечивает возможность перепрограммирования программного кода в составе системы,   посредством  SPI  последовательного    интерфейса,    или с помощью

 

 

стандартного программатора  энергонезависимой памяти. Благодаря совмещению усовершенствованного восьмиразрядного RISC CPU с Flash - памятью с поддержкой внутрисистемного программирования на одном кристалле получились высокопроизводительные микроконтроллеры AT90S4434/8535, обеспечивающие гибкое и экономически высокоэффективное решение для многих приложений встраиваемых систем управления.

AVR AT90S4434/8535 поддерживаются  полным набором программ и  пакетов для разработки, включая:  компиляторы С, макроассемблеры,  отладчики/ симуляторы программ, внутрисхемные эмуляторы и наборы для макетирования.[6, с.115]

1.5 Основные характеристики  МК семейства AT90S

Основные характеристики микроконтроллеров семейства AT90S:

  • производительность, приближающаяся к 1 MIPS/МГц;
  • усовершенствованная AVR RISC архитектура;
  • раздельные   шины памяти команд и данных, 32   регистра общего назначения;
  • flash ПЗУ программ, с возможностью внутрисистемного перепрограммирования и загрузки через SPI последовательный канал, 1000 циклов стирание/запись ;
  • EEPROM данных, с возможностью внутрисистемной загрузки   через SPI последовательный канал, 100000 циклов стирание/запись;
  • блокировка режима программирования;
  • встроенные аналоговый компаратор, сторожевой таймер, порты SPI и UART, таймеры/счетчики;
  • полностью статические приборы - работают при тактовой частоте от 0 до 20 МГц ;
  • диапазон напряжений питания от 2,7 до 6,0 В;

 

  • режимы энергосбережения: пассивный (idle) и стоповый (power down).

1.6 Порты микроконтроллера

Порты ввода / вывода AVR имеют независимые линии «Вход/Выход».

Каждый  разряд порта может быть запрограммирован на ввод или на вывод

информации. Мощные выходные драйверы обеспечивают токовую нагрузочную  способность 20 мА на линию порта  при максимальном значении 40 мА. Общая  токовая нагрузка на все линии  одного порта не должна превышать 80 мА. Интересная архитектурная особенность построения портов ввода/вывода у AVR заключается в том, что для каждого физического вывода существует 3 бита

 контроля/управления, а не 2 бита, как у распространенных восьмиразрядных микроконтроллеров (Intel, Microchip, Motorola и тд.).

  1. Порт А – восьмиразрядный двунаправленный порт ввода/вывода с внутренними подтягивающими резисторами. Выходные буферы порта А могут поглощать ток до 20А. Если выводы РА0-РА7 используются как входы и извне устанавливаются в низкое состояние, они являются источниками тока, если включены внутренние подтягивающие резисторы. Кроме того, вход А обслуживает аналоговые входы АЦП.
  2. Порт B - всьмиразрядный двунаправленный порт ввода/вывода.

Для обслуживания порта отведено три регистра: регистр данных PORTB, регистр направления данных - DDRB и ножки порта B - PINB. Адрес ножек порта B предназначен только для чтения, в то время как регистр данных и регистр направления данных - для чтения/записи.

Все выводы порта имеют отдельно подключаемые подтягивающие резисторы. Выходы порта B могут поглощать ток до 20 мA и непосредственно управлять светодиодными индикаторами. Если выводы PB0 - PB5 используются как входы и замыкаются на землю, если включены внутренние подтягивающие резисторы, выводы являются источниками тока (Iil).

 

  1. Порт C - восьмиразрядный двунаправленный порт ввода/вывода.

Для обслуживания порта  отведено три регистра: регистр данных PORTC, регистр направления данных - DDRC и ножки порта C – PINC. Адрес ножек порта C предназначен только для чтения, в то время как регистр данных и регистр направления данных - для чтения/записи.

Все выводы порта имеют  отдельноподключаемые подтягивающие резис-

торы. Выходы порта C могут  поглощать ток до 20 мA и непосредственно управлять светодиодными индикаторами. Если выводы PC0 - PC5 используются как входы и замыкаются на землю, если включены внутренние подтягивающие

резисторы, выводы являются источниками тока (Iil).

Дополнительные функции  порта C - аналоговые входы АЦП. Если некоторые из выводов порта сконфигурированы как выходы, во время преобразования не рекомендуется производить их переключение.

В экономичном режиме триггеры Шмитта отключаются от цифровых входов. Это позволяет удерживать на входах аналоговое напряжение Vcc/2 без заметного увеличения потребления.

  1. Порт D - восьмиразрядный двунаправленный порт ввода/вывода.

Для обслуживания порта  отведено три регистра: регистр данных PORTD, регистр направления данных - DDRD и ножки порта D – PIND. Адрес ножек

порта D предназначен только для чтения, в то время как регистр  данных и регистр направления  данных - для чтения/записи.

Все выводы порта имеют  отдельно подключаемые подтягивающие  резисторы. Выходы порта D могут поглощать ток до 20 mA и непосредственно

управлять светодиодными индикаторами. Если выводы PD0 - PD7 используются как входы и замыкаются на землю, если включены внутренние подтягивающие резисторы, выводы являются источниками тока (Iil).

1.7 Система команд и программирования моделей AVR

Система команд АVR включает команды арифметических и логических

 

операций,       команды      передачи        данных,       команды,        управляющие

 последовательностью выполнения  программы и команды операций  с битами. Имея 16-разрядную ячейку  памяти программ, AVR отличаются богатством своей системы команд по сравнению с другими RISC-микроконтроллерами. Для удобства написания   и анализа программ всем операциям из системы команд

помимо  двоичного кода сопоставлены мнемокоды ассемблера (символические

обозначения операций), которые используются при создании исходного текста программы. Специальные программы-трансляторы  переводят затем символические  обозначения в двоичные коды. 

На рисунке 1.2 изображена программная модель AVR-микроконтроллеров, которая представляет собой диаграмму программно доступных ресурсов AVR. Центральным блоком на этой диаграмме является регистровый файл на 32 оперативных регистра, непосредственно доступных ALU. Старшие регистры объединены парами и образуют три 16-разрядных регистра, предназначенных для косвенной адресации ячеек памяти.

 

 

Рисунок 1.2 - Программная модель AVR-микроконтроллеров.

 

 Все  арифметические и логические операции, операции ветвления, а также  часть операций работы с битами, представленные в таблице 1.1, 1.2 и 1.3,

 

 

выполняются в ALU только над содержимым оперативных регистров. Следует

 обратить внимание, что команды, которые в качестве  второго операнда имеют константу (SUBI, SBCI, ANDI, ORI, SBR, CBR), могут использовать в качестве первого операнда только регистры из второй половины регистрового файла. Команды 16-разрядного сложения с константой ADIW и вычитания константы SBIW в качестве первого операнда используют регистры R24, R26, R28, R30.

 

Таблица 1.1 – Арифметические и логические операции

 

Мнемоника

Описание

ADD 

Сложить два регистра

ADC

Сложить с переносом

ADIW

Сложить слово с константой

SUB

Вычесть два регистра

SUBI

Вычесть константу

SBIW

Вычесть слово с константой

AND

Логическое И

ANDI

Логическое И

OR

Логическое ИЛИ

ORI

Логическое ИЛИ

EOR

Исключающее ИЛИ

COM

Дополнение до 1

NEG

Дополнение до 2

SBR

Установить бит(ы) в регистр

CBR

Сбросить бит(ы) в регистр

INC

Увеличить на 1

DEC

Уменьшить на 1

CLR

Очистить регистр

SER

Установить регистр


 

 

Таблица 1.2 – Операции ветвления и их обозначения

 

Мнемоника

Описание

RJMP

Относительный переход

RCALL

Относительный вызов подпрограммы

CPSE

Сравнить, пропуск если  равно

CP

Сравнить

CPC

Сравнить с переносом

CPI

Сравнить с константой

SBRC

Пропуск если битв регистре сброшен

SBRS

Пропуск если битв регистре установлен

BRLO

Переход если меньше

BRMI

Переход если минус

BRPL

Переход если плюс

BRGE

Переход если больше или  равно, со знаком

BRLT

Переход если меньше нуля, со знаком

BRIE

Переход если разрешены  прерывания

BRID

Переход если запрещены  прерывания


 

 

 Таблица 1.3 – Операции работы с битами

 

Мнемоника

Описание

SBI

Установить бит в  регистр ввода/вывода

CBI

Сбросить   бит в  регистр ввода/вывода

LSL

Логический сдвиг влево

LSR

Логический сдвиг вправо

ROL

Сдвиг влево через C

ASR

Арифметический сдвиг  вправо

BSET

Установить флаг


 

 

Продолжение таблицы 1.3

 

Мнемоника

Описание

BCLR

Сбросить флаг

SEC

Установить перенос

WDR

Сброс сторожевого таймера


 

1.8 Жидкокристаллические индикаторы

Для вывода информации на ЖКИ экран  существует масса приемов и способов. Самый простой из них - это использование  индикатора со встроенным контроллером вывода информации, представленный на рисунке 1.3. На основе кристалла HITACHI или POWERTIP предлагает широкий ассортимент индикаторов. Кстати, подобные индикаторы выпускает так же и SANYO. Система команд и принцип подключения достаточно простой. Главное - это усвоить, что есть возможность подключать как по восьмибитной шине, так и по четырехбитной.

 

 

 

 

Практически любое микроконтроллерное устройство имеет те или иные устройства индикации. Появление модулей ЖКИ со встроенными контроллерами

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

 

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

Основные характеристики:

  • разнообразие моделей от 8 х 1 до 40 х 4 с размером по высоте до

14.5 мм;

  • встроенный контроллер HD44780 или эквивалентный ему;
  • шрифт: стандартный (латинский);
  • технология исполнения: Twisted Nematic (TN) и Supertwist (STN);
  • тип дисплея: негативный, позитивный;
  • варианты подсветки: светодиодная LED, и электролюминесцентная EL;
  • цвет индикатора: жёлто-зелёный и серо-голубой;
  • рабочий диапазон температур: нормальный (от 0 до плюс 50 °С), расширенный (от минус 20 до плюс 70°С);
  • угол обзора: сверху-вниз (12:00), снизу-вверх (6:00).

Информация о работе Проектирование дверных кодовых систем на базе avr микроконтроллеров