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

Обработка прерывания таймера

Читайте также:
  1. II. Сбор и обработка персональных данных субъектов персональных данных
  2. Автоматизированная обработка снимков
  3. Архитектура системного таймера и назначения каналов таймера. Режимы работы каналов таймера. Возможности программирования
  4. ГИС и автоматизированная обработка снимков
  5. Глава 16. Строки, файлы, обработка ошибок
  6. Директивы компилятора и обработка ошибок ввода
  7. И литературная обработка материала

О т л а д о ч н а я в е р с и я п р о г р а м м ы

ADDR_TAB EQU 9000h;начальный адрес кодовой таблицы сигналов

N_CODE EQU 16d;количество кодовых комбинаций в таблице

PORT_L EQU 00h;младший байт адреса порта вывода

PORT_H EQU 0ABh;старший байт адреса порта вывода

X EQU 38h;уставка таймера Х (100 мкс при 24 МГц)

START_STOP EQU P1.4;сигнал "START/STOP"

 

Инициализация микроконтроллера и управляющей программы

JMP BEGIN

ORG 0Bh;организация обслуживания

JMP TIMER;прерывания таймера Т0

ORG 40h

BEGIN: MOV R0,#PORT_L;загрузить указатель младшего байта адреса порта вывода

MOV R2,#N_CODE;загрузить счетчик количества кодовых комбинаций

MOV DPTR,#ADDR_TAB;загрузить указатель адреса кодовой таблицы

MOV IE,#10000010B;разрешить обслуживание прерывания таймера T0 (ET0=1, EA=1)

MOV TMOD,#00000010B;выбрать режим 2 для таймера T0

MOV TH0,#X;загрузить в TH0 значение уставки Х

MOV TL0,#X;загрузить в TL0 значение уставки Х

 

;***********Режим "Ожидание"

WAIT: CLR TR0;выключить таймер Т0 (в регистре TCON бит TR0=0)

MOV P1,#11111101b;включить VD1, индикация режима "Ожидание"

OPROS: JB START_STOP,WAIT;если "START/STOP"=1 - вернуться в "Ожидание"

;***********Режим "Пуск"

WORK: MOV P1,#11111110b;если "START/STOP"=0 - включить индикацию режима "Пуск"

SETB TR0;включить таймер T0 (в регистре TCON бит TR0=1)

JMP OPROS;повторить опрос кнопки "START/STOP"

 

 

ОБРАБОТКА ПРЕРЫВАНИЯ ТАЙМЕРА

TIMER: CLR A;для режима отладки - произвести

MOVC A,@A+DPTR;чтение кодовой комбинации из ВПП

;MOVX A,@DPTR;чтение кодовой комбинации из ВПД

MOV P2,#PORT_H;записать кодовую комбинацию

MOVX @R0,A;в порт вывода дискретных сигналов

INC DPTR;перейти к следующей ячейке в таблице кодовых комбинаций

DJNZ R2,NEXT;последняя кодовая комбинация?

MOV DPTR,#ADDR_TAB;если да - загрузить указатель адреса кодовой таблицы

MOV R2,#N_CODE;загрузить счетчик количества кодовых комбинаций

NEXT: RETI;если нет - выйти из прерывания

 

;***********РАЗМЕЩЕНИЕ КОДОВОЙ ТАБЛИЦЫ В ВПП (или при совмещении ВПП и ВПД)

ORG 9000h;создание таблицы кодовых комбинаций по адресу 9000h

TABLE: DB 0B0h, 0C0h, 0D0h, 0E0h, 0F0h, 0D8h, 0C0h

DB 0A8h, 90h, 20h, 0h, 0h, 10h, 20h, 30h, 40h

END

 

 


 

Рисунок 6.1 - Временные диаграммы сигналов генератора


Пример сглаживания выходного сигнала генератора при помощи RC-цепи


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


<== предыдущая страница | следующая страница ==>
Translate into English.| Форматирование

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