|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Временная задержка большой длительностиСхема алгоритма программной реализации временной задержки большой длительности методом вложенных циклов показана на рисунке 2. Там же обозначено, сколько раз выполняется каждый фрагмент программы. Рисунок 2 – блок-схема процедуры формирования временной задержки Числа X и Y выбираются из соотношения Т = 2 +1 + X(1 + 2Y + 2) +2, где Т - реализуемый временной интервал в микросекундах. Максимальный временной интервал, реализуемый таким способом, при X = Y = 255 составляет 130 мс. В качестве примера рассмотрим подпрограмму, реализующую временную задержку 100 мс: ........... ACALL DELAY;вызов подпрограммы задержки ...........
DELAY: MOV R1,#201;загрузка x LOOPEX: MOV R2,#247;загрузка y LOOPIN: DJNZ R2,LOOPIN;декремент R2 и внутренний цикл ;если (R2) не равно нулю DJNZ R1,LOOPEX;декремент Rl и внешний цикл ;если (Rl) не равно нулю
MOV R3,#48;точная подстройка временной LOOPAD: DJNZ R3,LOOPAD;задержки NOP
RET
Здесь два вложенных цикла реализуют временную задержку длительностью 5 + 201(3 + 2 х 247) = 99 902 мкс, а дополнительный цикл LOOPAD реализует задержку 98 мкс и тем самым обеспечивает точную подстройку временного интервала.
Для реализации временных задержек большей длительности необходимо использовать тройные и т.д. вложенные циклы. При этом при отсутствии необходимости в точной задержке, т.е. если погрешность в несколько процентов является приемлемой, удобно считать время задержки по приближенной формуле: , где 2 – время выполнения самого внутреннего цикла (в машинных циклах); ТМЦ – время выполнения одного машинного цикла; X, Y, Z, … - количество выполнений соответствующих вложенных циклов
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |