27.03.2018, 12:49
|
|
Гражданин KAZUS.RU
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
|
Подсчет импульсов TMR1
Доброго времени!
Прошу сразу шапками не закидывать.
Нужно тупо посчитать кол-во импульсов. Задействован TMR1 (65535 устраивает, 256 - мало). PIC16F883, 8МГц, не суть важно. В железе сейчас именно такой. Входной - TTL, частота от 1 до 1000 Гц. Как бы всё.
Имею не стабильный счёт
На порт же подвешен ЖКИ. Грешил на изменение уровней, при работе с другими RCx. Сам вход подтянут 1К, p-n-p нулит. Смущает наличие резистора в генераторе (по даташит), думал оттуда ноги растут.
В железе отключил 12 вывод. Землил, подтягивал - не помогло.
Вспомнил о Протеусе. Результат, схожий. Пробовал конфигурировать T1CON: С3, С7, 83, 87, 03, 07 - слабо помогло. Запутался в край.
Вот, что имею.
Код:
|
LIST P=16F883
#include ‹P16F883.inc›
__CONFIG _CONFIG1, 20E5h
__CONFIG _CONFIG2, 3FFFh
RADIX hex ; шеснадцатиричка
errorlevel -302,-306 ;(отключение сообщений)
MOVFF MACRO F1,F2 ; пересылка регистрF1- регистрF2
MOVFW F1
MOVWF F2
ENDM
MOVLF MACRO CONST,F1 ; пересылка константы в регистр
MOVLW CONST
MOVWF F1
ENDM
ORG 0x00
CLRF STATUS
GOTO Setup
ORG 0x04
Retfie
Setup CLRF PORTC
BSF STATUS,RP0 ; bank 1
MOVLF 0x7F,OSCCON ; 8 MGz
MOVLF 0x03,TRISC ; для Т1 Clock
MOVLF 0xE0,STATUS ; bank 3
CLRF ANSEL ;
CLRF ANSELH ; All = Digital
MOVLF 0x20,STATUS ; bank 1
MOVLF 0x0F,OPTION_REG
CLRWDT ; for WDT
MOVLF 0x06,OPTION_REG
CLRF STATUS ; bank0
CLRF TMR0
MOVLF 0x03,T1CON
CLRF TMR1L
CLRF TMR1H
Start CLRWDT
MOVFW TMR1L
GOTO Start
End |
Направьте на путь истинный, плиз.
__________________
Смотрящий под ноги - звёзды видит в лужах.
Последний раз редактировалось rusyvochka; 27.03.2018 в 13:06.
|
|
|
|
27.03.2018, 15:34
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 7,775
Сказал спасибо: 2,668
Сказали Спасибо 2,644 раз(а) в 1,952 сообщении(ях)
|
Re: Подсчет импульсов TMR1
Сообщение от rusyvochka
|
Смущает наличие резистора в генераторе (по даташит)
|
Этот резистор - всего лишь "вгоняет" логический элемент внутри микросхемы в линейный режим работы - чтобы при подключении кварца к выводам этого эл-та снаружи он начал генерировать. В других микроконтроллерах тоже такое может быть.
Осциллографом смотрели - уровень сигнала соответствует?
Сообщение от rusyvochka
|
Входной - TTL, частота от 1 до 1000 Гц
|
Сообщение от rusyvochka
|
Сам вход подтянут 1К, p-n-p нулит
|
Непонятно. Подтянут - обычно понимают подтяжку к питанию. Тогда как можно нулить через транзистор p-n-p структуры...
Но ведь может быть и подтяжка к земле.
Ну и осциллографом убедились, что кварц генерит стабильно? Можно вывести сигнал с кв. генератора (м.б. через делитель) на внешнюю ногу и посмотреть стабильность частоты. Да, и
Сообщение от rusyvochka
|
не стабильный счёт
|
- это сколько в цифрах?
|
|
|
|
27.03.2018, 15:45
|
|
Прописка
Регистрация: 29.10.2008
Сообщений: 272
Сказал спасибо: 0
Сказали Спасибо 102 раз(а) в 95 сообщении(ях)
|
Re: Подсчет импульсов TMR1
Сообщение от rusyvochka
|
Имею не стабильный счёт
|
Дребезг... Для проверки, тупо, поставь в Протеусе амплитуду импульса 25 вольт (крутизна фронта возрастет) - и все будет считать...
|
|
|
Сказали "Спасибо" mimuh64
|
|
|
27.03.2018, 16:01
|
|
Гражданин KAZUS.RU
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
|
Re: Подсчет импульсов TMR1
Сори, сори. Не все описал.
Транзистор, есно, n-p-n, подтяжка 1к к +5в, входной сигнал в железе - омниполярный Холла, дребезга не бывает по умолчанию. Пробовалось и с промышленным индукционным, 15 вольтовым. Потому и транзистор для TTL преобразования на входе появился.
TMR1 используется не как генератор, а как счетчик.
Тактовая частота пика - кварц, 8 МГц, проверял и от внутреннего и перестраивал на 4 - без разницы.
Да и после Протеуса, с железом играться рано, да и результат идентичный, но на экране как-то проще
А считает... ну стабильности при хаосе то нет, ну что-то на подобии -
2,4,5,6,8,9,11,12,13...
1,2,3,6,7,9,10,11,15...
То есть, никакой системы или закономерности не наблюдается.
Если в железе еще и индикатор "может наводить" (а вдруг), то в Протеусе откуда то? В архиве моделька для Протеуса о по содержимому акк видно счет ТМР1
РД: 25 вольт амплитуда не помогло.
И еще: частота генератора 1Гц, смена данных может быть на три за секунду, как по очереди, так и с перескоком...
__________________
Смотрящий под ноги - звёзды видит в лужах.
Последний раз редактировалось rusyvochka; 27.03.2018 в 16:07.
|
|
|
|
27.03.2018, 16:10
|
|
Прописка
Регистрация: 29.10.2008
Сообщений: 272
Сказал спасибо: 0
Сказали Спасибо 102 раз(а) в 95 сообщении(ях)
|
Re: Подсчет импульсов TMR1
Я написал то..., что сходу увидел, ты бы хоть попробовал... мож и мысли сдвинутся, также не понятно почему с одним генератором только по одному фронту считает, а с другим по обоим..
У меня все считает...
|
|
|
|
27.03.2018, 16:16
|
|
Гражданин KAZUS.RU
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
|
Re: Подсчет импульсов TMR1
Сообщение от mimuh64
|
Я написал то..., что сходу увидел, ты бы хоть попробовал... мож и мысли сдвинутся, также не понятно почему с одним генератором только по одному фронту считает, а с другим по обоим..
У меня все считает...
|
Протеус / макетка? 12 нога где?
Попробовал? да я третьи сутки то с паяльником, то за клавой. Потому и крик о помощи
Прямо сейчас в Протеусе выставил 25 - так же. Скажу больше - Вчера на другом, домашнем компе с другой версией проверя - аналогично. Уж не с T1CON косяки? Как к стати задал?
РДД: сори, подумал мой архив продублирован...
__________________
Смотрящий под ноги - звёзды видит в лужах.
Последний раз редактировалось rusyvochka; 27.03.2018 в 16:20.
|
|
|
|
27.03.2018, 16:20
|
|
Прописка
Регистрация: 29.10.2008
Сообщений: 272
Сказал спасибо: 0
Сказали Спасибо 102 раз(а) в 95 сообщении(ях)
|
Re: Подсчет импульсов TMR1
Блин... да хоть с ногой хоть без - считает и все... четко, стабильно... без балды как часы... зачем мне врать?
Я не вижу что ты мой файл скачал... я проверил в 7.10
|
|
|
|
27.03.2018, 16:25
|
|
Гражданин KAZUS.RU
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
|
Re: Подсчет импульсов TMR1
Если сказать, что я в шоке (не надо рифм), то это ничего не сказать!
Присланная схема считает, моя - сбоит!!!
Это как же понимать?
Модель пика ведь в архив не ложится? Генератора тоже.
Ладно. Попробую 12 вывод в железе тоже не подключать. Отпишусь.
РД: 7-10 это по какому?
__________________
Смотрящий под ноги - звёзды видит в лужах.
|
|
|
|
27.03.2018, 16:27
|
|
Прописка
Регистрация: 29.10.2008
Сообщений: 272
Сказал спасибо: 0
Сказали Спасибо 102 раз(а) в 95 сообщении(ях)
|
Re: Подсчет импульсов TMR1
Смотри... вот флеш
Протеус 7.10
ЗЫ... ага вот теперь вижу что проверил... да хрен его знает почему... долбай железо...
Последний раз редактировалось mimuh64; 27.03.2018 в 16:30.
|
|
|
|
27.03.2018, 16:33
|
|
Гражданин KAZUS.RU
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
|
Re: Подсчет импульсов TMR1
Сообщение от mimuh64
|
Смотри... вот флеш
Протеус 7.10
ЗЫ... ага вот теперь вижу что проверил... да хрен его знает почему... долбай железо...
|
7.9 SP1 , не думаю, что большая разница. Уточнил, думал, что время
На данном компе виде не сниму, только часа через три попробую приклеить.
__________________
Смотрящий под ноги - звёзды видит в лужах.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:41.
|
|