АЦП на PIC16FХХ
|
|
MiXaS |
Дата: Пт, 22.01.2016, 08:14 | Сообщение # 31 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
549
Замечания:
±
На сайте с 02.10.2010
Статус:
Offline
|
Цитата skiip ( ) Каюсь.. Похвально! Если у Вас что-то не получается, отпустить проблему, нужно попить чаю, прогуляться по улице и снова сеть решать проблему, но абсолютно заново, забыв все свои нерабочие наработки. И тогда все получится. Успехов!
Сообщение отредактировал
MiXaS - Пт, 22.01.2016, 08:14
|
|
|
|
iso10 |
Дата: Ср, 22.03.2017, 12:55 | Сообщение # 32 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
19
Замечания:
±
На сайте с 16.07.2012
Статус:
Offline
|
Используется 16F676, если использовать AN4 или AN5 как аналоговые, то всё работает. Если не использовать, то Proteus выдает ошибку:
[PIC12 ADC] PC=0x0076. ADC conversion clock period (5e-07) is possibly invalid for device clock frequency. [U1]
define OSC 4 define OSCCAL_1K 1 ANSEL = %00000001 TRISA = %00111111 TRISC = %00001111 PORTA = 1 PORTC = 1 CMCON = 7 ADCON0 = %10000001 ADCON1 = %00110000 DEFINE ADC_BITS 10 DEFINE ADC_CLOCK 3 DEFINE ADC_SAMPLEUS 50
Если изменить ANSEL = %00010001 или ANSEL = %00100001 или ANSEL = %00110001 , это предупреждение не вылетает. Но AN4 и AN5 мне нужны как цифровые!
|
|
|
|
xvovanx |
Дата: Ср, 22.03.2017, 17:54 | Сообщение # 33 |
Группа:
Модераторы
Ранг:
Помогаю всем
Сообщений:
332
Замечания:
±
На сайте с 02.05.2013
Статус:
Offline
|
А если выключить работу АЦП нулевым битом в регистре ADCON0, а то он у вас включен
Сообщение отредактировал
xvovanx - Ср, 22.03.2017, 17:55
|
|
|
|
iso10 |
Дата: Ср, 22.03.2017, 21:32 | Сообщение # 34 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
19
Замечания:
±
На сайте с 16.07.2012
Статус:
Offline
|
Цитата xvovanx ( ) А если выключить работу АЦП нулевым битом в регистре ADCON0 Не помогает! Так же выдает предупреждение.
|
|
|
|
ivan_fd |
Дата: Чт, 23.03.2017, 10:24 | Сообщение # 35 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Если Вам не нужен АЦП, то зачем Вы прописали : DEFINE ADC_BITS 10 DEFINE ADC_CLOCK 3 DEFINE ADC_SAMPLEUS 50
Прикрепите весь проект с файлом протеуса.
|
|
|
|
iso10 |
Дата: Вт, 28.03.2017, 11:25 | Сообщение # 36 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
19
Замечания:
±
На сайте с 16.07.2012
Статус:
Offline
|
Цитата ivan_fd ( ) Если Вам не нужен АЦП, то зачем Вы прописали АЦП мне нужен, поэтому и прописан.
Сообщение отредактировал
iso10 - Вт, 28.03.2017, 11:34
|
|
|
|
ivan_fd |
Дата: Вт, 28.03.2017, 17:04 | Сообщение # 37 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Здесь нету никакой ошибки. Протеус говорит, что, возможно, не верно значение Tad. Но на самом деле все работает.
|
|
|
|
iso10 |
Дата: Ср, 29.03.2017, 10:01 | Сообщение # 38 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
19
Замечания:
±
На сайте с 16.07.2012
Статус:
Offline
|
Цитата ivan_fd ( ) Здесь нету никакой ошибки. Протеус говорит, что, возможно, не верно значение Tad. Но на самом деле все работает. Да, работает. Но хотелось бы без всяких предупреждений! Да и алгоритм выдачи предупреждения не ясен!
Цитата iso10 ( ) Если изменить ANSEL = %00010001 или ANSEL = %00100001 или ANSEL = %00110001 , это предупреждение не вылетает.
|
|
|
|
ivan_fd |
Дата: Ср, 29.03.2017, 13:06 | Сообщение # 39 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Тут явно проблемы с самим протеусом. Мы используем контроллер PIC16, а предупреждение он выдает о PIC12. Но так как у Вас, скорее всего, нету лицензии на него, то кому Вы будете претензии выставлять??
|
|
|
|