7380

Изучение модуля процессора событий TIM08, и модуля таймера базового времени TMB08

Лабораторная работа

Коммуникация, связь, радиоэлектроника и цифровые приборы

Изучение модуля процессора событий TIM08, и модуля таймера базового времени TMB08 Цель работы: Изучить подсистему реального времени микропроцессора. Освоить методику выбора тактирующей последовательности и порядок программирования синт...

Русский

2013-01-23

251.5 KB

3 чел.

PAGE  26

Изучение модуля процессора событий TIM08, и модуля таймера базового времени TMB08

Цель работы: Изучить подсистему реального времени микропроцессора. Освоить методику выбора тактирующей последовательности и порядок программирования синтезатора частоты. Получить навыки по инициализации модулей TMB08 и TIM08.

  1.  Программа работы
  2.  Изучить состав и методику программирования синтезатора частоты SGM08;
  3.  Изучить основные технические характеристики и порядок программирования модуля TMB08;
  4.  Изучить назначение, состав и методику программирования модуля TIM08;
  5.  Изучить устройство матричной клавиатуры, и порядок её обслуживания;
  6.  Изучить назначение и состав субмодуля задания временных интервалов;
  7.  Разработать и произвести отладку программы в соответствии с вариантом задания;
  8.  Оформить отчет по лабораторной работе.
    1.  Пояснения к работе
      1.  Модуль формирования тактовой частоты SGM08

Данный модуль генерирует две импульсные последовательности:

  •  CGMOUT – основная импульсная последовательность. Используется модулем системной интеграции SIM08 в качестве времязадающей при создании четырехфазной последовательности импульсов для тактирования центрального процессора, внутренних магистралей и периферийных модулей.
  •  CGMXCLK – вспомогательная импульсная последовательность. Используется модулями сторожевого таймера COP08, асинхронного интерфейса SCI8 и базового таймера TMB08. Может быть использована как альтернативная импульсная последовательность для тактирования модуля ADC08.

На Рис. 2.22 приведена структурная схема модуля CGM08. Модуль включает три функциональных блока:

  •  Генератор G1. Формирует последовательность прямоугольных импульсов CGMXCLK. Частота следования импульсов fXCLK равна частоте внешнего кварцевого резонатора.
  •  Генератор G2. Формирует последовательность прямоугольных импульсов CGMVCLK с частотой следования fVCLK 7
  •  Мультиплексор MS с предварительным делителем частоты на 2. Позволяет выбрать в качестве выходного сигнала модуля CGMOUT импульсную последовательность с частотой  или .

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

  •  Если выбран генератор на кварцевом резонаторе, то частота тактирования центрального процессора и внутренних магистралей составляет
  •  Если выбран синтезатор частоты, то центральный процессор и внутренние магистрали будут тактироваться с частотой

Рис. 2.22 Структурная схема модуля CGM08

Максимальное значение  составляет 8,2 МГц для напряжения питания 5,0 В и 4,1 МГц для напряжения питания 3,0 В. Следовательно, для достижения максимального быстродействия МК при тактировании от генератора на кварцевом резонаторе потребуется использовать кварцевый резонатор на частоту 32,8 МГц. Однако при использовании высокочастотного резонатора возрастает интенсивность генерации помех. Кроме того, многие встраиваемые системы должны обладать функцией часов реального времени и календаря, которые требуют введения в систему так называемого «часового» кварцевого резонатора (f=32.768 кГц). Поэтому разработчики семейства HC08 предусмотрели возможность тактирования МК с использованием кварцевого резонатора на частоты . Операцию умножения частоты в этом случае выполняет синтезатор G2, используя в качестве опорного сигнал с выхода генератора на кварцевом резонаторе G1.

Следует иметь в виду, что генератор G2 производит операцию умножения частоты с использованием системы ИФАПЧ (Импульсно Фазовая Авто Подстройка Частоты), которая позволяет гарантировать стабильность формирования  с точностью 0,9% при работе в номинальном режиме. Если этот генератор выбран в качестве образующего для , то точность формирования временной базы в модулях процессора событий TIM08 будет также составлять 0,9%. Это обстоятельство следует обязательно учитывать на начальной стадии проекта при выборе источника тактирования МК и частоты кварцевого резонатора.

  1.  Инициализация синтезатора частоты

Для правильной работы синтезатора частоты, необходимо проинициализировать пять целочисленных коэффициентов: R,N, P, L и Е. Ниже приводится методика расчета этих коэффициентов.

  1.  Выберите желаемую частоту тактирования центрального процессора и межмодульных магистралей
  2.  Определите желаемую частоту импульсной последовательности на выходе синтезатора частот
  3.  Вычислите опорную частоту системы ИФАПЧ в составе синтезатора частоты

Частота кварцевого резонатора  должна быть выбрана из указанного в справочных данных диапазона. При выборе  следует принять во внимание то, что время переходных процессов в системе ИФАПЧ определяется . Если частота  должна быть выбрана точно (из соображений тактирования периферийных модулей), то необходимо выбрать R=1, определите в соответствии с 4) и 5) коэффициенты N и P, а затем вычислите реальную частоту , используя формулу 2).

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

,

где:

round(x) – функция округления;

integer(x) – функция наименьшего целого.

Выберите коэффициент деления N делителя частоты FD2:

.

  1.  Если  то коэффициент P установите равным 0. В  противном случае используйте для выбора коэффициента P Таблицу 2.14

Таблица 2.14  Правило выбора коэффициента P

N

P

0

1

2

3

  1.  В случае выбора отличного от нуля коэффициента P пересчитайте коэффициент N:

.

  1.  Вычислите реальное значение частоты на выходе CGMVCLK и частоты тактирования центрального процессора и между модульных магистралей:

;

.

Частота  не должна превышать максимально допустимого значения 8,2 МГц.

  1.  Коэффициент Е выбирается в соответствии с данными таблицы 2.15

Таблица 2.15  Правило выбора коэффициента Е

[Гц]

E

0

1

2

Опция запрещена!

3

  1.  Для выбора коэффициента L используется формула:

, где  - номинальная частота модуля.

  1.  Проведите проверку и убедитесь в правильности выбора коэффициентов L и Е. Для этого вычислите центральную частоту рабочего диапазона VCO:

.

Для устойчивой работы синтезатора частот необходимо, чтобы  находилась в области полосы удержания:

.

  1.  Возможно, что расчеты коэффициентов R, P, N, L, E придется выполнить несколько раз. Среди полученных вариантов настройки следует выбрать тот, для которого разность  минимальна и частота  расположена как можно ближе к центральной частоте  рабочего диапазона VCO.

В таблице 2.16 приведены несколько примеров инициализации модуля при работе с «часовым» кварцевым резонатором.

Таблица 2.16  Примеры инициализации модуля CGM08

[МГц]

[кГц]

R

N

P

E

L

2.0

32.768

1

F5

0

0

D1

4.0

32.768

1

1E9

0

1

D1

5.0

32.768

1

263

0

2

82

8.0

32.768

1

3D1

0

2

D0

  1.  Регистры модуля CGM08/32

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

  •  PCTL – регистр управления синтезатором частоты;
  •  PBWC – регистр управления системой ИФАПЧ;
  •  PMSH – регистр коэффициента N (старший байт);
  •  PMSL – регистр коэффициента N (младший байт);
  •  PMRS – регистр коэффициента L;
  •  PMDS – регистр коэффициента R.

Формат перечисленных выше регистров приведен в таблицах 2.17-2.22

Таблица 2.17  Формат регистра PCTL

PCTL

Регистр управления синтезатором частоты

Адрес регистра: $0036

Состояние при сбросе: $20

Имя

Описание

7

PLLE

Бит разрешения прерывания от модуля CGM 

Этот бит разрешает генерацию сигнала запроса на прерывание в модуль системной интеграции, если флаг PLLF установлен:

1 - прерывания от модуля CGM разрешены; 0 – запрещены.

Если система ИФАПЧ находится в ручном режиме управления ( бит AUTO = 0), то бит PLLE недоступен для записи, а при чтении возвращает 0. В режиме автоматического управления (бит AUTO=1) бит PLLE доступен как для чтения так и для записи. При сбросе прерывания от модуля запрещены.

6

PLLF

Флаг запроса прерывания от модуля CGM

Флаг устанавливается, если система ИФАПЧ работает в автоматическом режиме и бит LOCK изменил свое значение. Иными словами частота  перешла из полосы удержания в полосу точного установления, или наоборот, выпала за пределы полосы точного установления по причине дестабилизирующих возмущений:

1- бит LOCK изменил значение после последнего сброса флага PLLF. 0 – бит LOCK не изменял значения после последнего сброса флага PLLF.

Бит доступен только для чтения. Бит сбрасывается автоматически при чтении регистра PTCL с установленным битом PLLF.

5

PLLON

Бит разрешения работы синтезатора частоты

1 – формирование последовательности импульсов CGMVCLK синтезатором разрешено.

0 – работа синтезатора частоты запрещена.

Бит PLLON не может быть сброшен под управлением программы, если выходной сигнал синтезатора частоты CGMVCLK выбран в качестве базового для формирования выходного сигнала модуля CGMOUT (бит BCS = 1). Бит доступен для записи и для чтения.

4

BCS

Бит выбора базового сигнала для формирования сигнала CGMOUT

Этот бит управляет мультиплексором MS модуля, см. Рис. 2.22. :

1 – сигнал CGMOUT формируется путем деления на 2 выходного сигнала синтезатора частоты CGMVCLK.

0 – сигнал CGMOUT формируется путем деления на 2 выходного сигнала генератора на кварцевом резонаторе CGMXCLK.

Бит BCS не может быть программно установлен, если PLLON сброшен. Процесс переключения мультиплексора MS занимает 3 периода частоты источника сигнала который будет использоваться в качестве образующего для CGMOUT. В течении этого времени на выходе CGMOUT удерживается постоянный уровень. Бит BCS доступен для записи и чтения.

3:2

PRE1:PRE0

Биты задания коэффициента P

Эти биты следует установить по результатам выбора коэффициентов настройки модуля CGM.

PRE1 PRE0  коэффициент P 2P

0 0   0  1

0 1   1  2

1 0   2  4

1 1   3  8

Биты PRE1:PRE0 не могут быть изменены, если PLLON сброшен, т.е. синтезатор частот не работает. Биты доступны для записи и для чтения

1:2

VPR1:VPR0

Бит задания коэффициента Е

Эти биты следует установить по результатам выбора коэффициентов настройки модуля CGM.

ЗКУ1 ЗКУ0  коэффициент E 2E

0 0   0  1

0 1   1  2

1 0   2  4

1 1   Запрещенная комбинация

Таблица 2.18   Формат регистра PBWC

PBWC

Регистр управления системой ИФАПЧ

Адрес регистра: $0037

Состояние при сбросе: $00

Имя

Описание

7

AUTO

Бит выбора режима управления системой ИФАПЧ

Этот бит назначает режим автоматического или ручного управления системой ИФАПЧ:

1 – режим автоматического управления;

0 – режим ручного управления.

Бит доступен для записи и для чтения. Перед назначением ручного режима управления следует сбросить бит . Тогда система ИФАПЧ перейдет в режим захвата, при котором возможные отклонения частоты по причине изменения режима должны быть минимальными.

6

LOCK

Бит режима точного установления частоты

Если система ИФАПЧ работает в режиме автоматического управления, то бит LOCK принимает значение 1, когда частота генератора VCO достигает полосы точного установления:

1 – частота  находится в полосе точного установления;

0 – частота  находится за пределами полосы точного установления.

Если система ИФАПЧ работает в ручном режиме, то бит LOCK не соотносится с частотой , а при чтении всегда возвращает 0.

5

Бит режима удержания/захвата

Если система ИФАПЧ работает в режиме автоматического управления, то бит  доступен только для чтения. Если система ИФАПЧ работает в режиме в ручном режиме, то бит  доступен как для чтения, так и для записи. Бит назначает работу системы ИФАПЧ в режиме удержания или захвата.

1 – режим удержания;

0 – режим захвата.

4

0

3

0

2

0

1

0

0

R

Таблица 2.19  Формат регистра PMSH

PMSH

Регистр коэффициента N (старший байт)

Адрес регистра: $0038

Состояние при сбросе: $00

Имя

Описание

7

0

6

0

5

0

4

0

3

MUL3

Старшие биты коэффициента N

Биты доступны как для чтения, так и для записи. При попытке установить N=$0000, реальное значение коэффициента будет N=$0001.

2

MUL2

1

MUL1

0

MUL0

Таблица 2.20  Формат регистра PMSH

PMSL

Регистр коэффициента N (младший байт)

Адрес регистра: $0039

Состояние при сбросе: $40

Имя

Описание

7

MUL7

Младшие биты коэффициента N

Биты доступны как для чтения, так и для записи. При попытке установить N=$0000, реальное значение коэффициента будет N=$0001.

6

MUL6

5

MUL5

4

MUL4

3

MUL3

2

MUL2

1

MUL1

0

MUL0

Таблица 2.21  Формат регистра PMRS

PMRS

Регистр коэффициента L

Адрес регистра: $003A

Состояние при сбросе: $40

Имя

Описание

7

VRS7

Биты коэффициента L

Биты доступны как для чтения, так и для записи. При попытке установить L=$00, синтезатор частоты переходит в нерабочее состояние, бит BCS устанавливается в 0, назначая формирование выходного сигнала CGMOUT на основе выходного сигнала генератора на кварцевом генераторе CGMXCLK

6

VRS6

5

VRS5

4

VRS4

3

VRS3

2

VRS2

1

VRS1

0

VRS0

Таблица 2.22  Формат регистра PMDS

PMDS

Регистр коэффициента R

Адрес регистра: $003A

Состояние при сбросе: $01

Имя

Описание

7

0

Биты коэффициента R

Биты доступны как для чтения, так и для записи. При попытке установить R=$00, реальное значение R=$01. Биты RDS3…RDS0 не могут быть изменены, если синтезатор находится в рабочем состоянии.

6

0

5

0

4

0

3

PDS3

2

PDS2

1

PDS1

0

PDS0

  1.  Модуль процессора событий TIM08

Модуль TIM08 хотя и носит дословное название "модуль таймерного интерфейса", по сути, реализует все режимы, которые свойственны модулям процессоров событий 16-разрядных МК Intel MCS-196 и модулям программируемых счетных массивов РСА МК Intel VCS-51/251. Поэтому далее этот модуль будем именовать "процессором событий TIM08".

Модуль TIM08 состоит из 16-разрядного таймера-счетчика и некоторого количества полностью идентичных модулей захвата/сравнения. Эти модули в процессе инициализации могут быть настроены на один из пяти режимов работы:

  •  Входного захвата;
  •  Небуфирированного выходного сравнения;
  •  Буферированного выходного сравнения;
  •  Небуферированной широтно-импульсной модуляции (ШИМ);
  •  Буферированной ШИМ.

Каждый модуль захвата/сравнения связан с одним из выводов МК. Функция входного или выходного сигнала модуля захвата/сравнения процессора событий является альтернативной функцией линии порта D. В составе рассматриваемого МК имеется два модуля TIM08, именуемых TIM1 и TIM2. В составе каждого из модулей имеется два модуля захвата/сравнения, однако стоит отметить, что из-за ограниченного количества выводов МК, каналы захвата/сравнения модуля TIM2 не имеют связи с внешним миром, но несмотря на это модуль нормально функционирует и может запрашивать прерывания.

Таймер-счетчик процессора событий

В состав модуля TIM08 входит 16-разрядный счетчик, который служит временной базой для каналов захвата/сравнения. Он подсчитывает импульсы тактовой частоты, поступающие на его вход. Все интервалы времени, которые генерируются или измеряются МК, исчисляются числом периодов этой тактовой частоты. Таймер-счетчик имеет два источника тактирования:

  •  Внутренний генератор, выполненный на основе программируемого делителя частоты шины МК;
  •  Внешний генератор, подключаемый к выводу TxCLK МК.

Но учитывая что в нашем случае вывод TxCLK отсутствует, то источник тактирования остается только один. Коэффициент деления генератора может принимать семь различных значений: 1, 2, 4, 8, 16, 32, 64. Максимальная частота сигнала подключаемого ко входу счетчика не должна превышать 4 МГц. Таймер-счетчик временной базы допускает программную установку периода работы. Если не предпринимать специальных действий при инициализации процессора событий, то коэффициент счета счетчика временной базы будет равен 216, т.е. счетчик проходит полный цикл от начального состояния кода $0000 до конечного состояния кода $FFFF

Для управления таймером-счетчиком модуля TIM08 предусмотрены пять регистров специальных функций:

TxSC – регистр управления таймером-счетчиком "x", где "x" – имя модуля процессора событий

TxMODH – регистр периода счетчика (старший байт)

TxMODL – регистр периода счетчика (младший байт)

TxCNTH – регистр текущего значения счетчика (старший байт)

TxCNTL – регистр текущего значения счетчика (младший байт)

Формат регистра управления таймером представлен в таблице 2.23, абсолютные адреса регистров приведены в таблице 2.25

Таблица 2.23  Формат регистра управления таймером-счетчиком

TxSC

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

Состояние при сбросе: $20

Имя

Описание

7

TOF

Флаг переполнения таймера-счетчика

Бит переполнения устанавливается в 1, если текущий код таймера достиг максимального значения, которое записано в регистрах периода, и при поступлении следующего импульса сбросится в 0.

6

TOIE

Бит разрешения прерывания по переполнению таймера

1 – прерывания разрешены;

0 – прерывания запрещены.

Бит доступен для чтения и записи.

5

TSTOP

Бит разрешения работы таймера-счетика

1 – таймер остановлен, текущий код таймера не изменяется

0 – работа таймера разрешена

4

TRST

Бит сброса таймера

Установка этого бит в 1 вызывает сброс таймера и сброс битов управления делителем частоты. Текущий код становится равным $000

3

0

2

PS2

Биты выбора коэффициента деления

PS2 PS1 PS0 Частота тактирования

0 0 0 FBUS/1

0 0 1 FBUS/2

0 1 0 FBUS/4

0 1 1 FBUS/8

1 0 0 FBUS/16

1 0 1 FBUS/32

1 1 0 FBUS/64

1

PS1

0

PS0

Модули захвата/сравнения

Каждый модуль захвата/сравнения в составе процессора событий связан с одним выводом МК. Вывод обозначают TxCHi, где "i" – порядковый номер канала захвата/сравнения в составе процессора событий "x", например T1CH0 – канал захвата/сравнения 0 в процессоре событий 1. В режиме захвата модуль захвата/сравнения фиксирует моменты времени, когда логический сигнал на входе TxCHi изменяет свое состояние. В режимах выходного сравнения ШИМ-модуль захвата/сравнения формирует импульсный сигнал с заданными временными параметрами на выходе TxCHi. Направление передачи сигнала по линии TxCHi определяется инициализацией того или иного режима. Каждый модуль захвата сравнения может обеспечивать следующие режимы :

  •  входного захвата;
  •  небуферированного выходного сравнения;
  •  буферированного выходного равнения;
  •  небуферированного ШИМ;
  •  буферированного ШИМ.

Режим входного захвата

В режиме входного захвата аппаратные средства модуля следят за уровнем сигнала на входе TxCHi МК. Модуль аппаратно может отслеживать следующие изменения сигнала:

  •  Передний (нарастающий) фронт сигнала;
  •  Задний (спадающий) фронт сигнала;
  •  Любое изменение логического уровня сигнала.

При работе в режиме захвата входы модулей могут использовать встроенные "подтягивающие" резисторы.

При изменении логического сигнала вырабатывается строб записи и текущее состояние таймера временной базы копируется в 16-разрядный регистр данных TxCHi канала захвата/сравнения

Режим небуферированного выходного сравнения

В режиме выходного сравнения аппаратные средства модуля непрерывно сравнивают изменяющийся во времени код таймера с кодом, который записан в 16-разрядный регистр данных TxCHi. В момент равенства кодов аппаратные средства модуля изменяют логический уровень на выходе TxCHi. Модуль позволяет аппаратно выполнять следующие изменения сигнала:

  •  Инвертирование сигнала на выходе;
  •  Установка низкого логического уровня;
  •  Установка высокого логического уровня.

Каждый модуль захвата/сравнения обслуживается следующими регистрами специальных функций:

TxSCi – Регистр управления модулем захвата сравнения;

TxCHi – регистр данных канала захвата/сравнения.

Формат регистра управления модулем захвата/сравнения представлен в таблице 2.24, абсолютные адреса регистров специальных функций обслуживающих модули захвата/сравнения представлены в таблице 2.25

Таблица 2.24  Формат регистра управления модулем "i" захвата/сравнения

TxSCi

Регистр управления модулем "i" захвата/сравнения

Состояние при сбросе: $00

Имя

Описание

7

ChiF

Флаг наступления события в модуле захвата/сравнения

Бит устанавливается в 1 если:

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

Модуль установлен в режим выходного сравнения и момент равенства кодов  наступил

6

ChiIE

Бит разрешения прерывания по событию в канале "i"

1 – прерывания разрешены;

0 – прерывания запрещены.

Бит доступен для чтения и записи.

5

MsiB

Бит разрешения буферированного режима сравнения/ШИМ

1 – режим буферированного сравнения/ШИМ

0 – режим небуферированного сравнения/ШИМ

4

MsiA

Бит выбора режима модуля "i"

Если значение битов ELSiB и ELSiA не равно 00, то бит MSiA определяет режим работы модуля:

1 – режим сравнения/ШИМ;

0 – режим входного захвата.

Если значение битов ELSiB и ELSiA равно 00, то бит MSiA определяет начальный логический уровень на ходе TxCHi:

1 – начальный логический уровень равен 0;

0 – начальный логический уровень равен 1;

3

ELSiB

Биты активного перепада в режиме захвата

Если канал "i" установлен в режим захвата, то эти биты определяют активный перепад сигнала на входе TCHi, при котором устанавливается бит ChiF:

01 – перепад из 0 в 1

10 – перепад из 1 в 0

11 – любое изменение сигнала

Если канал "i" работает в режиме сравнения/ШИМ, то эти биты определяю алгоритм изменения сигнала при наступлении события равенства кодов:

01 – инвертирует сигнал на выходе;

10 – устанавливает на выходе 0 при сравнении;

11 – устанавливает на выходе 1 при равнении.

2

ELSiA

1

TOVi

Бит разрешения переключения выхода при переполнении таймера-счетчика/ШИМ

Бит TOVi определяет способ изменения сигнала на выходе TCHi при переполнении счетчика таймера, когда модуль работает в режиме сравнения/ШИМ

1 – выход изменяет состояние на противоположное

0 – выход не изменяет состояния

0

ChiMAX

Бит максимального коэффициента заполнения в режиме ШИМ

Этот бит оказывает влияние на работу модуля захвата/сравнения только в режиме ШИМ.

1 – коэффициент заполнения равен 1

0 – коэффициент заполнения определяется кодом регистра данных канала

Таблица 2.25 Абсолютные адреса регистров модулей процессора событий

Модуль TIM1

Модуль TIM2

Обозначение

Адрес

Обозначение

Адрес

Таймер временной базы 1

Таймер временной базы 2

T1SC

$0020

T1SC

$002B

T1CNTH

$0021

T1CNTH

$002C

T1CNTL

$0022

T1CNTL

$002D

T1MODH

$0023

T1MODH

$002E

T1MODL

$0024

T1MODL

$002F

Канал захвата/сравнения 0

Канал захвата/сравнения 0

T1SC0

$0025

T2SC0

$0030

T1CH0H

$0026

T2CH0H

$0031

T1CH0L

$0027

T2CH0L

$0032

Канал захвата/сравнения 1

Канал захвата/сравнения 1

T1SC1

$0028

T2SC1

$0033

T1CH1H

$0029

T2CH1H

$0034

T1CH1L

$002A

T2CH1L

$0035

  1.  Модуль базового таймера TBM08

Модуль базового таймера отсчитывает интервалы времени, равные периоду следования сигналов заданной частоты, создавая таким образом метки реального времени для МП системы. Набор частот, которые может генерировать модуль базового таймера, ограничен рядом: 1, 4, 16, 256, 512, 1024, 2048 и 4096 Гц.

Модуль базового таймера спроектирован в составе МК, которые тактируются с использованием только "часового" кварцевого резонатора (f=32.768 кГц). Поэтому если МК тактируется от высокочастотного кварцевого резонатора то инициализировать модуль не следует.

Модуль обслуживается одним регистром специальных функций, формат которого приведен в таблице 2.26

Таблица 2.26 Формат регистра управления базовым таймером

TBCR

Регистр управления базовым таймером

Адрес: $001C

Состояние при сбросе: $00

Имя

Описание

7

TBIF

Флаг запроса на прерывание по переполнению базового таймера

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

1 – очередной период сигнала заданной частоты отсчитан

0 – очередной период заданной частоты еще не закончился

6

TBR2

Биты выбора коэффициента деления

Эти биты определяют коэффициент деления программируемого делителя частоты:

TBR2 TBR1 TBR0 Частота, Гц

0 0 0 1

0 0 1 4

0 1 0 16

0 1 1 256

1 0 0 512

1 0 1 1024

1 1 0 2048

1 1 1 4096

5

TBR1

4

TBR0

3

TASK

Бит подтверждения запроса на прерывание по переполнению базового таймера

Установка этого бита в 1 под управлением программы вызывает очистку флага на прерывание.

2

TBIE

Бит разрешения прерывания по переполнению базового таймера

1 – прерывания разрешены

0 – прерывания запрещены

1

TBON

Бит разрешения работы счетчика базового таймера

1 – Работа счетчика разрешена

0 – счет запрещен и все разряды счетчика сброшены в 0

0

0

  1.  Устройство и порядок опроса матричной клавиатуры

Матричная клавиатура представляет собой сканируемую матрицу кнопок. Рассмотрим организацию некодирующей (матричной) клавиатуры размером 44. Горизонтальные линии Х0-Х3 (ряды или строки) являются выходными, а вертикальные Y0-Y3 (колонки) являются входными (Рис. 2.23). В неактивном состоянии на выходах Х0-Х3 присутствует уровень логической единицы, а входы Y0-Y3 обычно подтянуты к питанию резисторами. При сканировании на горизонтальных линиях матрицы формируется сигнал "бегущего" нуля. На остальных выходах сохраняется уровень логической единицы. Для каждой фазы "бегущего" нуля производиться считывание и анализ кода Y0-Y3. При замыкании какой-либо из клавиш матрицы, программно устанавливается код данной клавиши.

Рис. 2.23 Принципиальная схема матричной клавиатуры

В составе модуля имеется такая клавиатура рассмотрим программу выполняющую динамический опрос матрицы клавиш. Информация о нажатой клавише выводиться на ЖКИ в форме ХУ, где Х номер строки нажатой клавиши, а Y номер столбца нажатой клавиши. Отжатое состояние клавиш индицируется кодом NO.

       ORG $8000

       include 'gpregs.inc'

buff1:  equ $50

buff2:  equ $51      

;Инициализация порта А на ввод/вывод информации

begin:  lda %11110000

       sta  DDRA

;Инициализация модуля TMB08        

       lda %00111110               

       sta TBCR

;Инициализация портов

       bset 1,DDRB

       lda #$FF

       sta DDRD

;Инициализация ЖКИ

       lda #%000010;Выбираем четырёх разрядный интерфейс

       jsr write; Передача информации на ЖКИ

       lda #%000010;Выбираем четырёх разрядный интерфейс

       jsr write; Передача информации на ЖКИ

       lda #%001000;Двухстрочный индикатор

       jsr write; Передача информации на ЖКИ

       ; Display on/off

       clra

       jsr write; Передача информации на ЖКИ

       lda #%001100;Дисплей включен, курсор скрыт

       jsr write; Передача информации на ЖКИ

       cli

       lda #%10001000

       sta buff1

; Ожидание запроса на прерывание

COPRES: clra

       sta $FFFF; Сброс счетчика сторожевого таймера

       jmp COPRES

;Подпрограмма обслуживания прерывания от модуля TMB08

INTTMB: lda buff1

       rola

       and %11110000

       sta portA

       sta buff1

       nop

       nop

       nop

       nop

       lda portA

       and %00001111

       cmp #%00001111

       sta buff2

       beq nokey

       clra; очистка дисплея

       jsr write; Передача информации на ЖКИ

       lda #%000001;

       jsr write;

       clra

       jsr write

       lda #%000110

       jsr write

;Выод номера строки нажатой клавиши (Х)        

       lda #$03

       ora #%00100000

       jsr write

       lda buff2

       ora #%00100000

       jsr write

;Выод номера столбца нажатой клавиши (Y)

       lda #$03

       ora #%00100000

       jsr write

       lda buff1

       ora #%00100000

       jsr write

       rti

nokey:  lda #$04

       ora #%00100000

       jsr write

       lda #$0E

       ora #%00100000

       jsr write

       lda #$06

       ora #%00100000

       jsr write

       lda #$0F

       ora #%00100000

       jsr write

       rti   

write:  sta PTD ; Вывод информации

       bclr 1,PTB; установка сигнала готовности

; Программная задержка

       lda #$1

write1: deca

       nop

       bne write1

       bset 1,PTB; сброс сигнала готовности

       rts ; выход из подпрограммы

;Инициализация векторов прерываний

       ORG $FFDC

       dw INTTMB

       ORG $FFFE

       dw begin

  1.  Описание субмодуля задания временных интервалов

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

Рис. 2.24 Структурная схема субмодуля задания временных интервалов

Внешний вид субмодуля показан на Рис. 2.25. На рисунке цифрами обозначено:

  1.  Коммутатор выбора канала таймера для генератора прямоугольных импульсов;
  2.  Коммутатор выбора коэффициента деления частоты;
  3.  Клемма для подключения внешних источников импульсов;
  4.  Клемма для контроля напряжения на выходе делителя;
  5.  Клемма контроля напряжения на выходе генератора;
  6.  Ручка плавной регулировки частоты;
  7.  Коммутатор выбора канала таймера для подключения внешнего источника импульсов.

Рис. 2.25 Внешний вид субмодуля задания временных интервалов

Частоту встроенного генератора прямоугольных импульсов можно плавно менять в диапазоне от 370 Гц до 25 кГц. Встроенный делитель позволяет выбирать один из коэффициентов деления частоты: 1, 2, 4, 8, 16.

  1.  Варианты индивидуальных заданий

Вариант 1. Организовать ввод десятичного числа с матричной клавиатуры, контроль за вводом осуществлять с помощью ЖКИ.

Вариант 2. Разработать программу измеряющую длительность импульсов генератора модуля задания временных интервалов, информацию о длительности импульсов выводить на ЖКИ в с.

  1.  Контрольные вопросы
  2.  Какие функции выполняет модуль CGM08, и назовите порядок инициализации синтезатора частоты;
  3.  Опишите состав процессора событий TIM08 и выполняемые им функции
  4.  Опишите состав базового таймера TMB08, его назначение и порядок инициализации;
  5.  Объясните что такое матричная клавиатура, и поясните принцип её работы;
  6.  Опишите состав и назначение субмодуля задания временных интервалов.


  1.  


 

А также другие работы, которые могут Вас заинтересовать

59447. Cценарій святкової лінійки: Спорт, туризм, здоровя 26.5 KB
  Що тільки людина посіє - те й пожне. Порушиш правила здоровя - пожнеш хворобу. Тому сьогодні особливо важливо сформувати потребу в здоровому способі життя, а також в задоволенні від повноцінного життя.
59448. Сценарій концерту, присвячений Дню Вчителя: Учителю, ти є і будеш вічно! 50 KB
  Всім у цей день веселитись Сміятись співати на жарт не скупитись. Хай кращою буде учительська Доля Щоб добре вам всім працювалось у школі Рятує хай ангел-спаситель всіх вас Щасливі й здорові були щоб весь час.
59449. Cценарій: Ні наркотикам! 45 KB
  Мета. Пропагувати здоровий спосіб життя. Викликати в учнів негативне ставлення до наркоманії, до вживання наркотиків, які завдають великої шкоди здоровю людини.
59450. Cценарій: Світова Велич Шевченка (Брейн-ринг) 61.5 KB
  Талант Шевченка його допитливість незвичайна любов до всього рідного до свого пригнобленого народу до своєї культури що перебувала тоді в московському ярмі а також освіта начитаність праця над собою все це було ґрунтом для появи геніальних його творів.
59451. А щоб краща була в мене хата... (З історії української хати) 95.5 KB
  Обладнання: Ілюстрації картин з інтер’єрами та елементами хати фотографі записи пісень про хату. Збудуй хати збудуй хату з лободи Збудуй хату з лободи з лободи з лободи А в чужую не веди не веди. З хати пішли в світ такі велетні як Тарас Шевченко.
59452. Відкритий позакласний захід: “Знай і умій” (деревообробка) 67.5 KB
  Обладнання та інструменти: Вивіска €œЗнай і умій рекламні щити від спонсорів емблема конкурсу додатки до кожної з вікторин набори букв насіння і плоди дикоростучих дерев деревний матеріал пластилін столярні інструменти різні ребус...
59453. Устами вдячно притулюсь до материнської руки 92 KB
  Перша мати Непорочна як лілея біла Із дитятком немовлятком Пречистая Діва. Друга мати це найкраща на світі країна Земля наша наша славна ненька Україна Третя мати що ж про неї гарного сказати Це ласкава люба мила рідна моя мати...
59454. Музи генія (літературно-музична композиція про Т.Г.Шевченка) 78 KB
  Шевченко: А я так мало небагато Благав у Бога тілько хату Одну хатиночку в гаю Та дві тополі коло неї Та безталанную мою Мою Оксаночку щоб з нею Удвох дивитися з гори На Дніпр широкий на яри Та на лани золото полі Та на високії могили; Дивитись думати гадать Колито їх понасипали...
59455. Cценарій “Лисичка –сестричка” (Висміювання підступності, нечесності. Розвиток вміння емоційно зображати характери) 70.5 KB
  На фоні поля віддаляючись від зображення села з’являється Лисичка з курочкою під пахвою тривожна музика. Украла собі Лисичка-сестричка курочку та й біжить. Лисичка: Добрий вечір люди добрі Привітно помахала хвостиком.