ВУЗ:
Составители:
16
Для МК51, имеющего в своём составе два таймера/счётчика, возможен четвёртый
способ: аппаратурная реализация временного интервала с аппаратурным подсчётом числа
импульсов.
Первый способ неэффективен и значительно сложнее других, а потому не
рассматривается, второй и третий являются альтернативными, поскольку у МК48 имеется
только один таймер/счётчик.
При аппаратурной
реализации подсчёта числа событий импульсный датчик должен
быть подключён к входу Т1 микроконтроллера:
; версия для МК48
stdly: clr a ; сброс счётчика импульсов
mov t,a
strt cnt ; запуск счётчика
call delay ; временная задержка
stop tcnt ; останов счётчика
mov a,t ; фиксация результата
Подсчёт импульсов производится счётчиком событий, а отсчёт заданного временного
интервала - подпрограммой DELAY.
При аппаратурной реализации отсчёта временного интервала
импульсные сигналы
удобнее всего принимать на ход Т0:
; версия для МК48
ctldyt:mov a,#0 ; настройка таймера
mov t,a
strt t ; запуск таймера
mov r1,a ; сброс счётчика импульсов
waitc: jtf stp ; если временной интервал истёк, то
; идти к stp
jt0 waitc ; ожидание импульса
waito: jnt0 waito
inc r1 ; инкремент счётчика
jmp waitc ; переход для продолжения счёта
stp: stop tcnt ; останов таймера
exit: ... ; выход из процедуры
Страницы
- « первая
- ‹ предыдущая
- …
- 14
- 15
- 16
- 17
- 18
- …
- следующая ›
- последняя »
