Технология цифровой связи

Проектирование цифровой линии

Изучение структурной организации и приемов программирования однокристального микроконтроллера К1816ВЕ48

При тактовой частоте 6 МГц каждый машинных цикл выполняется за 2,5 мкс. Таким образом, подпрограмма выполняется за время 5+5+5X+5=15+5X мкс. Для реализации временной задержки 100 мкс число X = (100-15)/5 = 17.

Пример 4.4

. Временная задержка большой длительности. В качестве примера рассмотрим подпрограмму, реализующую временную задержку 100 мс:

DELAY: MOV R1,#84 ; загрузка X

LOOPEX: MOV R2,#236 ; загрузка Y

LOOPIN: DJNZ R2,LOOPIN ; декремент R2 и внутренний цикл,

; если R2 не равно нулю

DJNZ R1,LOOPEX ; декремент R1 и внешний цикл,

; если R1 не равно нулю

MOV R3,#4 ; точная подстройка временной задержки

LOOPAD: DJNZ R3,LOOPAD ;

RET ;

Числа X и Y выбираются из соотношения T = 5+5+X(5+5Y+5)+5, где T – реализуемый временной интервал в микросекундах. Максимальный временной интервал, реализуемый таким образом, при X=Y=255 составляет 327,69 мс, т.е. приблизительно 0,3 с.

В примере два вложенных цикла реализуют временную задержку длительностью 15+84(10+5*236)=99975 мкс, а дополнительный цикл LOOPAD реализует задержку 25 мкс и тем самым обеспечивает точную подстройку временного интервала.

Временная задержка длительностью 1 с. Секунда является очень большим интервалом времени по сравнению с частотой тактирования микроконтроллера. Такие задержки сложно реализовать методом вложенных циклов, поэтому их обычно набирают из точно подстроенных задержек меньшей длительности. Например, задержку в 1 с можно реализовать десятикратным вызовом подпрограммы, реализующей задержку 100 мс:

ONESEC: MOV R3,#10 ; загрузка в R3 числа вызовов

; подпрограммы DELAY

LOOP: CALL DELAY ; задержка 100 мс

DJNZ R3,LOOP ; декремент R3 и цикл, если R3 не равно 0

Погрешность программы составляет 55 мкс.

Пример 4.5

. Формирование временной задержки на основе таймеров. Недостатком программной реализации временной задержки является нерациональное использование ресурсов микроконтроллера: во время формирования задержки микроконтроллер практически простаивает, так как не может решать задачи управления объектом. В то же время аппаратурные средства микроконтроллера позволяют реализовать временные задержки на фоне основной программы работы.

При использовании таймера в МК48 можно получить временные задержки длительностью от 80 мкс до 20 мс.

Например, для реализации временной задержки 240 мкс необходимо выполнить следующие действия:

MOV A,#NOT(240/80-1) ; загрузка таймера

MOV T,A ;

STRT T ; запуск таймера

EN TCNTI ; разрешение прерывания

Появление сигнала прерывания от таймера соответствует истечению временного интервала 240 мкс. Погрешность будет составлять 7,5 мкс (время выполнения команды передачи управления по вектору прерывания и команды STOP TCNT).

Вывод: изучил структурную схему однокристального микроконтроллера ВЕ48, его центральный процессор, организацию памяти программ и данных, средства расширения памяти программ и данных; рассмотрел систему команд по пересылке и обработке данных; ознакомился с приведенными ниже примерами программ на языке ассемблера; произвел ввод, отладку и трансляцию в объектный код этих программ; выполнил программы по шагам с просмотром результатов выполнения в регистрах и оперативной памяти. Перейти на страницу: 2 3 4 5 6 7 


Другое по теме:

Синтез системы автоматического регулирования скорости вращения диска В настоящее время оптические дисковые системы нашли множество применений. Возможность записи значительного объема информации и простота тиражирования делает оптический диск очень привлекательным. В сфере записи и хранения данных системы с прямой ...