20.11.2012, 14:17
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Подключение 2х сигналов на один порт МК
Сообщение от feo
|
А что посоветуете по-меньше 4053 (там 6 входов и 3 выхода), надо всего-то 2 входа и 1 выход.
|
CD4066. Два гейта на ключи и один гейт на инвертор, если не управлять ключами отдельно, а одним сигналом.
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
20.11.2012, 22:55
|
|
Временная регистрация
Регистрация: 30.03.2005
Адрес: Нижний Новгород
Сообщений: 75
Сказал спасибо: 29
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Подключение 2х сигналов на один порт МК
Сообщение от alvadep
|
Или нет.
На это семейство есть и русский вариант DS. Внимательно изучите его.
|
Про бит T1OSCEN регистра T1CON я внимательно прочитал, но при включении тааймера на канал RC1 в выключенном канале RC0 осцил видит сигнал амплитудой 2,5 вольта. И результат счета некорректный всегда равен показаниям таймера на RC0. Если же вместе с изменением T1OSCEN физически снимать контакт отключенного канала, то в режиме отладки пик действительно считает с двух каналов RC0 и RC1 корректно.
Причем сигнала, или даже его остатка, включенного RC0 в RC1 осцил не видит. Но стоит включить RC1 и выключить RC0, как в RC0 видне четкое эхо-ослабленный сигнал.
Сейчас попробовал поменять местами таймеры, вдруг в пайке или в элементах проблема. Нет. Включенный RC1 гадит в выключенный RC0. Но не наоборот. Похоже без переключателя никак.
Последний раз редактировалось feo; 20.11.2012 в 23:08.
Причина: добавление
|
|
|
|
20.11.2012, 23:18
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
|
Re: Подключение 2х сигналов на один порт МК
Чудно как-то получается. Я Вам говорю
Цитата:
|
T0CKI - для таймера 0 и T1CKI для таймера 1.
|
, т.е. одну последовательность импульсов подсчитывать таймером TMR0, а вторую последовательность импульсов подсчитывать таймером TMR1. А Вы упорно пытаетесь завести это все (обе последовательности импульсов) на один таймер. Для одного таймера счетный вход действительно один, но что мешает использовать два таймера, тем более что в запасе есть еще TMR2, по которому можно отсчитывать временные интервалы, если есть в этом необходимость.
Последний раз редактировалось alvadep; 20.11.2012 в 23:20.
|
|
|
Сказали "Спасибо" alvadep
|
|
|
20.11.2012, 23:30
|
|
Временная регистрация
Регистрация: 30.03.2005
Адрес: Нижний Новгород
Сообщений: 75
Сказал спасибо: 29
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Подключение 2х сигналов на один порт МК
Большое спасибо за помощь! Будем разбираться. Т.е. по теории я дожен посчитать последовательность по 1 таймеру до прерывания по времени, потом его выключить и посчитать по 2 таймеру тоже до прерывания по времени. Т.е. не одновременно, а последовательно их переключая.
|
|
|
|
20.11.2012, 23:50
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
|
Re: Подключение 2х сигналов на один порт МК
Вы можете делать подсчет одновременно. TMR0, TMR1 и TMR2 работают не зависимо друг от друга.
|
|
|
Сказали "Спасибо" alvadep
|
|
|
22.11.2012, 21:29
|
|
Временная регистрация
Регистрация: 30.03.2005
Адрес: Нижний Новгород
Сообщений: 75
Сказал спасибо: 29
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Подключение 2х сигналов на один порт МК
Господа, подскажите как остановить таймер TMR0?
Таймер TMR1 я останавливаю T1CON.B0=0 и могу забрать результат подсчета из регистов TMR1H, TMR1L в любой момент программы обработки прерывания, не беспокоясь, что значения "убегут".
С TMR0 у меня так не получается, в зависимости от того в какое место программы обработки прерывания поместить i=TMR0 получаю разные значения.
Как его запускать/останавливать?
Большое спасибо!
|
|
|
|
23.11.2012, 02:21
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
|
Re: Подключение 2х сигналов на один порт МК
Таймер TMR0 остановить нельзя, но можно прекратить подачу счетных импульсов. RA4 делаете выходом и подаете "0" на этот пин (при условии, что по входу стоит резистор). В таком варианте есть вероятность поймать один лишний импульс. Лично я бы таймер не трогал, пусть себе крутится (это 16-ти разрядный таймер рекомендуют останавливать при чтении двух регистров). Считать содержимое регистра TMR0 можно одной командой на ходу, проблем нет. Сразу после считывания можно обнулить регистр таймера для последующих подсчетов, а можно не обнулять, просто вычислять разницу между текущим и предыдущим считанным значением.
И еще, время реакции на прерывание (при условии, что не обрабатывается другое прерывание) у пиков всегда одинаковое (в отличии от АВРов) и его можно компенсировать или учесть программно.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 00:26.
|
|