Конспект лекций по курсу "Микропроцессоры и микро-ЭВМ в Персональной электронике" для студентов специальности 2008

На рисунке 2.20 показано формирование машинных циклов ОЭВМ. Все машинные циклы одинаковы и состоят из 12 периодов сигнала ALE. Практически все команды выполняются за один или два машинных цикла, кроме команд умножения MUL A,B и деления DIV A,B, продолжительность выполнения которых составляет 4 машинных цикла.



 Рис. 2.20. Синхронизация ОЭВМ

1.5.4. Блок таймеров/счетчиков

В состав блока входят:

            два 16-разрядных регистра Т/С0 и Т/С1;

·        восьмиразрядный регистр режимов Т/С (TMOD);

·        восьмиразрядный регистр управления (TCON);

·        схема инкремента;

·        схема фиксации INT 0, INT 1, T0, T1;

·        схема управления флагами;

·        логика управления Т/С.

Режим работы каждого Т/С определяется значением битов М0, М1 в регистре TMOD. Т/С 0 и Т/С 1 имеют 4 режима работы:

·        режим 0 (М0=0, М1=0) – Т/С представляет собой устройство на основе 13-разрядного регистра, функцию делителя на 32 выполняют регистры TL0, TL1,

·        режим 1 (М0=0, М1=1) – аналогичен режиму 0 отличие в том, что данный режим превращает Т/С в устройство на основе 16-разрядного регистра,

·        режим 2 (М0=1, М1=0) – Т/С представляет собой устройство на основе 8-разрядного регистра,

·        режим 3 (М0=1, М1=1) – Т/С 1 в режиме 3 заблокирован и просто сохраняет свой счет (значение кода в регистре Т/С). Т/С 0 представляет собой 2 независимых устройства на основе 8-разрядных регистров TL0, TH0. Устройство на основе TL0 может работать только в режиме таймера.

Во всех режимах, кроме режима 2, после переполнения Т/С счет продолжается с величины 00H, если Т/С не выключить с помощью битов TR0, TR1 или входов INT0, INT1.

Оба счетчика могут работать в двух режимах:

·        внутренний таймер, когда на вход счетчика подается сигнал с внутреннего тактового генератора (частота сигнала Fкв/12).

·        счетчик событий,  когда на вход счетчика подается  внешний сигнал  с вывода T0 (для  Т/С0), T1 ( для  Т/С1).

Переключение режимов производится установкой битов  C/T0, C/T1 в управляющем регистре TMOD.

Программирование таймеров-счетчиков сводится к установке их режимов (установке соответствующих битов в регистре TMOD) и  запуска счетчика установкой соответствующего бита в регистре TCON. Причем надо учитывать, что TCON допускает побитовую адресацию (т.е. в командах можно обращаться непосредственно к определенному биту), а TMOD не допускает побитовую адресацию (т.е. для установки соответствующего бита надо записывать в регистр целый байт с определенным значением требуемых битов). В табл. 2.2 указаны биты для управления таймерами.

Таблица 2.2

 Регистр TMOD = 89H

Gate1

C/T1

M11

M01

Gate0

C/T0

M10

M00


Бит

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

Назначение бита

Доступ к биту

0,1

М00, М10

Биты режима для таймера 0

Программно

2

C/T0

C/T0 = 0 – режим таймера,

= 1 – режим счетчика событий (сигнал со входа Т0; для таймера 0)

Программно

3

Gate0

Gate0 = 1 – запуск таймера 0, если на входе INT0 =1 и флаг TR0=1 в регистре TCON,

Gate0 = 0 – запуск таймера 0, если флаг TR0=1 в регистре TCON,

Программно

4,5

М01, М11

Биты режима для таймера 1

Программно

6

C/T1

C/T1 = 0 – режим таймера,

= 1 – режим счетчика событий (сигнал со входа Т1; для таймера 1)

Программно

7

Gate1

Gate1 = 1 – запуск таймера 1, если на входе INT1 =1 и флаг TR1=1 в регистре TCON,

Gate1 = 0 – запуск таймера 1, если флаг TR1=1 в регистре TCON,

Программно



Регистр TCON = 88H

TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0


Бит

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

Назначение бита

Доступ к биту

0

IT0

Бит управления типом прерывания 0. Если IT0 = 1 – запуск прерывания по фронту, IT0 = 0 - запуск прерывания по низкому уровню

Программно

1

IE0

Флаг прерывания 0. Устанавливается аппаратно при обнаружении прерывания 0, сбрасывается при обслуживании прерывания.

Аппаратно

2

IT0

Бит управления типом прерывания 1. Если IT1 = 1 – запуск прерывания по фронту, IT1 = 0 - запуск прерывания по низкому уровню

Программно

3

IE1

Флаг прерывания 1. Устанавливается аппаратно при обнаружении прерывания 1, сбрасывается при обслуживании прерывания.

Аппаратно

4

TR0

Флаг управления запуском таймера 0. При программной установке – происходит запуск таймера, при программном сбросе – останов.

Программно

5

TF0

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

Аппаратно

6

TR1

Флаг управления запуском таймера 1. При программной установке – происходит запуск таймера, при программном сбросе – останов.

Программно

7

TF1

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

Аппаратно

2.5.5.Блок последовательного интерфейса и прерываний (ПИП)

В состав блока ПИП входят:

·                буфер ПИП, обеспечивающий побайтовый обмен информацией между внутренней магистралью данных и шиной ПИП;

·                логика управления ПИП, предназначенная для выработки сигналов управления, обеспечивающих режимы работы последовательного интерфейса и организации прерывания программ;

·                регистр управления (SCON), предназначенный для приема и хранения кода восьмибитового слова, управляющего последовательным интерфейсом;

·                буфер передатчика, предназначен для приема с шины ПИП параллельной информации и выдачи её в виде последовательного потока символов на передатчик последовательного порта;

·                буфер приёмника, предназначен для приема данных в виде последовательного потока символов с последовательного порта, преобразования их в параллельный вид, хранения и выдачи в параллельном виде на внутреннюю шину ПИП;

·                регистр разрешения прерываний (IE), предназначенный для разрешения или запрещения прерываний от соответствующих источников.

Последовательный интерфейс МК-51 может работать в следующих режимах:

            режим 0. Информация передается и принимается через вход приемника RxD. Через выход передатчика TxD выдаются импульсы синхронизации. Формат посылки-8 бит. Частота приема и передачи – fкв /12, где fкв – тактовая частота ОЭВМ,

·        режим 1. Информация передается через выход передатчика TxD, а принимается через вход приёмника RxD. Формат посылки – 10 бит. Частота приема/передачи задается таймером Т/С1.

·        режим 2. Информация передается через выход передатчика TxD, а принимается через вход приемника RxD. Формат посылки – 11 бит. Частота приема/передачи задается программно и может быть равна fкв /32 или fкв /64.

·        режим 3. Идентичен режиму 2 за исключением частоты приема/передачи, которая задается Т/С1.

Система прерывания имеет 5 источников прерывания (в скобках указывается адрес ПК, куда передается управление, когда возникает прерывание, т.е. адрес подпрограммы обслуживания):

·                Внешнее прерывание с входа INT0 (0003H),

·                Встроенный таймер-счетчик 0 (000BH),

·                Внешнее прерывание с входа INT1 (00013H),

·                Встроенный таймер-счетчик 1 (0001BH),

·                Прерывание от последовательного порта (00023H).

Управление системой прерывания осуществляется с помощью регистров IE (адрес A8H) и IP (адрес B8H). В табл. 2.3 указаны значения этих битов управления. Регистр IE управляет разрешением прерывания от какого-либо источника, а IP – приоритетом прерывания при одновременном приходе запросов от нескольких источников. Различают 5 уровней приоритета от самого высшего (он указан первым в предыдущем списке источников), до самого низшего (самая последняя строка в списке). Кроме этих уровней регистр IP устанавливает высокий или низкий приоритет внутри каждого уровня в указанном списке. Дело в том, что текущее прерывание может быть прервано только запросом от источника, приоритет которого выше по списку и установлен битом в регистре IP в высокий уровень. При других условиях запрос игнорируется.

 Таблица 2.3

 Регистр IE = A8H

EA

-------

-------

ES

ET1

EX1

ET0

EX0


Бит

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

Назначение бита

Доступ к биту

0

EX0

Бит  разрешения/ запрещения прерывания  0. Устанавливается программно для разрешения прерывания по входу INT0

Программно

1

ET0

Бит  разрешения/ запрещения прерывания от таймера/счетчика. Устанавливается программно для разрешения прерывания от таймера/счетчика 0.

Программно

2

EX1

Бит  разрешения/ запрещения прерывания  1. Устанавливается программно для разрешения прерывания по входу INT1

Программно

3

ET1

Бит  разрешения/ запрещения прерывания от таймера/счетчика. Устанавливается программно для разрешения прерывания от таймера/счетчика 1.

Программно

4

ES

Бит  разрешения/ запрещения прерывания от последовательного порта. Устанавливается программно для разрешения прерывания по флагам TI, RI.

Программно

7

EA

Флаг разрешения/запрещения всех прерываний. При установке разрешает те прерывания, флаги которых в данном регистре установлены, при сбросе запрещает сразу все прерывания

Программно

Регистр IP = B8H

------

-------

-------

PS

PT1

PX1

PT0

PX0


Бит

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

Назначение бита

Доступ к биту

0

PX0

Бит  приоритета прерывания  0. Устанавливается/сбрасывается программно для определения уровня приоритета ( высокий/низкий) по входу INT0

Программно

1

PT0

Бит  приоритета прерывания от таймера/счетчика 0 . Устанавливается/сбрасывается программно для определения уровня приоритета (высокий/низкий) прерывания от таймера/счетчика 0.

Программно

2

PX1

Бит  приоритета прерывания  1. Устанавливается/сбрасывается программно для определения уровня приоритета ( высокий/низкий) по входу INT1

Программно

3

PT1

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

Программно

4

PS

Бит  приоритета прерывания от  последовательного порта. Устанавливается/сбрасывается программно для определения уровня приоритета (высокий/низкий) прерывания

Программно

2.5.6. Регистр состояния (PSW)

Регистр состояния программы (PSW) предназначен для хранения информации о состоянии АЛУ при выполнении программы. Обозначение разрядов регистра и их назначение приведены в таблицах 2.4 и 2.5.

Таблица 2.4


Таблица 2.5


 

2.6. Система команд микропроцессора КР580ИК80А

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

По функциональному признаку все команды МП можно подразделить на три группы: команды передачи данных (из регистров МП в память, из регистра в регистр и т.д.), команды управления (команды перехода, изменения отдельных разрядов регистров, команды управления прерываниями и т.д.) и команды обработки данных (арифметические и логические операции, сдвиг и т.д.)

В зависимости от типа МП команды могут быть однобайтовыми, двухбайтовыми или трехбайтовыми (как в системе команд КР580ИК80А). Они могут иметь фиксированную длину (например, для К1801ВМ1 длина команды составляет 16 разрядов). Для микропрограммируемых МП длина микрокоманды меняется в зависимости от принятой структуры МПС (для МП К584ВМ1 длина команды управления ЦПЭ составляет 9 разрядов).

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14



Реклама
В соцсетях
бесплатно скачать рефераты бесплатно скачать рефераты бесплатно скачать рефераты бесплатно скачать рефераты бесплатно скачать рефераты бесплатно скачать рефераты бесплатно скачать рефераты