Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Регистр указателя стека

Структурная схема микроконтроллера 1830ВЕ51 | Блок управления | Начальная установка и режимы работы МК51 | Система команд микроконтроллера 1830ВЕ51 | Команды пересылки данных | Команды арифметических операций | Команды передачи управления | Подключение внешней памяти | Типовые структуры схем алгоритмов обработки данных | Приемы программирования |


Читайте также:
  1. В чем заключаются основные приемы регистрации ощущений? Эмпирические и феноменологические закономерности, характеризующие чувствительность.
  2. Взаимодействие между стеками протоколов
  3. Внимание! Отсутствие этих документов не позволит Вашему ребенку пройти регистрацию и выехать в лагерь!
  4. Все было кончено. Крысолов лежал, завалившись на подлокотник кресла, из его рта стекала тонкая струйка крови. Яна демонстративно дунула в глушитель и улыбнулась.
  5. Входящая и исходящая корреспонденция в первичной организации ОО «БРСМ» регистрируются в журналах учета.
  6. Глава 29. ГОСУДАРСТВЕННАЯ РЕГИСТРАЦИЯ УСЫНОВЛЕНИЯ РЕБЕНКА
  7. Государственная регистрация

Регистр указателя стека SP МК51 восьмиразрядный. Он может адресовать любую область резидентной памяти данных. В отличие от микропроцессора К580ВМ80, в МК51 стек “растет вверх”, т.е. перед выполнением команды PUSH или CALL содержимое SP инкрементируется, после чего производится запись информации в стек. Соответственно при извлечении информации из стека регистр SP декрементируется после извлечения информации. В процессе инициализации микро-ЭВМ после сигнала сброса или при включении питающего напряжения в SP заносится код 07Н. Это означает, что первый элемент стека будет располагаться в ячейке памяти с адресом 08Н.

1.1.7. Таймеры/счетчики

Таймер/счетчик (Т/С) предназначен для подсчета внешних событий, формирования программно-управляемых временных задержек и выполнения времязадающих функций МК51. В состав Т/С входят:

1. Два 16-разрядных регистра T/C0 и T/C1;

2. Восьмиразрядный регистр режимов (TMOD);

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

4. Схема инкремента;

5. Схема фиксации , , T0, T1;

6. Схема управления флагами;

7. Логика управления Т/C.

Регистры T/C0 и T/C1 состоят из пары 8-разрядных регистров. Регистр T/C0 состоит из ТН0 и ТL0, а регистр T/C1 - ТН1 и ТL1. Регистры ТН0 и ТН1 - старшие, а ТL0 и ТL1 - младшие. Каждый 8-разрядный регистр имеет свой адрес и может использоваться как РОН, если Т/С не используются.

Код величины начального счета заносится в Т/C программно. В процессе счета содержимое Т/C инкрементируется. Признаком окончания счета является переполнение регистра, т. е. переход из состояния все 1 в состояние все 0. Все регистры доступны для чтения и, при необходимости, контроль достижения заданной величины счета может выполняться программно.

Регистр режимов Т/C (TMOD) предназначен для приема и хранения кода, который определяет:

- один из 4-х режимов работы Т/C;

- работу в качестве таймера или счетчика;

- управление Т/C от внешнего вывода.

Обозначение разрядов регистра TMOD приведено в табл.1.4, а в табл.1.5 – их назначение.

Таблица 1.4. Обозначение разрядов TMOD

Номер разряда                
Обозначение GATE1 C/T1 M1.1 M0.1 GATE0 C/T0 M1.0 M0.0

Таблица 1.5

Номер разряда Обозначение Назначение разрядов Примечание
1, 0 5, 4 M1.0, M0.0 M1.1, M0.1 Определяют один из 4-х режимов работы, отдельно для Т/С0 и Т/С1 Все разряды TMOD устанавливаются программно: разряды 0…3 определяют режим работы Т/С0, разряды 4…7 – Т/С1
M1 M0 Режим  
     
     
     
     
  С/Т0 С/Т1 Если разряды С/Т установлены в 0, то соответствующий Т/С работает в качестве таймера. При установке этих битов в 1 – в качестве счетчика внешних событий
  GATE0 GATE1 Разрешает управление Т/С от внешнего вывода ( - для Т/С0, - для Т/С1) GATE = 0 – управление запрещено GATE = 1 – управление разрешено

При работе в качестве таймера содержимое регистра Т/C инкрементируется в каждом машинном цикле, т. е. Т/C является счетчиком машинных циклов МК51 с частотой .

При работе в качестве счетчика внешних событий содержимое Т/C инкрементируется после перехода из 1 в 0 сигнала на счетном входе Т0 или Т1. Так для распознавания такого перехода требуется два машинных цикла, то максимальная частота счета равна

Чтобы уровень сигнала на счетном входе был гарантированно зафиксирован, он должен оставаться неизменным в течение одного машинного цикла.

Регистр управления (TCON)предназначен для приема и хранения кода управляющего слова. Флаги переполнения TF0 и TF1 устанавливаются при переполнении соответственно Т/C0 и Т/С1. Если при этом разрешено прерывание от соответствующего Т/C, то установка флага вызовет прерывание. Сбрасываются флаги аппаратно при передаче управления программе обработке соответствующего прерывания.

Обозначение разрядов регистра TCON приведено в табл. 1.6, а их назначение – в табл. 1.7.

Таблица 1.6. Обозначение разрядов регистра TCON

Номер разряда                
Обозначение TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

Таблица 1.7. Назначение разрядов регистра TCON

Разряд Имя Назначение битов
TCON.7 TCON.5 TF1 TF0 Флаги переполнения Т/С. Устанавливается аппаратно при переполнении Т/С. Сбрасывается при обслуживании прерывания.
TCON.6 TCON.4 TR1 TR0 Биты управления Т/C. Если TR=0, то Т/C блокированы. При установке в единицу разрешен счет.
TCON.3 TCON.1 IE1 IE0 Флаги запроса внешних прерываний.
TCON.2 TCON.0 IT1 IT0 Биты установки фронта/уровня прерываний. Если IT=0, то прерывание воспринимается по низкому уровню на входе INT. Если же IT=1, то по срезу (переход из 1 в 0).

Флаги TF0 и TF1 программно доступны и могут быть установлены/сброшены программой. Используя этот механизм, можно программно вызвать (установить TF) или отменить (сбросить TF) вызов подпрограммы прерываний.

Флаги IE0, IE1 устанавливаются аппаратно от внешних источников прерываний, подключенных к внешним выводам , . Кроме этого их можно установить программно. Установка флагов IE0, IE1 приведет к вызову подпрограммы обработки прерываний, сброс этих флагов выполняется аппаратно при обслуживании прерывания, только в том случае, если прерывание было вызвано срезом сигнала (IT=1). Если прерывание было вызвано уровнем сигнала (IT=0) на входе INT, то сброс флага IE осуществляется источником прерывания под управлением подпрограммы обработки прерываний.

Схема инкремента предназначена для увеличения на 1 содержимого Т/C, для которых разрешена работа в режиме таймера или счетчика внешних событий.

Схема фиксации , , T0, T1 представляет собой 4 триггера, в которые записывается информация с этих выводов МК51.

Схема управления флагами устанавливает или сбрасывает флаги переполнения Т/C и флаги запросов внешних прерываний.

Логика управления Т/C синхронизирует работу регистров Т/C в соответствии с запрограммированным режимом работы.

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

Режим работы каждого Т/C определяется состоянием битов М0 и М1 в регистре TMOD. В режимах 0, 1 и 2 Т/C полностью независимы друг от друга. Причем, в этих режимах они функционируют одинаково. В режиме 3 работа Т/C0 и Т/C1 различна. При этом установка режима 3 в Т/C0 влияет на режим работы Т/C1.

Режим 0. В этом режиме Т/C функционируют как 8-ми разрядный счетчик, на входе которого стоит 5-ти разрядный предделитель. Предделитель образован 5 младшими разрядами регистра TL0, а 8-разрядный счетчик - регистром ТН. Структурная схема Т/C в этом режиме показана на рис. 1.7.

Рис. 1.7. Структурная схема Т/C0 в режиме 0

Бит С/Т регистра TMOD определяет работу Т/C в качестве таймера (С/Т=0) или в качестве счетчика (С/Т=1). Бит TR регистра TCON разрешает счет (TR=1), если управляющий бит GATE (блокировка) равен 0 или на внешний вывод подан высокий уровень напряжения. Если же бит GATE установлен в 1, то в этом случае можно использовать таймер для измерения длительности импульсного сигнала, подаваемого на вход .

Режим 1 аналогичен режиму 0, за исключением того, что доступны 16-разрядные Т/C. Структурная схема Т/C для этого режима показана на рис. 1.8.

 
 

Рис. 1.8. Структурная схема Т/C0 в режиме 1

В режиме 2 Т/C работает в качестве 8-ми разрядных счетчиков, построенных на основе регистров TL. Причем, при каждом переполнении, кроме установки флага TF в регистре TCON, автоматически происходит перезагрузка содержимого регистра ТН в регистр ТL. При этом содержимое регистра ТН не изменяется. Это обстоятельство позволяет использовать Т/С для задания скорости передачи данных через последовательный порт. Логику работы Т/C в этом режиме иллюстрирует рис. 1.9.

Рис. 1.9. Структурная схема Т/C1 в режиме 2

В режиме 3 Т/C0 и Т/C1 работают по разному. Т/C1 сохраняет неизменным свое текущее содержимое. Т.е. эффект такой же, как и при сбросе управляющего бита TR1 в нуль. Работу Т/C в режиме 3 иллюстрирует рис. 1.10.

Рис. 1.10. Структурная схема Т/C0 в режиме 3

В этом режиме TL0 и TН0 функционируют как два независимых 8-ми разрядных счетчика. Работу TL0 определяют управляющие биты C/T, GATE, TR, входной сигнал и флаг переполнения TF0. Работу TH0, который может выполнять только функцию таймера, определяет управляющий бит TR1. При этом TH0 использует флаг переполнения TF1.

Установка Т/C0 в режим 3 лишает Т/C1 бита включения TR1. Поэтому Т/C1 в режимах 0, 1 и 2 при GATE1=0 всегда включен и при переполнении в режимах 0 и 1 Т/C1 обнуляется, а в режиме 2 перезагружается, не устанавливая флаг. Управление от входов INT1, Т1, биты управления С/Т1, GATE для Т/C1 не зависят от режима Т/C0.

Т/C1 аппаратно связан с блоком синхронизации последовательного интерфейса. При работе в режимах 0, 1 и 2 при переполнении Т/C1 всегда вырабатывается синхроимпульс последовательного интерфейса. Поэтому 3-й режим Т/C0 удобно применять тогда, когда требуется работа последовательного порта и двух таймеров или ПИ, таймера и счетчика.

Когда Т/C0 переведен в режим 3, Т/C1 можно выключить, переведя его также в режим 3, и использовать его с последовательным портом для выработки синхроимпульсов или в любых других приложениях, не требующих прерывания.


Дата добавления: 2015-10-24; просмотров: 97 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Арифметико-логический блок| Блок последовательного интерфейса и прерываний

mybiblioteka.su - 2015-2024 год. (0.013 сек.)