АЦП на PIC16FХХ
|
|
skiip |
Дата: Вс, 17.01.2016, 15:40 | Сообщение # 16 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
26
Замечания:
±
На сайте с 24.12.2008
Статус:
Offline
|
Что то ковыряю и понять не могу. Вот хочу задействовать аналоговый вход AN2. чтот не полусается. использую внутренний генератор. Поправте где ошибка что бы заработал AN2 как аналоговый вход. @ device pic16F676, WDT_OFF, MCLR_OFF', INTOSC DEFINE ADC_OSC 4 ' частота внутреннего генератора 4 МГц DEFINE ADC_BITS 10 ' количество разрядов в результате АЦП DEFINE ADC_CLOCK 3 ' источник синхронизации АЦП (rc=3) DEFINE ADC_SAMPLEUS 50 ' время выборки АЦП преобразования 50мкс
ADCON0 = %10001011 ' канал 02 (AN2) CMCON = 7 ANSEL = %00000100 ' AN2 аналог вход TRISA = %00000100 ' вывод PORTA.2 на входДобавлено (02.01.2016, 09:47) --------------------------------------------- Дня доброго (кому вечера) уважаемые люди. Благодаря вашейпомощи, я ну хоть как то разобрался с пиком 16F676. Вот беда. Печатную плату не хочется переделывать. Да и в данном пике мало портов. И это не проблема. Просто точку можно аннулировать, а порты в печатке хорошо легли. Порт AN3 (RA4), расположен неудобно по дорожкам печатки и программе. Методом проб и ошибок ни как не могу задействовать AN2 (RA2). В архиве не обращайте внимания, что первый разряд отключил. Просто проверяю работу порта. Архив «исходник – мерит, AN2- что то пытаюсь изменить на работу данного порта». Генератор внутри программный. В архив выложил печатку (от того термометра). На базе ней решаю вопрос с
skiip
|
|
|
|
anatol |
Дата: Пн, 18.01.2016, 10:28 | Сообщение # 17 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
Цитата skiip ( ) ADCON0 = %10001011 ' канал 02 (AN2) источник синхронизации АЦП
|
|
|
|
skiip |
Дата: Пн, 18.01.2016, 16:16 | Сообщение # 18 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
26
Замечания:
±
На сайте с 24.12.2008
Статус:
Offline
|
ADCON0 = %10001011 ' канал 02 (AN2) ADCON0 = %11001011 ' канал 02 (AN2) ADCON0 = %00001011 ' канал 02 (AN2) Не работает
skiip
|
|
|
|
ivan_fd |
Дата: Пн, 18.01.2016, 20:30 | Сообщение # 19 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Если можно, то весь код и какой компилятор у Вас?
|
|
|
|
anatol |
Дата: Вт, 19.01.2016, 09:44 | Сообщение # 20 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
Я был неправ и прав одновременно. Под рукой был даташит на другой контроллер. Сегодня скачал на ваш. И вижу что у вас не установлен ADCON1. По умолчанию соответственно синхронизация (квантование) = Fosc/2. При вашей частоте это 500 ns, а минимальный период равен 1,6 ms. Читай главу 7 даташита. Или вставь ADCON1 = %00010000 = Fosc/8
Сообщение отредактировал
anatol - Вт, 19.01.2016, 09:45
|
|
|
|
skiip |
Дата: Вт, 19.01.2016, 17:16 | Сообщение # 21 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
26
Замечания:
±
На сайте с 24.12.2008
Статус:
Offline
|
сегодня на работе чего только не перепробовал. и даже так делал. Выбор источника тактового сигнала 000=FOSC/2 001=FOSC/8 010=FOSC/32 X11=FOSC/(отдельный внутренний RC генератор.Максимальная F=500кГц 100=FOSC/4 101=FOSC/16 110=F /64 Все подряд. Та же архив с исходником в PicBasic, и ProteusДобавлено (19.01.2016, 17:09) --------------------------------------------- Там в архиве проект. Ваши действия, может помогут вашему воображению. Я перепробовал всё. Ведь оригинал работает, и почему? Наверно я не прав в конфигурации? Добавлено (19.01.2016, 17:12) --------------------------------------------- ADCON1 перетряс. где то собака зарыта в конфиг. Я тут начал переходить с 84 на 676. столкнулся с RA4. проблема вылезла на конфиг. ( термометр с точ после запятой) мой проект. Добавлено (19.01.2016, 17:16) --------------------------------------------- ТЕРМОМЕТР 16F676 DA18B20 LCD ДО ДЕСЯТЫХ http://www.picbasic.ru/forum/9-1747-1 наверно откроется. Там мне помогли выйти от старья к людям
skiip
|
|
|
|
anatol |
Дата: Вт, 19.01.2016, 21:20 | Сообщение # 22 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
skiip, а полный проект слабо привязать? Где хексы. Я уже писал что не работаю с бейсик про, да и мало апологетов. Протон бейсик немного изменен по отношению к про. но потолковей будет. Благо протеус дома стоит. Посмотрел, сначала увидел MCLR оторван. Потом в Блокноте открыл прогу - MCLR выключен. Сравнил программы и увидел что поменялись лишь порты. значит дело в них. Плохо что не выражаете ясно мысли. Нигде не описали что и как не работает. Не запускается в протеусе или в железе. Показания не соответствуют. Или еще что-то. Если судить по тому что у вас "плохой резистор", то появляется подозрение на подключенные подтягивающие резисторы. WPUA — WEAK PULL-UP REGISTER Описаны в 3.0 PORTS A AND C даташита. Оказывается что после сброса (старта) они подключены. Т.е. необходимо включить после дэфайнов WPUA = %00000000 если не требуется индивидуальная подтяжка. "Хороший" контроллер вы выбрали - там еще и компаратор попаскудит, зато если разберетесь - остальные легко пойдут.
|
|
|
|
skiip |
Дата: Ср, 20.01.2016, 01:40 | Сообщение # 23 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
26
Замечания:
±
На сайте с 24.12.2008
Статус:
Offline
|
До сих пор удивляюсь, что почиму вы в ветке форума PicBasic. Нет ответа так молчите. На мой вопрос ответят более компитентные люди. А полный экзешник . Скачать на главной странице сайта. Ну или по гугли.
skiip
|
|
|
|
anatol |
Дата: Ср, 20.01.2016, 08:53 | Сообщение # 24 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
skiip, сожалею что с неграмотным и дураком связался.
|
|
|
|
skiip |
Дата: Чт, 21.01.2016, 10:14 | Сообщение # 25 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
26
Замечания:
±
На сайте с 24.12.2008
Статус:
Offline
|
Ваша реплика вам к лицу. Не чего толкового и вразумительноговы и сказать не можете. Заметьте ни я начал. Я думаю, админ позаботится о вас и вашей бранью. Вы не в пивнушке.
skiip
|
|
|
|
ivan_fd |
Дата: Чт, 21.01.2016, 12:09 | Сообщение # 26 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
skiip, просьба выражаться ясно, а то мало, что понятно что конкретно у вас не работает. Так же Вы не написали какой компилятор используете.
И все же вот Вам рабочий пример. Компилятор PBPX 3.0.1.1
|
|
|
|
MiXaS |
Дата: Чт, 21.01.2016, 14:04 | Сообщение # 27 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
549
Замечания:
±
На сайте с 02.10.2010
Статус:
Offline
|
skiip, здесь не форум по магии торо! По Вашим не полным ответам никто гадать не будет.anatol, дал дельный совет. Если Вы хотите решить свою задачу, я вижу 2 пути: 1. Раскурить даташит и прописать ВСЕ регистры с необходимыми значениями. 2. Предоставить свой код, желательно с файлом протеуса.
|
|
|
|
anatol |
Дата: Чт, 21.01.2016, 14:54 | Сообщение # 28 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
Просто стало интересно что может не работать. Переделал программу под Протон и ...ошибок в программе несколько. Без комментариев. Программы под этот проц также не будет. Прилагаю хекс и протеусовский файл ТС. Желательно в Протеусе уменьшить частоту проца - не будет горчичников - и указать хекс в качестве программы.
Сообщение отредактировал
anatol - Чт, 21.01.2016, 14:55
|
|
|
|
skiip |
Дата: Чт, 21.01.2016, 17:43 | Сообщение # 29 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
26
Замечания:
±
На сайте с 24.12.2008
Статус:
Offline
|
Не, ну ребята. НЕХ и вам я сам вручить могу. Разбирайтесь сами. Мне надо исходник. Добавлено (21.01.2016, 17:43) --------------------------------------------- Там же в архиве я всё дал. Исходник работает с NA3 другой AN2 с которым надо поработать. есть результат на те
skiip
|
|
|
|
skiip |
Дата: Чт, 21.01.2016, 18:25 | Сообщение # 30 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
26
Замечания:
±
На сайте с 24.12.2008
Статус:
Offline
|
А, я обошелся малой кровью. Не изменяя печатной платы.Просто ставим перемычку на нужный порт и заливаем программу, какую надо. И из термометра делаем вольтметр. Можно и программно сделать и то и это. Отображать будем по ХХ секунд, сколько надо вольт/температура. Температуру можно и в четырех точках (в будущем) по одной линии. В архиве печатка, исходник, проект в протеусе.Добавлено (21.01.2016, 17:46) --------------------------------------------- anatol, Исходник есть? Добавлено (21.01.2016, 17:50) --------------------------------------------- Что то не пойму. Как еще обьяснить. В архиве программа исходник в пикбэйсике. Она работает на AN3. другой файл. В нём хочу задействовать AN2. Проект в протеусе тоже лежит в архиве. Может надо hex. Но ребята, как вы увидите то что надо. Задействуйте AN2. Добавлено (21.01.2016, 17:56) --------------------------------------------- ivan_fd, Вот это да ааа. И всё так просто?. Буду наслождаться и разбираться. А почиму такого в моэм архиве файл "исходник..." она урезана? Ведь работает - же? Добавлено (21.01.2016, 17:58) --------------------------------------------- нет прилипла не та. Там в начале "volt" Добавлено (21.01.2016, 18:15) --------------------------------------------- БЛИН РЕБЯТА во косяк НАШОЛ!!!!!!!!!!!!!! ADCIN 3,voltage ' читаем аналоговую величину на выводе PORTA.4 канал АN3
Во как ADCIN 2,voltage ' ÷èòàåì àíàëîãîâóþ âåëè÷èíó íà âûâîäå PORTA.4 êàíàë ÀN3
благодаря ivan_fd и все проблемы решены!! СПАСИБО!!!!! Добавлено (21.01.2016, 18:25) --------------------------------------------- Каюсь.. Сам дибил. Ну простите грешного. Развиваюсь с 84 на 676. С аналогом не работал. Простите
skiip
|
|
|
|