Оценить время выполнения команд в микросекундах (fк = 12 МГц) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Оценить время выполнения команд в микросекундах (fк = 12 МГц)

Поиск

17. Оценить время выполнения команд в микросекундах (fк = 12 МГц)

Для определения времени выполнения команды, сначала разберем ее работу и время выполнения каждой команды в машинных циклах (мц)

Байты, занимаемые программой Время выполнения в мц
0,1   MOV B, #N1     ; 1 мц, запись в B числа N1

2,3    MOV А, #N2    ; 1 мц, запись в аккум А числа N2

4, 5, 6 DJNZ B, $ ; 2 мц, Цикл (уменьшение B на 1пока не 0)

7,8,9 DJNZ АСС, $-3                                               7,8,9 DJNZ АСС, $-3; 2 мц, Цикл (уменьшение A на 1 пока не 0) переход на 3 байта назад, т.е. на 4-й байт)

 

Первый цикл выполнится N1 paз (если N1 - 0 то 256 paз) и обнулит B, после чего программа перейдет к выполнению второго цикла, который выполнит декремент А, сравнит с «0» и перейдет по адресу S-7. т.е. «само на себя» и еще 3 байта назад, т.е. на 4 байт программы, где начинается предыдущий цикл. Следовательно, программа зациклена и будет выполняться долгое время

Количество циклов равно: N = 1+1+2*N1+2*N2+2*N2*256

Длительность одного мц равна 12 тактам микроконтроллера, следовательно, 1мц=1мкс;

Длительность выполнения равна: N (мкс)

 

18. Принцип действия канала выходного сравнения таймера микроконтроллера AVR.

16-разрядный компаратор непрерывно сравнивает значение TCNTn со значением регистра порога сравнения (OCRnx).Если значение TCNT равно OCRnx, то компаратор формирует сигнал совпадения .Следующий за совпадением такт ЦПУ устанавливает флаг сравнения (OCFnx).Если бит OCIEnx=1, то установка флага сравнения приведет к генерации прерывания по результату сравнения. Флаг OCFnx автоматически сбрасывается после перехода на вектор обработки прерывания. Альтернативно флаг OCFnx сбрасывается программно, если записать в него лог. 1.Сигнал совпадения используется формирователем выходного сигнала, результирующая форма которого зависит от выбранного режима работы таймера и режима формирования импульсов. Сигналы Верхний и Нижний предел исп-ся формирователем импульсов для отработки особых случаев задания экстремальных значений в некоторых режимах работы.

Если задан любой из 12 режимов ШИМ, то OCRnx содержит двойную буферизацию, которая синхронизирует обновление регистра порога сравнения OCRnx по достижении верхнего или нижнего предела счета. Эта синхронизация предотвращает возможность возникновения несимметричных ШИМ импульсов нечетной длины. OCRnx считывается напрямую, а не через временный регистр старшего байта. Запись регистров OCRnx происходит через временный регистр, т.к. все 16 разрядов участвуют в сравнении непрерывно. Первым необходимо записать старший байт. Если выполняется запись младшего байта то параллельно копируется содержимое временного регистра в старшие 8 разрядов буферного регистра OCRnx или регистра порога, тем самым обновляя все 16 разрядов за один такт ЦПУ..

 



Поделиться:


Последнее изменение этой страницы: 2024-06-17; просмотров: 68; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.005 с.)