- •Содержание
- •Список сокращений
- •Введение
- •Структура микроконтроллера
- •Процессор микроконтроллера
- •Адресное пространство микроконтроллера
- •Подключение erom и eram к микроконтроллеру
- •Периферийные устройства микроконтроллера
- •Параллельные порты ввода-вывода
- •Таймер-счетчик т/с0
- •Таймер-счетчик т/с1
- •Последовательный порт
- •Контроллер прерываний
- •Система команд микроконтроллера
- •Общие сведения о языке Ассемблер для микроконтроллеров стандарта mcs-51 и о программном пакете фирмы 2500 a.D.
- •Синтаксис языка Ассемблер
- •Определители основания системы счисления
- •Макроопределения
- •Сообщения о некоторых ошибках ассемблирования
- •Рекомендуемая процедура инициализации микроконтроллера
- •Типичные применения микроконтроллеров
- •Ввод информации с датчиков
- •Опрос двоичного датчика
- •Ожидание события
- •Ожидание импульсного сигнала
- •Устранение дребезга контактов
- •Подсчет числа импульсов
- •Подсчет числа импульсов за интервал времени между двумя событиями
- •Подсчет числа импульсов за заданный промежуток времени
- •Опрос группы двоичных датчиков
- •Ввод информации с матричной клавиатуры
- •Вывод управляющих сигналов из микроконтроллера
- •Формирование статических сигналов
- •Формирование импульсных сигналов
- •Генерация меандра
- •Формирование сигнала с заданной скважностью
- •Вывод и отображение информации
- •Динамический вывод информации на дисплей из семисегментных индикаторов
- •Реализация функций реального времени
- •Программное формирование временной задержки
- •Формирование временной задержки с использованием таймеров
- •Измерение временных интервалов
- •Преобразование кодов
- •Преобразование унитарного кода в двоичный позиционный
- •Преобразование двоичного позиционного кода в унитарный
- •Преобразование кодов из одной системы счисления в другую
- •Преобразование данных из параллельного кода в последовательный и обратно
- •Цифро-аналоговое преобразование
- •Аналого-цифровое преобразование
- •Метод последовательного приближения
- •Метод двойного интегрирования
- •Операции с памятью
- •Тестирование озу
- •Программа тестирования пзу
- •Обмен данными по шине i2с
- •Общие положения и введение в логику работы шины i2с
- •Пример обмена данными по шине i2c
- •Приём данных по протоколу Centronics
- •Литература
Подключение erom и eram к микроконтроллеру
На рисунке 1.5 приведена типовая схема подключения EROM и ERAM к микроконтроллеру, на рисунках 1.6, 1.7, 1.8 – временные диаграммы сигналов при чтении байта из EROM, ERAM и записи байта в ERAM соответственно.
|
Рисунок 1.5 – Типовая схема подключения EROM и ERAM |
Рисунок 1.6 – Чтение байта из EROM |
Рисунок 1.7 – Чтение байта из ERAM |
|
Рисунок 1.8 – Запись байта в ERAM |
В таблице 1.3 приведены значения параметров, указанных на временных диаграммах.
Таблица 1.3 – Значения параметров, указанных на временных диаграммах
|
|||
Fosc, Мгц |
Чтение из EROM |
Чтение из ERAM |
Запись в ERAM |
Trd max, нс |
Trd max, нс |
Twr min, нс |
|
12 |
312 |
585 |
400 |
16–24 |
5Tosc–55 |
9Tosc–165 |
6Tosc–100 |
Параллельные порты ввода-вывода P0 и P2 при подключении к микроконтроллеру внешней памяти (EROM и ERAM) используются для выдачи шестнадцатиразрядного кода адреса, а порт Р0, кроме того, для выдачи и приема байтов данных. Младший байт кода адреса (A0–A7) выдается через порт Р0 и запоминается во внешнем регистре. Запись кода во внешний регистр выполняется при высоком уровне сигнала на выходе ALE. Старший байт кода адреса (А8–А15) выдается через порт Р2 и удерживается на выводах порта Р2 в течение всего времени обращения к внешней памяти.
Чтение байта из EROM происходит при низком уровне сигнала на выходе PSEN, чтение байта из ERAM – при низком уровне сигнала RD на выходе порта Р3.7, а запись байта в ERAM – при низком уровне сигнала WR на выходе порта Р3.6.
Контрольные вопросы
Какова емкость внутреннего ОЗУ микроконтроллера? Какая часть адресов используется только для обращения к ячейкам IRAM? К чему может привести некорректное использование старшей половины адресов?
Что означает понятие «банк регистров»? Каким образом осуществляется выбор активного банка регистров?
Номера регистров какого банка совпадают с адресами ячеек ОЗУ?
К каким ячейкам памяти из старшей половины адресов допускается поразрядное обращение?
Каков принцип работы стека LIFO?
Какой адрес соответствует дну стека при сбросе микроконтроллера?
Изменится ли значение ячейки по адресу 07H при помещении значения в стек сразу же после сброса микроконтроллера?
Что необходимо сделать для безопасного использования всех банков регистров при использовании стека?
К чему приведут загрузка в указатель стека числа 7FH и дальнейшее использование стека?
Для чего необходим регистр RG на рисунке 1.5? Возможно ли программно записать данные в этот регистр, не нарушив обращение к внешней памяти? Почему?
Чем отличается подключение внешних памяти программ и памяти данных?
Возможно ли одновременное подключение ОЗУ и ПЗУ, емкость каждой из которых 64 кБ?
Какая часть адреса удерживается в течение всего цикла обращения к памяти?