7/86
За генерирането на времеви интервали има два подхода:
*да се реализира
софтуерно,
чрез цикъл;
*да се реализира
хардуерно – чрез таймер.
Софтуерно:
mov #100, r5 ;Зареди 100 в r5, 2-такта
L1: sub #1, r5 ;Намали r5 с едно, 2-такта jnz L1 ;Сравни и се върни в L1,
ако е ненулев;резултат, 2-такта
Въведение в таймерните модули 9/86
volatile uint8_t i;
for(i = 0; i < 100 ; i++){ }
и
ако знаем времето, за което се изпълнява една итерация на цикъла, може да изчислим закъснението на цялата for- конструкция.
Предимства – софтуерното генериране на времеви интервали не изисква специални хардуерни модули.
Недостатъци – докато микропроцесорът
изпълнява кода на цикъла,
нищо друго не може да извършва.
Конвейерното изпълнение на инструкцията и
зануляването на конвейера затрудняват изчислението на времето.
Въведение в таймерните модули 10/86
Хардуерно генериране на закъснение – може да се
извърши със таймерен модул, вграден в микроконтролера.
Неговата цел е да отмери определен брой тактови импулси и да сигнализира на процесора, когато е достигнат максимума.
Предимства – докато
този отделен модул отброява, микропроцесорът може да продължи изпълнението на програмата си.
Сподели с приятели: