Составители:
32
Расчет кода выдержки времени. Предварительно определяется
коэффициент деления из условия
Tk
d
⋅
≥ 18,308 .
При Т=1с условие примет вид k
d
≥308,18. Ближайшее большее значение
коэффициента деления равно k
d
=512. Тогда код выдержки времени будет равен
264723906365535
512
10201
655352
6
16
=−=
⋅⋅
−=
⋅
−=
d
CPU
k
fT
A
.
В двоичной системе счисления код выдержки времени примет вид
37768 16384 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1
0 1 1 0 0 1 1 1 0 1 1 0 1 0 0 0
В шестнадцатеричной системе счисления код выдержки времени примет
вид
А=6768h.
Величина выдержки времени заносится в один из регистров общего
назначения. Регистр общего назначения выбирается произвольно.
MOV R0, #6768h;
Производится пересылка содержимого R0 в регистр данных через стек
PUSH R0;
POP T2;
Заполняются битовые поля
регистра управления T2CON в соответствии с
выбранным режимом работы таймера и формируется код, который должен быть
занесен в регистр управления.
T2I=110− коэффициент деления делителя частоты 512;
T2M=000 − таймер работает от внутреннего генератора тактовых
импульсов;
T2R=1 − таймер включен;
T2UD=0, T2UDE=0 − суммирование в счетчике тактовых импульсов;
T2OE=0 − выход отключен;
T2OTL=0 − счетчик не
переполнен.
В соответствии с данным режимом работы таймера код в двоичной
системе счисления примет вид
0000 0000 0100 0110
или в шестнадцатеричной системе счисления
0046h.
Код режима работы таймера заносится в регистр управления.
MOV T2CON,#0046h;
Установка программы на ожидание окончания выдержки времени
(появление единицы в T2IR).
W: NOP; пустой шаг − некоторая задержка времени в выполнении
программы
JNB T2IR,W; условный переход: если вT2IR нет единицы, то перейти по
метке W
Выключение таймера и установка триггера T2IR в ноль.
Страницы
- « первая
- ‹ предыдущая
- …
- 30
- 31
- 32
- 33
- 34
- …
- следующая ›
- последняя »