Не подумайте что злоупотребляю «эфирным» временем, но все еще проектирую устройство для замера оборотов двигателя. Хотел дойти до сути сам, без копирования других проектов. Только так можно чему либо научиться. Сидел два дня, пока не получается…..
Хочу довести до конца, или все брошу.....Это не угроза
Подскажите по какому пути идти.
Напоминаю суть: предполагаю считать число оборотов двигателя на тест работает или нет.
Если двигатель делает 300 об/мин =значит он заведен, если меньше = значит стоит.
Моя алгебра:
300 об/мин = 5 об/сек.
Если двигатель четырех-цилиндровый, один оборот двигателя = четыре ТАХО импульса.
5 об/сек Х 4 импульса = 20 импульсов в 1 сек.
Предполагаю что счетчик нужен на 20 импульсов, т.е. однобайтовый.
Значит предделитель в TMRO не нужен, т.к. переполнения TMRO не будет.
Время подсчета = 1 сек
Т.е. если двигатель работает, то число импульсов в 1 сек должно быть больше 20.
20 (десятич.) = 14 НЕХ
Предполагаю загонять это число в регистр и отнимать его от числа импульсов.
До этого момента сообразил только следущее:
– установил порт А как входной, порт B как выходной.
- в OPTION регистре 4-ый бит PSA устанавливаю в 0 (т.е. предделителя нет).
5-ый бит TOCS устанавливаю в 1 (внешний сигнал). Остальные биты OPTION сброшены.
- сбрасываю TMRO (новый счет)
- физически закорачиваю выводы RA3, RA4 для включения и выключения счетчика. (RA3 включает/выключает, RA4 принимает сигналы)
- В течении секунды предполагаю замерять число принимаемых импульсов.
Для этого вписываю число 0001 1000 в TRSA для включения счетчика и через ровно 1 сек нужно вписать число 0000 0000 в TRSA (вырубаю счетчик).
Дальше у меня ничего не получается. Полагаю, что здесь мне надо «придумать» задержку в одну секунду. Кстати имеется от другой более эффективный способ задержки времени ??? ежели чем загонять число FF (256) в регистр и применять команду DECFSZ , что при использовании 4 мГц кристалла дает задержку всего лишь в 255 Х 2=510мкСек....МИКРО!
Скольже мне нужно задействовать регистров, что бы получить задержку в 1 сек?
Повыдёргивал микропроцессор из платы программирования в макетную плату столько раз, что болят пальцы левой руки и они кажется стали длиннее.
Пока не получается и исполняю петли Нестерова.
Кстати, нужно ли сбрасывать 2-ой бит регистра INTCON флаг переполнения TMRO ?
Всем спасибо!!!!!!!!