PIC16F84A
- Владимир2204
- Открыл глаза
- Сообщения: 49
- Зарегистрирован: Чт июн 14, 2012 09:05:01
PIC16F84A
Добрый вечер. Подскажите пожалуйста, на микроконтроллере PIC16F84A есть выход RA4/TOCKI. Как с него подать тактирующие импульсы на ацп... и вообще возможно ли это сделать? Много раз пересмотреть описание, но не могу понять. Если T0CS выставить в "0", то значит, что на выходе RA4 будет формироваться импульсы, как я понял... или нет?
Re: PIC16F84A
Прежде всего мой Вам совет - "разоритесь" на более продвинутый PIC. Ваш - один из самых древних из серии PIC16. У него нет внутреннего АЦП. Более того, вывод RA4 с открытым стоком. Чтобы с него подать тактирующие импульсы на внешний АЦП, следует на выход подключить резистор 2-10Ком на + питания. Альтернативная функция T0CKI этого пина - вход импульсов таймера TMR0. Бит TOCS в регистре OPTION определяет источник входных импульсов для этого таймера:
1 = Transition on RA4/T0CKI pin
0 = Internal instruction cycle clock (CLKOUT)
Спойлер
bit 5 T0CS: TMR0 Clock Source Select bit1 = Transition on RA4/T0CKI pin
0 = Internal instruction cycle clock (CLKOUT)
- Владимир2204
- Открыл глаза
- Сообщения: 49
- Зарегистрирован: Чт июн 14, 2012 09:05:01
Re: PIC16F84A
Понятно. Но не могу от него отказаться, нато есть свои причины. Мне необходимо подать импульсы на ацп, частотой 100кГц, сам контроллер работает на 4МГц.
Re: PIC16F84A
Я поприкидывал в уме как-бы Вам помочь, именно как интерпретировать фразу "подать импульсы на АЦП". Посмотрел Ваши другие сообщения, где Вы спрашиваете о АЦП AD7819YN (кстати тоже очень древний, ему в четверг 13 лет будет), но на него никакую чатоту подавать не надо. Если вопрос был не об этом АЦП, специфицируйте как можно точнее, что Вам надо и для какого АЦП, т.к. иначе смысла в вопросе мало, практически нет.
Если планируете использовать PIC16F84A совместно с этим АЦП и имели в виду как производить начало измерений с частотой 100 кгц, т.е. каждые 10 мксек, то при работе МК от кварца на 4 мгц, частота тактирования ЦПУ будет всего 1 мгц. Т.е. на генерацию импульса начала преобразования, получение данных АЦП и их обработкы между измерениями у Вас будет всего 10 команд процессора. Этого очень мало, т.к. из всех периферийных блоков в этом МК есть только лишь таймер да и то без авторесета, т.е. для генерирования частоты 100 кгц ЦПУ будет будет практически работать на обеспечение работоспособности таймера. Там не менее, работа с таймером описана в любой книге по PIC, например в книге Предко, здесь в сундуке.
Если планируете использовать PIC16F84A совместно с этим АЦП и имели в виду как производить начало измерений с частотой 100 кгц, т.е. каждые 10 мксек, то при работе МК от кварца на 4 мгц, частота тактирования ЦПУ будет всего 1 мгц. Т.е. на генерацию импульса начала преобразования, получение данных АЦП и их обработкы между измерениями у Вас будет всего 10 команд процессора. Этого очень мало, т.к. из всех периферийных блоков в этом МК есть только лишь таймер да и то без авторесета, т.е. для генерирования частоты 100 кгц ЦПУ будет будет практически работать на обеспечение работоспособности таймера. Там не менее, работа с таймером описана в любой книге по PIC, например в книге Предко, здесь в сундуке.
- Владимир2204
- Открыл глаза
- Сообщения: 49
- Зарегистрирован: Чт июн 14, 2012 09:05:01
Re: PIC16F84A
Кажется разобрался. Похоже лучше просто написать программу для создания импульсов с частотой 100кГц, чем пересчитывать величины таймера, тем более что всё равно пока ацп не преобразует входной сигнал и не выведет результат на свой порт, контроллер будет простаивать. Спасибо за помощь. Если есть какие-то идеи интересные, то я с радостью их прочитаю....
Re: PIC16F84A
Ну какие я могу дать Вам идеи, если Вы так толком и не объяснили что Вам нужно. АЦП производит конверсию за 4.5 мксек, и при данной частоте тактирования МК сделает всего 5 программных циклов, т.е. не более 5 операций, так что долго простаивать ему не придется. Впрочем, один совет дать могу: перечитывайте свои сообщения до отправки на предмет можно-ли их понять без телепатии.
- Dima Lerich
- Открыл глаза
- Сообщения: 44
- Зарегистрирован: Пт июл 19, 2013 10:19:19
- Откуда: Владивосток
Re: PIC16F84A
Владимир2204 писал(а):я с радостью их прочитаю....
Вероятно, следует просто почитать документацию по МК. Отпадут все лишние вопросы. Прерывания по таймеру решают все проблемы генерации чего угодно и с какой угодно скоростью.
Иногда получается спаять пару проводов...
- КРАМ
- Друг Кота
- Сообщения: 25149
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: PIC16F84A
Dima Lerich писал(а):...и с какой угодно скоростью.
Я бы не был столь оптимистичен...
- Dima Lerich
- Открыл глаза
- Сообщения: 44
- Зарегистрирован: Пт июл 19, 2013 10:19:19
- Откуда: Владивосток
Re: PIC16F84A
А кроме тактовой частоты МК еще должно быть и нестандартное мышление, которое позволяет существенно улучшить производительность PIC и обойти "природные" (читай "врожденные") ограничения мелкосхемы.
Иногда получается спаять пару проводов...
- КРАМ
- Друг Кота
- Сообщения: 25149
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: PIC16F84A
"Нестандартное мышление", которое утверждает, что

не позволит не то чтоПрерывания по таймеру решают все проблемы генерации чего угодно и с какой угодно скоростью
, но и приблизиться к даташитным...обойти "природные" (читай "врожденные") ограничения мелкосхемы
- Dima Lerich
- Открыл глаза
- Сообщения: 44
- Зарегистрирован: Пт июл 19, 2013 10:19:19
- Откуда: Владивосток
Re: PIC16F84A
Ну это Вы зря. В даташитах пишут и не совсем то, что нужно. Мне как-то потребовалось сделать на 84 пике с 4 мгц сомпорт на 9600. И в даташитах нашел вариант, но только на 2400 и то в режиме "поочередно". Результат таков, что пришлось сделать на 9600 на тех-же 4 мгц и при этом "туда-сюда" одновременно. Так что разработчики остались нервно курить в коридоре... А Вы говорите даташиты. Так сказать "мелко плавают ребята".
Иногда получается спаять пару проводов...
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: PIC16F84A
То, что Вы смогли завести таймер на периоды в 104 такта - это, конечно, похвально. Но КРАМ твердит Вам совсем не о том. Нельзя сделать прерывания по таймеру с периодом, меньшим чем сумма тактов входа в обработчик, обработки прерывания и выхода из обработчика. Так что с заявлением
И "нестандартное мышление" тут совсем не причём.
Вы погорячились.Прерывания по таймеру решают все проблемы генерации чего угодно и с какой угодно скоростью
И "нестандартное мышление" тут совсем не причём.
- КРАМ
- Друг Кота
- Сообщения: 25149
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: PIC16F84A
Dima Lerich писал(а):И в даташитах нашел вариант, но только на 2400 и то в режиме "поочередно".
В "даташитах" на оный контроллер нет ни слова про программный УАРТ.
То, что Вы назвали "даташитами" на деле есть AppNotes ...
К даташиту они не имеют никакого отношения.
- Dima Lerich
- Открыл глаза
- Сообщения: 44
- Зарегистрирован: Пт июл 19, 2013 10:19:19
- Откуда: Владивосток
Re: PIC16F84A
Ну прекрасно, тогда при чем тут даташиты? Приложения софтинга делает тот, кто по определению хорошо знает "что внутри"?Тогда они должны были бы знать свою тему лучше, коли на короткой ноге с разработчиками железа. Иначе зачем микрочиповцы прелагают их варианты в публикациях? Следовательно, если они лучшие, так и разработчики железа не на высоте. Не так ли?
Моя мысль такова, что знать что внутри, мало. Нужно еще думать как лучше использовать то, что внутри.
Моя мысль такова, что знать что внутри, мало. Нужно еще думать как лучше использовать то, что внутри.
Иногда получается спаять пару проводов...
- КРАМ
- Друг Кота
- Сообщения: 25149
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: PIC16F84A
Dima Lerich писал(а):Иначе зачем микрочиповцы прелагают их варианты в публикациях? Следовательно, если они лучшие, так и разработчики железа не на высоте. Не так ли?
Не следовательно...
Предложили рабочий вариант и все.
Никто не претендует на лучшее в подобном мазохизме.
Мало ли кому придет в голову делать БПФ на 84-м...
Тоже своего рода задача...
- Dima Lerich
- Открыл глаза
- Сообщения: 44
- Зарегистрирован: Пт июл 19, 2013 10:19:19
- Откуда: Владивосток
Re: PIC16F84A
Насчет БПФа не знаю, не пробовал извращаться до такой степени. А вот СОМпорт потребовался и пришлось сделать, так сказать дешево и сердито. Нестандартно, согласен. Но была задача, появиласть необходимость решения. Формально согласно документации НЕТ РЕШЕНИЯ, а фактически ЕСТЬ. Вот об этом и речь. И мне совершенно неинтересно мнение наших заокеанских советчиков, когда есть необходимость "несимметричного ответа".
Иногда получается спаять пару проводов...
- КРАМ
- Друг Кота
- Сообщения: 25149
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: PIC16F84A
А Вас кто то принуждал обращаться к заокеанским советчикам?
Захотели себе геморроя - получили.
Есть контроллеры, позволяющие заменить 84-ый пин2пин и не извращаться как вошь на сковородке.
Тем более, что 84-ый совсем не дешев...
Захотели себе геморроя - получили.
Есть контроллеры, позволяющие заменить 84-ый пин2пин и не извращаться как вошь на сковородке.
Тем более, что 84-ый совсем не дешев...
- Dima Lerich
- Открыл глаза
- Сообщения: 44
- Зарегистрирован: Пт июл 19, 2013 10:19:19
- Откуда: Владивосток
Re: PIC16F84A
Пардон, но год то на дворе сейчас 2013, а тогда был 1998... Из всех ПИКов доступности вообще было мало, а задачи уже тогда появились. Ну это я к тому, что всегда наши потребности могут несколько обгонять наши возможности. Ждать готового решения снаружи, значит заведомо отставать. Ищите свои пути, старайтесь идти на шаг впереди. Лично у меня это нормальный стиль жизни. Чего-то нет, делаю.
Иногда получается спаять пару проводов...
- КРАМ
- Друг Кота
- Сообщения: 25149
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: PIC16F84A
Dima Lerich писал(а):Ну это я к тому, что всегда наши потребности могут несколько обгонять наши возможности. Ждать готового решения снаружи, значит заведомо отставать. Ищите свои пути...
Уже и давно.
Моралите не в кассу, уважаемый...
ЗЫ. А Вы так ничего, школьником были продвинутым...
25-15=10 лет.
- Dmitry Dubrovenko
- Поставщик валерьянки для Кота
- Сообщения: 2349
- Зарегистрирован: Вс янв 09, 2011 16:51:39
- Откуда: Санкт-Ленинград
- Контактная информация:
Re: PIC16F84A
Для того, что бы UART нормально работал, необходимо делать несколько выборок.Dima Lerich писал(а):фактически ЕСТЬ
Сам делал подобное устройство.
Для тактовой 24MHz, достиг 31250 бод, и это - практически предел. Для 4 MHz, будет, соответственно, в шесть раз меньше, так что, насчёт 9600, это Вы малость приврали.
ICQ нет, и, в ближайшее время, не будет.