Лек2 (1084887), страница 2

Файл №1084887 Лек2 (Лекции по микропроцессорам) 2 страницаЛек2 (1084887) страница 22018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

Для обращения к внешней памяти данных используется только косвенная адресация с помощью регистров R0 и R1 при небольшом объёме внешней памяти данных (до 256 байт) или с помощью 16-разрядного регистра-указателя адреса внешней памяти DPTR. С его помощью можно адресоваться ко всем 64 Кбайт внешней памяти. Например, MOVX A, @R0 ; ((R0))(A) или MOVX @DPTR, A ; (A)((DPTR))

Система команд микроконтроллера 8051 позволяет использовать память программ для хранения данных, значения которых известны на этапе программирования и не должны изменяться в процессе выполнения программы. К ним относятся таблицы, тексты визуальных сообщений, константы для вычислений и т. д. Подобного рода данные хранятся в свободной области памяти программ и могут извлекаться одной из двух команд:

MOVC A, A+DPTR ;((A)+(DPTR))(A)

MOVC A, A+PC ;((A)+(PC))(A),

Первая из которых служит для извлечения только из внешней памяти программ, вторая позволяет считывать константы из внешней и внутренней памяти программ. В этих командах содержимое аккумулятора перед выполнением команды является одним из слагаемых адреса ячейки, хранящей константу, и затем после выполнения команды становится приёмником операнда. Вторым слагаемым при вычислении адреса является содержимое либо регистра – указателя адреса внешней памяти DPTR, либо счетчика команд PC.

Пример. Передать в порт Р1 первые два символа сообщения, размещённого во внешней памяти программ и начинающегося с ячейки с символическим адресом MESSAGE_1.

MOV DPTR, #MESSAGE_1 ; Запись начального адреса

MOVC A, @A+DPTR ; Извлечение символа.

MOV P1, A ; Вывод в порт

INC DPTR; Формирование адреса второго символа

MOVC A, @A+DPTR ; Извлечение второго символа

MOV P1, A ; Вывод второго символа

2.4. Функции регистров специального назначения

В базовой модели в области регистров специального назначения (128-255) размещается 21 регистр, обозначения на языке ассемблера, наименования и адреса которых представлены в таблице 2.1.

Таблица 2.1.

Обозначение

Наименование

Адрес

* АСС

Аккумулятор

0Е0Н

* В

Регистр В

0F0H

* PSW

Регистр состояния программы

0D0H

SP

Указатель стека

81Н

DPTR

Указатель данных. 2 байта:

DPL

Младший байт

82Н

DPH

Старший байт

83Н

* Р0

Порт 0

80Н

* Р1

Порт 1

90Н

* Р2

Порт 2

0А0Н

* РЗ

Порт 3

0В0Н

* IP

Регистр приоритетов прерываний

0В8Н

* IE

Регистр разрешения прерываний

0А8Н

TMOD

Регистр режимов таймера/счетчика

89Н

* TCON

Регистр управления таймера/счетчика

88Н

TH0

Таймер/счетчик 0. Старший байт

8СН

TL0

Таймер/счетчик 0. Младший байт

8АН

TH1

Таймер/счетчик 1. Старший байт

8DH

TL1

Таймер/счетчик 1. Младший байт

8ВН

* SCON

Управление последовательным портом

98Н

SBUF

Буфер последовательного порта

99Н

PCON

Управление потреблением

87Н

Примечание: Регистры, отмеченные знаком (*), допускают побитную адресацию.

Дано краткое описание функций регистров, приведенных в табл.2.1. Более подробно некоторые из них рассматриваются ниже в соответствующих разделах.

Аккумулятор А/АСС – аккумулятор. Команды, предназначенные для работы с аккумулятором, используют мнемонику "А", например, MOV A, Р2. Мнемоника "АСС" используется, к примеру, при побитовой адресации аккумулятора. Так, символическое имя пятого бита аккумулятора при использовании ассемблера ASM51 будет следующим: АСС.5. Аккумулятор является источником одного из операндов и приёмником результата в двухоперандных операциях.

Регистр В – расширитель аккумулятора, используется совместно с аккумулятором в операциях умножения и деления.

Регистр PSW – регистр слова состояния программы. Формат регистра PSW показан на рис. 2.6.

Рис.2.6. Формат регистра PSW

С – признак переноса (от Carry – перенос),

АС – признак вспомогательного переноса,

F0 – признак пользователя,

RS1, RS0– разряды, определяющие банк рабочих регистров,

ОV– признак переполнения (от английского термина OVerflow - переполнение),

F1-признак пользователя (в базовом варианте не реализован),

Р – признак паритета.

Признак переноса С устанавливается при сложении, если результат >255, при вычитании, если вычитаемое больше уменьшаемого. Признак вспомогательного переноса АС устанавливается при переносе из 3-его разряда в 4-ый. Используется только при сложении двоично-десятичных чисел.

Признакам F0 и F1– пользователь может придавать различный смысл.

Признак переполнения 0V –используется только при работе с числами со знаками. Устанавливается, если знак результата неверен (требуется коррекция).

Признак паритета Р – отражает четное или нечетное количество «1» в результате.

После операций сложения и вычитания устанавливается четыре признака: C, AC, OV и P. После логических операций устанавливается только признак P, т.к. цепи переноса отключены.

Буфер последовательного порта SBUF представляет собой два отдельных регистра: буфер передатчика и буфер приемника. Когда данные записываются в SBUF, они поступают в буфер передатчика, причем запись байта в SBUF автоматически инициирует его передачу через последовательный порт. Когда данные читаются из SBUF, они выбираются из буфера приемника.

Указатель стека (SP- Stack Pointer) представляет собой восьмиразрядный регистр, предназначенный для адресации к особой области памяти данных (стеку), в котором можно временно сохранить содержимое любой ячейки памяти. У микро-ЭВМ семейства 8051 стек «возрастающий», т.е. перед выполнением команды PUSH или CALL или по запросу прерывания, содержимое SP инкрементируется, после чего производится запись информации в стек. Соответственно, при извлечении информации из стека, регистр SP декрементируется после извлечения информации.

В процессе инициализации микро-ЭВМ, после сигнала сброса или при включении питающего напряжения, в SP заносится код 07Н. Это означает, что первый элемент стека будет располагаться в ячейке памяти с адресом 08Н. При необходимости, путем переопределения указателя стека, область стека может быть расположена в любом месте резидентной памяти данных.

Указатель внешней памяти данных DPTR содержит 16-битовый адрес внешней памяти и состоит из старшего байта (DPH) и младшего байта (DPL), которые по отдельности могут отрабатываться и пересылаться стек.

Регистры таймера. Регистровые пары (TH0, TL0) и (TH1, TL1) образуют 16-битовые счетные регистры соответственно таймера/счетчика 0 Т/С0 и таймера/счетчика 1-Т/С1.

Регистры управления таймерами/счётчиками TMOD и TCON служат для задания режима работы, запуска/останова и проверки окончания счёта таймерами/счётчиками Т/С0 и Т/С1.

Регистры управления последовательным портом SCON и PCON служат для задания режима работы, формата посылок и скорости приёма/передачи универсального синхронно-асинхронного последовательного порта.

Регистры управления прерываниями IP, IE содержат биты разрешения прерывания, запросов (флагов) прерывания и приоритетов прерываний таймеров/счетчиков, универсального синхронно-асинхронного последовательного порта и внешних источников.

2.5.Организация памяти программ

Как и у большинства микроконтроллеров, у микроконтроллеров семейства 8051, память программ и память данных являются самостоятельными и независимыми друг от друга устройствами, адресуемыми различными регистрами и управляющими сигналами. Способы адресации к памяти данных и управляющие сигналы, формируемые при обращении к внешней памяти данных, рассмотрены выше. Адресация к памяти программ всегда производится счётчиком команд, и его разрядность определяет максимальный объём памяти программ.

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

Память программ может быть внутренняя, внешняя или комбинированная.

Объем внутренней памяти программ в базовой модели равен 4 Кбайтам. (У некоторых современных микроконтроллеров объём резидентной памяти достигает 256Кбайт, разделённой на 8 секций по 32Кбайта).

Увеличение объёма памяти программ может быть достигнуто подключением внешних микросхем ПЗУ, как показано на рис.2.7.

Регистр адреса RG предназначен для запоминания младших 8-ми бит адреса, передаваемых через шину данных/адреса, организованную на базе порта Р0. Старшие восемь бит адреса передаются через P2 и остаются неизменными в течение машинного цикл.

Во время передачи адреса микроконтроллер вырабатывает строб адреса внешней памяти ALE. Именно этот импульс позволяет запомнить младший байт адреса в регистре адреса RG. (Следует отметить, что сигнал ALE вырабатывается постоянно даже при отсутствии внешней памяти и служит индикатором работоспособности микроконтроллера). При обращении к внешней памяти программ и к внешней памяти данных используются одни и те же шина адреса и шина данных, но разные управляющие сигналы.

Рис.2.7. Расширение памяти программ и памяти данных

При обращении к памяти данных, которая обозначена на рис.2.7, как «RAM», что означает Random Access Memory - память произвольного доступа источником адреса является регистр – указатель внешней памяти данных DPTR. Запись в память данных осуществляется командой MOVX @DPTR, A , по которой в порт Р0 поступает содержимое аккумулятора и одновременно вырабатывается сигнал записи WR, настраивающее внешнее ОЗУ на запись данных, установленных на информационной шине. При чтении из памяти данных командой MOVX А, @DPTR вырабатывается сигнал чтения RD, настраивающий порт Р0 на приём, а внешнее ОЗУ на считывание информации из адресуемой ячейки.

При обращении к памяти программ, обозначенной «ROM», что означает Read-Only Memory -память, доступная только для чтения источником адреса является счётчик команд (СК). Для чтения памяти программ вырабатывается сигнал PSEN, а для чтения памяти данных вырабатывается сигнал RD.

Порядок извлечения кодов из внешней и внутренней памяти зависит от уровня напряжения на входе ЕА. При ЕА=1 команды сначала извлекаются из внутренней памяти по адресам 0-4095, а затем из внешней памяти. Если ЕА=0, команды извлекаются только из внешней памяти, внутренняя память игнорируется, даже если она существует. Извлечение из внешней памяти производится по сигналу PSEN. Микроконтроллер обращается к программной памяти при чтении кода операции, используя счетчик команд PC, а также при выполнении команд переноса байта из памяти программ в аккумулятор. При выполнении команд переноса данных адресация ячейки памяти программ, из которой будут прочитаны данные, может осуществляться с использованием как счетчика PC, так и специального двухбайтового регистра-указателя данных DPTR.

Характеристики

Тип файла
Документ
Размер
1,03 Mb
Тип материала
Высшее учебное заведение

Список файлов лекций

Лекции по микропроцессорам
Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6374
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее