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

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С.


К-во Просмотров: 557
Бесплатно скачать Курсовая работа: Цифровой термометр на микропроцессоре AVR-MEGA 128