close

Вход

Забыли?

вход по аккаунту

?

proga

код для вставкиСкачать
;Формирование временной задержки на таймере Tx
;с использованием флага TxIR
JMPA cc_UC, START
;------------------------------------------------------------------------ ORG 1000h
TAU DW 300 ;длительность задержки в мкс
TIMER DW 03h ;параметр, идентифицирующий используемый таймер
;------------------------------------------------------------------------ INITT2:
;Инициализация таймера T2
BCLR TIE ;запрет прерывания
BCLR T2IR ;сброс запроса на прерывание BCLR T2CON.6 ;останов таймера
BCLR T2CON.0 ;Установка коэффициента деления частоты TN8
BCLR T2CON.1 ;код коэффициента деления частоты ТИ 000b
BCLR T2CON.2;разрешение 200ns, период 13mкs
BCLR T2CON.3 ;Установка режима работы:
BCLR T2CON.4 ;режим таймера,
BCLR T2CON.5 ;код 000b
BSET T2CON.7 ;установка направления счёта - вычитание
RET;возврат
;------------------------------------------------------------------------
;Задержка на таймере T2
DELAYT2:
MOV T2,TAU ;загрузка задержки в тактах
BSET T2R ;запуск таймера Т2
LAB1:
JNB T2IR,LAB1;ожидание запроса на прерывание
BCLR T2R ;останов таймера
BCLR T2IR;сброс запроса на прерывание
RET ;возврат
;------------------------------------------------------------------------ INITT3:
;Инициализация таймера T3
BCLR T3IE ;запрет прерывания
BCLR T3IR ;сброс запроса на прерывание BCLR T3CON.6 ;останов таймера
BCLR T3CON.0 ;Установка коэффициента деления частоты TN8
BCLR T3CON.1 ;код коэффициента деления частоты ТИ 000b
BCLR T3CON.2;разрешение 200ns, период 13ms
BCLR T3CON.3 ;Установка режима работы:
BCLR T3CON.4 ;режим таймера,
BCLR T3CON.5 ;код 000b
BSET T3CON.7 ;установка направления счёта - вычитание
RET ;возврат
;------------------------------------------------------------------------
DELAYT3:
;Задержка на таймере T3
MOV T3,TAU ;загрузка задержки в тактах
BSET T3R ;запуск таймера Т3
LAB2:
JNB T3IR,LAB2;ожидание запроса на прерывание
BCLR T3R;останов таймера
BCLR T3IR;сброс запроса на прерывание
RET;возврат
;------------------------------------------------------------------------ INITT4:
;Инициализация таймера T4
BCLR T4IE ;запрет прерывания
BCLR T4IR ;сброс запроса на прерывание BCLR T4CON.6 ;останов таймера
BCLR T4CON.0 ;Установка коэффициента деления частоты TN8
BCLR T4CON.1 ;код коэффициента деления частоты ТИ 000b
BCLR T4CON.2;разрешение 200ns, период 13ms
BCLR T4CON.3 ;Установка режима работы:
BCLR T4CON.4 ;режим таймера,
BCLR T4CON.5 ;код 000b
BSET T4CON.7 ;установка направления счёта - вычитание RET;возврат
;------------------------------------------------------------------------
;Задержка на таймере T4
DELAYT4:
MOV T4,TAU ;загрузка задержки в тактах
BSET T4R ;запуск таймера Т3
LAB3:
JNB T4IR,LAB3;ожидание запроса на прерывание
BCLR T4R;останов таймера
BCLR T4IR;сброс запроса на прерывание
RET;возврат
;------------------------------------------------------------------------ START:
MOV SP, STKUN;(SP)<-(STKUN) - установка указателя стека
MOV R8, TIMER;загрузка в регистр R8 идентификатора таймера ;(R8)<-(TIMER)
MOV R5, TAU;(R5)<-(TAU)
MOV R6, #1000;(R6)<-1000
MOV R7, #200;(R7)<-200
MULU R5, R6;(MD)<-(R5)*(R6)
DIVLU R7;(MDL)<-(MD) div (R7), (MDH)<-(MD) mod (R7)
MOV TAU, MDL;загрузка в TAU задержки в тактах таймера
CMP R8, #02h;инициализация CALLA cc_EQ, INITT2;базового таймера T2
CMP R8, #03h;инициализация CALLA cc_EQ, INITT3;базового таймера T3
CMP R8, #04h;инициализация
CALLA cc_EQ, INITT4;базового таймера T4
BSET DP7.6;настройка линии P7.6 на вывод
BCLR P7.6 ;сброс P7.6 LAB4:
BSET P7.6;установка P7.6
CMP R8, #02h ;задержка CALLA cc_EQ, DELAYT2;на таймере T2 CMP R8, #03h ;задержка CALLA cc_EQ, DELAYT3 ;на таймере T3 CMP R8, #04h ;задержка
CALLA cc_EQ, DELAYT4;на таймере T4 BCLR P7.6 ;сброс PI.J CMP R8, #02h ;задержка CALLA cc_EQ, DELAYT2 ;на таймере T2 CMP R8, #03h ;задержка CALLA cc_EQ, DELAYT3 ;на таймере T3 CMP R8, #04h ;задержка
CALLA cc_EQ, DELAYT4;на таймере T4
JMPA cc_UС, LAB4;бесконечный цикл
END
Документ
Категория
Разное
Просмотров
14
Размер файла
21 Кб
Теги
prog
1/--страниц
Пожаловаться на содержимое документа