Главная страница
Навигация по странице:

  • 3е адресное пространство – внутренняя память данных

  • 13.Регистр слова состояния программы ( PSW ). Битовый процессор МК-51. Режимы работ таймеров-счетчиков МК-51 (0, 1, 2, 3). Регистр слова состояния программы (psw).

  • Формат слова состояния программы (PSW)

  • Режимы работ таймеров-счетчиков МК-51

  • Режимы работы таймеров счетчиков.

  • 14.Порты ввода-вывода МК-51. Структура прерываний МК-51. Режимы работ последовательного интерфейса МК-51. Порты ввода/вывода МК-51

  • Альтернативные функции портов.

  • Фиксатор-защелка.

  • Модуль 3. 1. Память эвм, ее характеристики. Структура памяти. Постоянные запоминающие устройства (программируемые маской, перепрограммируемые eprom, eeprom). Оперативные запоминающие устройства статического и динамического типов. Стек. Виртуальная память


    Скачать 2.32 Mb.
    Название1. Память эвм, ее характеристики. Структура памяти. Постоянные запоминающие устройства (программируемые маской, перепрограммируемые eprom, eeprom). Оперативные запоминающие устройства статического и динамического типов. Стек. Виртуальная память
    АнкорМодуль 3.docx
    Дата20.03.2019
    Размер2.32 Mb.
    Формат файлаdocx
    Имя файлаМодуль 3.docx
    ТипДокументы
    #26201
    страница6 из 12
    1   2   3   4   5   6   7   8   9   ...   12

    Первое адресное пространство – память программ


    А) только внешняя память программ



    Б) внутренняя и внешняя

    Для выполнения прогр нет разницы где она находится, либо во внутренней, либо во внешней памяти. Быстродействие одинаково, т.е. не критично. Для программиста нет никакой разницы между А и Б. Адреса внутренней и внешней памяти программ не пересекаются. МК имеет внешний вход DEMA, позволяющий отключить внутреннюю память программ (если она есть), тогда все адресное пространство отводится под внешнюю память.

    Второе адресное пространство – внешняя память данных




    3е адресное пространство – внутренняя память данных

    Внутреннее ОЗУ общим объемом 256 байт разбито на две половины: область регистров специальных функций и память данных. В свою очередь память данных содержит 4 банка регистров и область с битовой адресацией.

    Младшие адреса – память, с которой мы можем работать, допускают прямую и косвенную адресацию.

    Имеется 4 банка регистров. В каждый момент времени активным является только один банк регистров. Разбивка на банки – своего рода страничная адресация.

    В области побитовой адресации 128 битов могут быть считаны (изменены) независимо друг от друга.

    Для обращения к внутренней и внешней памяти данных используются различные команды, поэтому, не смотря на пересекающиеся адреса, конфликтов не происходит.

    ША и ШД у памяти программ и памяти данных одни и те же.

    Каждый тип внешней памяти программ и памяти данных может быть добавлен независимо от другого. Оба типа используют одни и те же шины адреса и данных, но различные сигналы управления.

    Подключение микросхем внешней памяти.



    DC – дешифратор, CS - Chip Select

    Шины 16-разрядн., исп-ся только 11 разрядов из 16-ти.

    На входы дешифратора подается двоич-й код. На одном из выходов, номер кот-го равен числу, поданному на входы, формируется сигнал активного уровня. Если выходы прямые на одном из них б. 1, на ост-х нули. Если инверсные – на одном 0, на ост-х 1. При выдаче адреса, в кот-м А11 = 0 и А12 = 0 обращение б. производиться к микросхеме ПЗУ (ROM), если А11 = 1 и А12 = 0 активизируется микросхема ОЗУ (RAM).

    Цикл работы: если мкПЦ выдает адрес:

    – с 0000h по 07FFh => б. счит-ся ПЗУ (А1112=0, вых.0 = 0)

    – с 0800h по 0FFFh => обращ-е к ОЗУ (А11=1 и А12=0, вых.1 = 0)

    Схема подключения внешних микросхем памяти к микроконтроллерам семейства MCS-51 показана на рисунке. Регистр адреса D3 на схеме предназначен для запоминания младших 8-ми бит адреса, передаваемых через шину данных/памяти, совмещенную с портом P0. Старшие восемь бит адреса передаются через шину адреса, совмещенную с портом P2. Во время передачи адреса через порт P0, микроконтроллер вырабатывает синхроимпульс на ножке ALE. Именно этот импульс позволяет запомнить младший байт адреса в регистре D3.

    Для обращения к памяти данных и к памяти программ используются одни и те же шина адреса и шина данных, но разные управляющие сигналы. Для чтения памяти программ вырабатывается сигнал PSEN, а для чтения памяти данных вырабатывается сигнал RD. Для записи информации в память данных вырабатывается сигнал WR. То есть память программ доступна только для чтения, а память данных доступна и для чтения и для записи любой информации, записанной в двоичном коде.

    Работа с внешней памятью программ разрешена лишь при низком уровне не входе EA. При этом микроконтроллер считает, что вся память программ расположена во внешней памяти. При высоком уровне сигнала на этом входе микроконтроллер реализует цикл обращения к внешней памяти программ лишь в случае, если требуемый адрес выходит за пределы внутреннего сегмента памяти программ.

    sx_proc
    13.Регистр слова состояния программы (PSW). Битовый процессор МК-51. Режимы работ таймеров-счетчиков МК-51 (0, 1, 2, 3).
    Регистр слова состояния программы (psw).
    | C | AC | F0 | RS1 | RS0 | OV | -- | P |



    С-флаг переноса

    АС-флаг доп переноса устанавливается в случае переноса (заема) из 3го разряда в 4ый (из 4го в 3ий)

    F0-флаг пользователя

    RS1, RS0 задают активный банк регистров

    OV-флаг переполнения, устанавливается в случае знакового переполнения,

    - если результат умножения >255,

    - если выполнено деление на «0».

    Р- флаг дополнения до четности.

    При выпол многих команд в АЛУ формируется ряд признаков операции, которые фиксир в регистре PSW.

    RS1

    RS0

    Банк

    Границы адресов

    0

    0

    0

    00Н-07 Н

    0

    1

    1

    08H-0FH

    1

    0

    2

    10Н-17Н

    1

    1

    3

    18H-1FH

    Наиболее "активным" флагом PSW является флаг переноса, который принимает участие и модифицируется в процессе выполнения множества операций, включая сложение, вычитание и сдвиги. Кроме того, флаг переноса (С) выполняет функции "булевого аккумулятора" в командах, манипулирующих с битами. Флаг переполнения (OV) фиксирует арифметическое переполнение при операциях над целыми числами со знаком и делает возможным использование арифметики в дополнительных кодах. АЛУ не управляет флагами селекции банка регистров (RS0, RS1), и их значение полностью определяется прикладной программой и используется для выбора одного из четырех регистровых банков.


    Таблица 3.2. Формат слова состояния программы (PSW)

    Символ

    Позиция

    Имя и назначение

    С

    PSW.7

    Флаг переноса. Устанавливается и сбрасывается аппаратурными средствами или программой при выполнении арифметических и логических операций

    АС

    PSW.6

    Флаг вспомогательного переноса. Устанавливается и сбрасывается только аппаратурными средствами при выполнении команд сложения и вычитания и сигнализирует о переносе или заеме в бите 3

    F0

    PSW.5

    Флаг 0. Может быть установлен, сброшен или проверен программой как флаг, специфицируемый пользователем

    RS1

    RSW.4

    Выбор банка регистров. Устанавливается и сбрасывается

    RS0

    PSW.3

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

    OV

    PSW.2

    Флаг переполнения. Устанавливается и сбрасывается аппаратно при выполнении арифметических операций

    .

    PSW.1

    Не используется

    Р

    PSW.0

    Флаг паритета. Устанавливается и сбрасывается аппаратно в каждом цикле команды и фиксирует нечетное/четное число единичных бит в аккумуляторе, т.е. выполняет контроль по четности




    Режимы работ таймеров-счетчиков МК-51

    Таймеры-счетчики предназначены для подсчета числа событий. В режиме таймера таким событием является машинный цикл, в режиме счетчика – изменение сигнала на внешнем входе.

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

    Состав блока:

    1) Два 16ти разрядных счетных регистра

    • Регистр режимов – TMOD

    • Регистр управления – TCON

    2) Схема инкремента

    3) Схема фиксации внешних сигналов на входах /INT0, /INT1, T0, T1

    4) 16ти разрядные счетные регистры (TCNT0 и TCNT1) состоят из пары 8ми разрядных

    TL0, TH0 – для нулевого таймера-счетчика

    TL1, TH1 – для первого таймера-счетчика

    обращение к 16ти разрядному регистру возможно только при обращении к отдельному байту.

    Таймеры-счетчики считают только на увеличение. При каждом событ содерж таймера-счетчика увелич на 1.

    Регистры TL0, TL1, TH0, TH1 доступны по чтению и записи.

    При переполнении нулевого таймера-счетчика устанавливается флаг TF0, при переполнении 1го – TF1. Эти флаги формируют запрос на прерывание. Эти флаги доступны как для чтения так и для записи.

    Регистр TMOD:

    М0.0, М0.1 – определяет один из четырех возможных режимов работы: 0й - 00, 1й - 01, 2й - 10, 3й – 11.

    С/(инверсное Т) – определяет как работает устройство

    Если С/(инверсное Т) = 1, то как счетчик

    Если С/(инверсное Т) = 0, то как таймер

    GATE – бит разрешения внешнего управления. Если бит установлен, то таймер/счетчик разрешен до тех пор, пока на входе "INTx" высокий уровень и бит управления "TRx" установлен. Если бит сброшен, то TCNT разрешается, как только бит управления "TRx" устанавливается (TMOD не допускает битовой адресации)

    Регистр TCON: (Допускает битовую адресацию) Регистр относится не только к таймерам-счетчикам, но и к внешним прерываниям.

    IT – определяет тип внешнего прерывания. Устанав/сбрасывается программно для спецификации запроса

    если IT = 1, то прерывание происходит по заднему фронту сигнала на входе /INTx

    если IT = 0, то по уровню (низкому)

    IE – флаг запроса внешних прерываний. Устанавливается аппаратно, когда детектируется срез внешнего сигнала INTx. Сбрасывается при обслуживании прерывания

    TF – флаги переполнения

    TR0, TR1 – биты разрешения счета

    Если бит = 1, то таймер-счетчик запущен

    Если бит = 0, то остановлен, т.е. находится в режиме хранения.

    Режимы работы таймеров счетчиков.

    В 0м, 1м и 2м режимах таймеры-счетчики работают одинаково и не зависимо друг от друга.

    Режим 0: Таймер-счетчик представляет собой 13ти разрядное счетное устройство. Используется 8 разрядов старшего байта и 5 младшего.

    При внутреннем управлении (GATE0 = 0) счет начинается при установке бита TR0. При внешнем управлении (GATE0 = 1) таймер-счетчик запущен, когда и TR0 = 0 и сигнал на входе /INT0 = 1.

    Режим 1: Аналогичен реж 0, отличается только тем, что используются все 16 разрядов счетного регистра.

    Режим 2: Для счета используется 8 разрядов регистра TL, при его переполнении устанавливается TF и происходит аппаратная загрузка в TL содержимого TH.

    Этот режим используется для формирования временных интервалов меньше 256 машинных циклов.

    (в ТН, рис2, или в счетчик, рис1, загружается число машинных циклов, которое не нужно, но в рис2 – аппаратно, а в рис1 – программно, следовательно в рис2 – четкий не колеблющийся интервал времени)

    Режим 3: Перевод T/С1 в 3й режим останавливает его, т.е. Т/С1 просто хранит свое состояние. Т/С0 в 3ем режиме представляет 2 независимых 8ми разрядных счетных устройства на основе TH0 и TL0.

    Устройство на основе TL0 может работать как таймер и как счетчик, при переполнении устанавливается TF0. Сохраняется вся схема управления от Т/С0.

    Устройство на основе TH0 работает только как таймер. Для его включения используется бит TR1, при переполнении устанавливается флаг TF1.

    Если Т/С0 работает в режиме 3, а Т/С1 в 0м, 1м или 2м режиме, то при GATE1 = 0 Т/С1 всегда включен, при переполнении установка флага TF1 не происходит (т.к. TF1, в этом случае, относится к другому режиму). Т/С1 аппаратно связан с блоком синхронизации последовательного интерфейса, при его переполнении вырабатывается импульс тактирования. Режим 3 для Т/С0 необходим когда требуется работа последовательного интерфейса и двух счетных устройств.

    При работе Т/С в режиме счетчика инкрементирование происходит по спаду сигнала на внешнем счетном коде.

    Режим 3 используется в тех случаях применения МК51, когда требуется наличие дополнительного 8-битного таймера или счетчика событий. Можно считать, что в режиме 3 МК51 имеет в своем составе три таймера/счетчика. В том случае, если TCNT0 используется в режиме 3, TCNT1 может быть или включен, или выключен, или переведен в свой собственный режим 3, или может быть использован последовательным портом в качестве генератора частоты передачи, или, наконец, может быть использован в любом применении, не требующем прерывания.
    14.Порты ввода-вывода МК-51. Структура прерываний МК-51. Режимы работ последовательного интерфейса МК-51.
    Порты ввода/вывода МК-51

    Имеется 4 восьмиразрядных квазидвунаправленных порта ввода/вывода Р0, Р1, Р2, Р3. (в методичке: Порт 0 является двунаправленным, а порты 1, 2 и З — квазидвунаправленными)

    Они обеспечивают обмен данными с внешними устройствами, каждый из портов может работать как порт общего назначения или выполнять специализированные альтернативные функции. Каждый порт имеет 8ми разрядный регистр, называемый фиксатором-защелкой.

    Альтернативные функции портов.

    Порт Р0:

    1. Выводится младший байт адреса при работе с внешней памятью.

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

    3. При программировании внутреннего ППЗУ (перепрограммируемые ПЗУ) вводятся данные(код прогр-мы).

    4. При чтении содержимого внутреннего ПЗУ выводятся данные.

    Порт Р1: Через Р1 задается младший байт адреса при программировании и чтении внутреннего ПЗУ.

    Порт Р2:

    1. Выводится старший байт адреса при обращении к внешней памяти.

    2. Задается старший байт адреса при программировании и чтении внутреннего ПЗУ.

    Порт Р3: Каждая линия порта Р3 имеет свою альтернативную функцию. (Обозначение: Р3.0 – нулевой разряд порта Р3)

    • Р3.0 – RxD – вход последовательного порта, предназначен для ввода последовательного кода в приемник последовательного порта.

    • P3/1 – TxD – выход последовательного порта, используется для вывода данных из передачи для последовательного порта. (Р3.0 и Р3.1 – сдвиговые регистры)

    • Р3.2 - /INT0 (инверсия INT0) – нулевой вход внешнего запроса прерывания.

    • Р3.3 - /INT1 – первый вход внешнего запроса на прерывание.

    • Р3.4 - Т0 – счетный вход нулевого таймера счетчика (Т/С01)

    • Р3.5 – Т1 – счетный вход первого таймера счетчика (Т/С1). (Р3.4 и Р3.5 – счетные регистры, построены на Т-триггерах)

    • Р3.6 - /WR – строб чтения во внешнюю память данных, по этому сигналу байт данных записывается во внешнюю микросхему ОЗУ.

    • Р3.7 - /RD – строб чтения из внешней памяти данных, по этому сигналу внешняя микросхема ОЗУ выставляет содержимое запрашиваемой ячейки на ШД.

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

    Фиксатор-защелка.

    Выполняет две задачи: выдавать и принимать данные извне.

    Каждая линия может быть использована как для выдачи так и для ввода данных. Если необходимо данные вызвать на внешний вывод, то они записываются в защелку и поступают на выход, никаких сигналов не требуется. Если необходимо считать состояние внешнего вывода, то сигнал идет на внутреннюю шину данных через регистр &.

    Фиксатор защелка выполняется на D-триггере, запись в который тактируется сигналом «запись в защелку». Этот сигнал формируется при записи данных в порт. Выход триггера через элемент & (B1) подключается к внутренней шине МК подачей сигнала «чтение защелки». Это обеспечивает возможность программного чтения содержимого триггера. Сигнал с внешнего вывода порта может быть считан через элемент & (B2) подачей внутреннего сигнала чтение внешнего вывода.

    1   2   3   4   5   6   7   8   9   ...   12


    написать администратору сайта