Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроц техника / Описание МК и стенда.doc
Скачиваний:
22
Добавлен:
10.02.2015
Размер:
1.64 Mб
Скачать

Стенд EASY8051B предназначен для использования в составе компьютерных классов.

Описание лабораторного стенда EASY8051B.

Внешний вид стенда представлен на рисунке1

Рисунок 1

Питание стенда

Стенд имеет два варианта питания: по умолчанию используется питание от USB кабеля в случае соединения стенда с РС USB кабелем. В этом случае джампер J11 должен быть установлен в правое положение «USB».

Если стенд питается от внешнего напряжения, бортовое питание +5В обеспечивает стабилизатор напряжения­ LM7805С, преобразующий постоянное или переменное напряжение (8‑16)В в постоянное напряжение +5В. Понижающий преобразователь сетевого напряжение ~ 220В подключается к входному разъему «Power Supply». При питании стенда от сети джампер J11 должен быть установлен в левое положение «EXT».

Стабилизатор напряжения.

Все элементы стенда питаются стабилизированным напряжением +5В. В качестве стабилизатора напряжения использована микросхема ­ LM7805С (рисунок 2 а). Для отвода тепла при повышенном электропотреблении она установлена на радиатор. Электрическая схема стабилизатора и внешний вид корпуса приведены на рисунке 2 б.

а б

Рисунок 2 Стабилизатор напряжения (а) и его электрическая схема (б).

Светодиоды.

Стенд имеет 32 светодиода (рисунок 3), которые подключены с портам МК и выходным портам стенда Р0, Р1, Р2, Р3 и Р4. Эти диоды ­разделены на 5 групп. Каждая группа светодиодов (кроме подключенных к Р4) состоит из 8 индикаторов и может быть разрешена/запрещена переключателем SW2. При включенном переключателе SW2 (в положении «ON») диоды разрешены и отображают состояние выходов портов микроконтроллера (МК). При выключенном переключателе SW2 светодиоды не горят, независимо от состояния выводов портов МК.

Все светодиодные диоды включаются логическим нулем, то есть для включения диода на выходе (ножке) МК должен быть логический нуль. Способ подключения светодиодных индикаторов к микроконтроллером показан на рисунке 3б

а б

Рисунок 3 Светодиоды портов Р0…Р3 стенда (а) и схема подключения к МК(б).

Кнопки лабораторного стенда.

Стенд имеет одну кнопку СБРОС и 38 кнопок для моделирования системных входов, которые подключены к ножкам портов Р0, Р1 и Р3. Графическая схема приведена на рисунке 4.

Рисунок 4.

Над каждой кнопкой написано название порта, к которому подключена кнопка. Джампер J6 определяет, к чему будет подключена кнопка (к логическому «0» или логической «1»). Если джампер подключен к 5В, при нажатии кнопки на вход порта будет поступать логическая «1»,если к 0В, то логический «0».

Переключатели

Для того чтобы иметь доступ к периферийным устройствам стенда (программировать, записывать и считывать данные), необходимо правильно установить переключатели. Все они имеют два положения «ON»- включено и «OFF» выключено. Физически они выполнены в виде джамперов J и стоек переключателей SW.

Первая группа переключателей – стойка SW1 предназначена для работы с последовательным интерфейсом SPI, RS-232, АЦП и ЦАП.

Вторая группа переключателей – стойка SW2 делится на 2 части, первые 4 переключателя (1-4) используются для подключения светодиодов к портам Р0, Р1, Р2, Р3/Р4. например, если установить переключатель PORT0 в положение OFF, все индикаторы, подключенные к Р0 гореть не будут, какие бы сигналы на них не подавали. Вторая часть переключателей отвечает за работу с семисегментными индикаторами.

Джамперы используются для подключения цепи к одной из двух других электрических цепей. Например, в стенде они часто используются для подключения выходных цепей или к напряжению питания (через «подтягивающий» резистор) или к «общему» проводу (через «понижающий» резистор).

Семисегментные индикаторы.

Дисплей с 7-сегментными индикаторами (четыре ячейки DIS0…DIS3), которые подключены к порту Р0. Совместно с портом Р1 (управляет выбором ячейки - индикатора) порт Р0 работает в мультиплексном режиме. Каждый дисплей выбирается переключателями 5, 6, 7 и 8 стойки переключателей SW2.

Аналого-цифровой преобразователь

МК AT89C8253 не имеет встроенного АЦП, поэтому, в состав стенда входит 4-х канальная 12-битная микросхема АЦП, предназначенная для чтения 4 аналоговых входов - MCP3204. Ниже приведена схема электрическая принципиальная преобразования. Для работы с АЦП переключатели 1-4 стойки переключателей SW1должны быть включены в положение «ON». Для имитации аналогового сигнала потенциометр Р3 должен быть подключен к одному из четырех аналоговых входов через джампер J9. Опорное напряжение Uref для MCP3204 может регулироваться джампером J10 от 4,096В до напряжения питания микросхемы.

Рисунок 5 Электрическая схема подключения АЦП.

Цифро-аналоговый преобразователь

МК AT89C8253 не имеет встроенного цифро-аналогового преобразователя (ЦАП), поэтому канал ЦАП организован на плате стенда (микросхема MCP4921). Для работы с ЦАП переключатели 1, 3, 5 стойки переключателей SW1 должны быть включены в положение «ON». Выходной канал ЦАП подключен к соединителю CN10,напряжение на нем может изменяться от 0 до Uref. Опорное напряжение Uref MCP4921 также регулируется джампером J10, диапазон: от 4,096В до напряжения питания.

Рисунок 6 Подключение ЦАП МСР4921

Последовательный интерфейс RS232.­

Если в работе используется СОМ-порт (RS232) переключатели 6 и 7 группы SW1 (P3.0 и P3.1) должны быть установлены в положение «on». СОМ – порт используется для программирования МК и передачи данных с компьютера (расстояние связи не должно превышать 10 м. MAX232

Жидкокристаллический матричный графический индикатор

Жидкокристаллический индикатор LCD (2 строки по 16 символов) предназначен для отображения данных, выводимых с МК по 4-хбитной шине данных. LCD позволяет выводить на экран только буквенно-цифровые сообщения

Нельзя одновременно включать LCD и GLCD, так как они используют общие сигналы управления и линии ШД.

Жидкокристаллический графический индикатор GLCD.

Жидкокристаллический графический индикатор (64x128 точек) позволяет выводить на экран не только буквенно-цифровые сообщения, но и рисунки и карты. Яркость экрана регулируется потенциометром Р1, расположенным справа от экрана.

Назначение выводов GLCD и электрические характеристики приведены в приложении:

Генератор опорного напряжения

Генератор опорного напряжения МК может работать как от внутреннего так и от внешнего генератора опорного напряжения. Внешний генератор построен на микросхеме 74HC04, сигнал с нее подается на вход МК XTAL1

Цифровой термометр

Цифровой термометр, организованный на микросхеме DS1820, предназначен для измерения температуры окружающей среды в диапазоне (-55º+125ºС) с погрешностью 0,5 º С. Микросхема устанавливается в гнедо TS1. Назначение выводов микросхемы дано на рисунке 7.

Рисунок 7

Порты ввода/вывода

Стенд имеет 5 портов ввода/вывода, каждый из которых имеет по 10 штырьков (общий, питание и 8 штырьков для сигнальных цепей). Могут использоваться для работы с внешними блоками. Каждый порт может быть подключен как к подтягивающему (к +5В) резистору, так и к понижающему (к 0В) в зависимости от требований пользователя.

Программатор и загрузчик

Все устройства являются программно-доступными для пользователя.

В стенде используется внутренний USB2.0 программатор, предназначенный для связи стенда и ПК по USB-кабелю.

Неотъемлемой частью стенда является загрузчик, предназначенный для записи пользовательской программы в стенд.

Загрузчик MikroCD позволяет работать с «железом» в режиме реального времени: загружать программу в МК и просматривать значения переменных, специальных регистров и памяти EEPROM во время выполнения программы. Может использоваться с любым компилятором ф. Микроэлектроника (mikroC, mikroBasic, mikroPascak).Загрузчик MikroCD использует для работы программатор 8051 Flash.

Основные команды работы с загрузчиком:

F9 – начать загрузку,

F6 – выполнить проект/пауза,

F5 – установить точку останова,

F4 – выполнять программу до курсора,

F7 – выполнение программы по шагам с заходом в подпрограмму,

F8 – выполнение программы по шагам без захода в подпрограмму,

F2 – очистка оперативной памяти,

Ctrl+F2 – остановить загрузку.

Теоретическое введение в МК

Основой стенда (микропроцессорной системы) является МК

Типичный сценарий работы МК:

2. При подаче питания управляющая логика останавливает все цепи кроме кварцевого генератора – генератора опорного напряжения.

3. За несколько миллисекунд напряжение достигает своего максимума и частота генератора стабилизируется, регистры SFR загружаются битами, отображающими состояния подсистем, а все выводы определяются как входные. Тактовый (опорный) генератор задает скорость работы МК и через несколько миллисекунд электроника готова к работе. С этого момента время в МК измеряется в микросекундах и наносекундах.

4. В программный счетчик записывается нулевой адрес ПЗУ (памяти, где хранится загружаемая программа). Инструкция (команда) с этого адреса принимается дешифратором команд, где она распознается, и немедленно выполняется.

5. Программный счетчик увеличивает свое значение на 1 и в счетчик записывается команда со следующего адреса ПЗУ. Цикл повторяется несколько миллионов раз в секунду до полной загрузки программы, после чего выполняется загруженная программа.

Основные понятия в микропроцессорной технике

ПЗУ (ROM) - память, из которой загружается выполняемая программа. Может быть внутренней или внешней. Внешняя память удешевляет МК и позволяет записывать более длинные программы, но ее использование уменьшает количество свободных выводов портов МК. Внутренняя ПЗУ - обычно небольшая а чип более дорогой, но больше возможностей при работе с периферией. Объем памяти, занимаемый ПЗУ (от 512 байт до 64 Кбайт), пропорционален количеству возможных программных инструкций.

ОЗУ (RАМ) используется для временного хранения данных. При выключении питания данные в ОЗУ не сохраняются. Емкость ОЗУ от десятков байт до несколько Кбайт.

ПАМЯТЬ EEPROM - специальный тип памяти доступный не всем МК. Содержимое может меняться во время работы и сохраняться после отключения питания МК.

Регистры специального назначения (SFR, РСН) часть ОЗУ, каждый из них имеет название и контролирует определенную подсистему МК Например: записывая «0» или «1» в регистр SFR, регулирующий порт ввода/вывода, можно определить каждый из этих выводов как ввод или выход (каждый бит регистра отвечает за один из выводов порта).

Программный счетчик (счетчик программ) указывает на адрес памяти команды, которая будет выполняться. После выполнения команды значение счетчика увеличивается на 1(автоинкрементируется).

Управляющая Логика включает несколько частей, наиболее важными являются:

  • Дешифратор команд - часть электроники, распознающая команды и в соответствии с ними управляющая цепями МК.

  • Арифметическое логическое устройство (ALU, АЛУ) – выполняет все математические и логические операции над данными.

  • Аккумулятор – РСН, сильно связанный с АЛУ. Предназначен для операций дополнения, сдвига и т.п. Также в нем хранятся результаты операций. Например, регистр статуса постоянно проверяет статус содержимого аккумулятора в любое время (меньше нуля, «0», больше нуля и т.п.).

Аналого-цифровой преобразователь (ADC, АЦП) Как показано ниже, А/Ц преобразование начинается с изменения бита в соответствующем РСН. Напряжение на входе измеряется (дискретизация занимает несколько микросекунд) и загружается в другой РСН в виде цифры.

Если АЦП 8- битовый и опорное напряжение – 5В, то вся шкала напряжения делится на 256 делений, минимальный шаг напряжения 19.53мВ (5В / 256 = 19.53мВ).

Порты ввода/вывода Для подключения периферии МК имеет несколько регистров (портов, которые могут быть как входами так и выходами).

Тактовый (опорный) генератор задает скорость работы МК. В качестве генератора может использоваться кварцевый кристалл или керамический резонатор.

!Важно! Инструкции выполняются с частотой в несколько раз меньше чем частота генератора. например, если используется кварцевый резонатор с частотой 20MHz, время выполнения одной команды может составлять 200, 400 или 800 нс, а не 50 нс.

Таймеры - электронные часы используются большинством программ. использует эти миниатюрные. Обычно это 8 или 16- битные регистры, чья величина автоматически возрастает за 1 тактовый импульс. Если таймер работает от внутреннего тактового генератора МК, он может использоваться для измерения времени между двумя событиями (регистрировать время в начале измерения T1, и в конце T2, интервал T2-T1). Если таймер работает от внешнего источника, то он работает как счетчик.

В обоих случаях, при достижении числа, записанного в регистр, счетчик сбрасывается и в РСН записывается бит (флаг переполнения). Это позволяет измерять более длинные периоды времени. Также, если это разрешено программой, данный флаг может вызвать прерывание выполняющая подпрограмм.

Сторожевой таймер (Watchdog Timer)

Это - таймер с вводом, подключенным к независимому генератору МК. Если сторожевой таймер сработал по переполнению, программа МК выполняется заново (как будто мощность только что была включена).

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

Стек – часть ОЗУ для хранения текущего значения счетчика программ. Запоминать его нужно для того, чтобы программа могла вернуться к той точке, где была прервана при обработке внешнего прерывания.

Цепи питания МК имеет внутреннюю и внешнюю защиту.

  • Внутренняя защита предохраняет МК от неконтролируемого поведения , вызванного помехами, колебаниями напряжений или снижением напряжения питания ниже допустимого предела. Если напряжения для высоковольтных элементов внутри МК падают ниже определенной величины, происходит принудительный «сброс» всей электроники в исходное состояние.

  • Внешний сброс – вывод «Reset» используется для "внешнего" восстановления МК (на этот вывод подается «1» или «0» в зависимости от типа МК.

Краткое описание МК AT89S8253.

В лабораторном стенде easy8051 используется 8-разрядный мк at89s8253.

AT89S8253 - маломощный, высокопроизводительный КМОП 8-разрядный МК с внутрисистемно-программируемой флэш-памятью программ и ЭСППЗУ памяти данных. Построен на основе технологии энергонезависимой памяти высокой плотности и совместим по расположению выводов и набору инструкций со стандартными промышленными МК серии MCS-51. Встроенная флэш-память перепрограммируется внутрисистемно через последовательный интерфейс SPI или с помощью программатора обычной энергонезависимой памяти.

AT89S8253 работает с использованием статической логики и поддерживает два программно выбираемых экономичных режима работы.

  • В режиме холостого хода останавливается ЦПУ, при этом продолжают работу ОЗУ, таймер-счетчики, последовательный порт и система прерываний.

  • В режиме выключения (Power-down) сохраняется содержимое ОЗУ, но останавливается генератор, отключаются все остальные функции микроконтроллера до следующего внешнего прерывания или аппаратного сброса.

Доступ к встроенной флэш-памяти и ЭСППЗУ организован через последовательный интерфейс SPI. При переводе входа сброса в активное состояние интерфейс SPI переходит в режим последовательного программирования и позволяет считать или запрограммировать память программ при условии незапрограммированности битов защиты.

Технические характеристики мк at89s8253

  • Совместимость с семейством MCS-51.

  • 12 кбайт внутрисистемно-программируемой флэш-памяти программ

- Загрузка программного кода через последовательный интерфейс SPI

- Износостойкость: 10 тысяч циклов записи/стирания.

  • 2 кбайт ЭСППЗУ памяти данных (износостойкость: 100 тысяч циклов записи/стирания).

  • 64 байтный массив сигнатуры пользователя.

  • Напряжение питания 2.7В...5.5В.

  • Полностью статическая работа в диапазоне частот 0 Гц ... 24 МГц.

  • Трехуровневая защита памяти программ.

  • Внутреннее ОЗУ с организацией памяти 256 x 8 бит.

  • 32 программируемые линии ввода-вывода.

  • Три 16-разрядных таймера-счетчика.

  • Девять источников прерываний.

  • Расширенный последовательный порт УАПП с детекцией ошибки кадра и автоматическим распознаванием адреса.

  • Расширенный последовательный интерфейс SPI (двойная буферизация чтения/записи).

  • Маломощные режимы холостого хода (Idle) и выключения (Power-down).

  • Возобновление работы в режиме выключения (Power-down) при возникновении прерывания.

  • Программируемый сторожевой таймер.

  • Два указателя данных.

  • Флаг снятия питания.

  • Гибкое внутрисистемное программирование (байтный и страничный режимы). Страничный режим: 64 байт/страницу для памяти программ, 32 байт/страницу для памяти данных.

  • Четырехуровневый расширенный контроллер прерываний.

  • Опциональное удвоение быстродействия.

  • Внутренняя схема сброса при подаче питания.

  • 42-выводной корпус PDIP для снижения электромагнитных излучений.

Структурная схема мк at89s8253

Рисунок 8. Расположение выводов МК:

Рисунок 9. Назначение выводов МК

Номер вывода

Название вывода/аль-тернативной функции

Функция вывода /альтернативная функция

Порт 1 (Р1)

выводы

1-8

Р1.0…Р1.7

Каждый из этих выводов может быть использован как ввод или выход согласно вашим потребностям, а выводы младших разрядов P1.0 и P1.1 имеют дополнительные специальные функции, связанные с работой Таймера 2.

9

Сигнал сброса (RST)

высокое логическое состояние на этом входе –«1» останавливает работу МК (сбрасывает его) и очищает все регистры. При подаче на этот вывод логического «0» программа запускается заново с первой команды (так же как и при включении питания МК). В зависимости от цели устройства и окрестностей, этот вывод подключается к кнопке ручного сброса (оператором) или с цепи автоматического сброса.

Порт 3 (Р3):

10

Р3.0…Р3.7

Р3.0/RXD

Как и Порт 1 (Р1), каждый из этих выводов может быть использован как универсальный ввод или выход. Тем не менее, каждый вывод Р3 имеет альтернативную функцию:

последовательный ввод для асинхронной связи или последовательный выход для синхронной связи.

11

Р3.1/TXD

последовательный выход для асинхронной связи или выхода тактового сигнала для синхронной связи.

12

Р3.2/INT0

ввод для прерывания 0.

13

Р3.3/INT1

ввод для прерывания 1.

14

Р3.4/T0

вход тактового сигнала счетчика 0.

15

Р3.5/T1

ввод часов счетчика 1.

16

Р3.6/WR

сигнал для записи во внешнее ОЗУ (при расширении памяти).

17

Р3.7/RD

сигнал для чтения из внешней ОЗУ.

18

19

XTAL2

XTAL1

Вход (XTAL1) и выход (XTAL2) инвертирующего усилителя внутреннего генератора. К этим выводам подключается кварцевый резонатор, задающий частоту работы МК. К обоим выводам резонатора подключаются конденсаторы (емкостью около 30 пФ. При использовании керамического резонатора рекомендуемая емкость может быть выше (от 27пФ до47 пФ).

20

GND

Заземление (земля).

Порт 2 (Р2):

21- 28

Р2.0…Р2.7

Если к выводам Р2 не подключена внешняя память они работают как универсальный ввод/выход. Если внешняя память присутствует, то на него подается старший байт адреса (A8 - A15).

ажно! Если не все 8 битов используются для адресации памяти (то есть память меньше чем 64Кб), остальная часть неиспользованных битов не доступна как ввод/выход.

29

PSEN

МК активирует этот бит (приводит в низком состоянии) при каждом чтении байта (инструкция) из программной памяти. Если для хранения программы используется внешняя ПЗУ, PSEN напрямую подключается к ее управляющим выводам.

30

ALE/PROG

Перед каждым чтением внешней памяти, МК выдает младший байт регистра адреса (A0 - A7) в порт P0 и активизирует выходной сигнал ALE. Внешний регистр запоминают состояние порта P0 , получая сигнал с вывода ALE, и использует его как часть адреса для чипа памяти. Когда ALE переводится в «0» порт P0 используется как шина данных. Таким образом порт Р0 - мультиплексированный (может использоваться для передачи адреса и данных), режим работы порта управляется сигналом ALE.

Во время программирования флэш на этот вывод поступает импульс PROG.

31

EA|VPP

Установка этого вывода в «0» (подключение к земле) определяет использование портов P2 и P3 для передачи адресов независимо от присутствия внутренней памяти. Это означает, что даже если бы программа загружалась в МК, она не будет выполняться, но будут считываться данные из внешнего ПЗУ. И наоборот, установка вывода в «1» приводит к использованию сначала внутренней памяти и только затем (если есть) внешней.

Порт 0 (Р0):

32-39

Р0.0…Р0.7

Аналогично Р2, выводы Р0 могут быть использованы как универсальный ввод/выход, если не подключена внешняя память. Если она есть, P0 ведет себя как выход младшего байта адреса (A0 - A7) когда вывод ALE – и «1», или как выход данных (ШД), когда ALE –«0».

40

VCC

Напряжение питания - 5В.