Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Модератор форума: ivan_fd  
Форум Picbasic.ru » Программирование МК » PicBasicPro » АЦП на PIC16FХХ (Как использовать встроенный ацп в пике)
АЦП на PIC16FХХ
tolyan249 Дата: Сб, 29.03.2008, 10:10  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 183
Репутация: 0   ±
Замечания:   ±
На сайте с 11.10.2007

Статус: Offline

Добрый день вечер. Подскажите как можно зделать АЦП на PIC16F84, с другими не хочу заморачиваться. или какую микросхему можно применить АЦП c последовательном выходом данных,Просто у меня стоит задача,зделать сигнализацию на поселки с предостовлением данных.
1.-напряжение 220
2-напряжение аккамуляторов
3-температура помещения и улицы
4-сигнализация охранная
5-сигнализация пожарная

и еще кучу данных нужно передать от каждого поселка по телефонной линии а их 20

что посоветуете. приму любые предложения, спасибо за ответы и помощь.

Добавлено (29.03.2008, 4:10:10)
---------------------------------------------
вот нашел АЦП DS2450 но как его состыковать с pic16f84 програмно я не знаю,может кто поможет.


если знаешь,помоги.
Сообщение отредактировал tolyan249 - Сб, 29.03.2008, 10:10
ЯНДЕКС Дата: 29.03.2008
rvstar Дата: Пн, 02.06.2008, 22:55  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 69
Репутация: 7   ±
Замечания:   ±
На сайте с 09.10.2007

Статус: Offline

Возьми P16f676 и не заморачивайся
holyuser Дата: Вт, 03.06.2008, 01:52  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 228
Репутация: 5   ±
Замечания:   ±
На сайте с 12.12.2007

Статус: Offline

Quote (tolyan249)
вот нашел АЦП DS2450 но как его состыковать с pic16f84 програмно я не знаю,может кто поможет.

Для этого в PicBasicPro есть операторы OWIN и OWOUT, но чтобы их использовать, надо хорошо изучить даташит DS2450.
Quote (rvstar)
Возьми P16f676 и не заморачивайся

Верно, а еще лучьше PIC16F819.
DWalker Дата: Вс, 31.05.2009, 14:25  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Новенький
Сообщений: 3
Репутация: 0   ±
Замечания:   ±
На сайте с 25.03.2009

Статус: Offline

Всем привет. Вот взялся я за пики и возник вопрос...насчет того как правильно сконфигурировать ацп для PIC16F88?... подскажите как это сделать?
brown Дата: Вс, 31.05.2009, 15:14  |                                                                                                                Сообщение # 5
Группа: Пользователи
Ранг:  Помогаю всем
Сообщений: 333
Репутация: 12   ±
Замечания:   ±
На сайте с 18.09.2007

Статус: Offline

Для начала как в мануале:
DEFINE ADC_BITS 8 ' Set number of bits in result
DEFINE ADC_CLOCK 3 ' Set clock source (rc = 3)
DEFINE ADC_SAMPLEUS 50 ' Set sampling time in microseconds

TRISA = 255 ' Set PORTA to all input
ADCON1 = 2 ' PORTA is analog


Век живи - век учись! К концу жизни поймешь, что ничего не знаешь...
DWalker Дата: Вс, 31.05.2009, 19:14  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Новенький
Сообщений: 3
Репутация: 0   ±
Замечания:   ±
На сайте с 25.03.2009

Статус: Offline

Ок....как в мануале...а вот DEFINE ADC_CLOCK 3 ' Set clock source (rc = 3) если я использую внешний кварц... ХТ какой параметр нужно ввести?. в мануале к пику описано что использование rc нужно если я хочу использовать ацп для вывода пика из режима sleep ,но для других случаев это вроде как не критично book
brown Дата: Пн, 01.06.2009, 12:22  |                                                                                                                Сообщение # 7
Группа: Пользователи
Ранг:  Помогаю всем
Сообщений: 333
Репутация: 12   ±
Замечания:   ±
На сайте с 18.09.2007

Статус: Offline

Quote (DWalker)
но для других случаев это вроде как не критично

Во всех программах которые я видел да и сам использовал стояла строка DEFINE ADC_CLOCK 3 ' Set clock source (rc = 3).
Если вас это чем то не устроит, можете поэксперементировать устанавливая биты в регистре ADCON0 (смотри даташит).


Век живи - век учись! К концу жизни поймешь, что ничего не знаешь...
DWalker Дата: Пн, 01.06.2009, 14:22  |                                                                                                                Сообщение # 8
Группа: Проверенные
Ранг:  Новенький
Сообщений: 3
Репутация: 0   ±
Замечания:   ±
На сайте с 25.03.2009

Статус: Offline

Эм.....начал компилировать выскочила такая проблемка.
В подключаемом файле конфигурации этого пика появилось сообщение об ошибке
ERROR Line 21: Redefinition of VAR. (16F88.BAS)
line 21:WDTCON VAR BYTE EXT
Использую Microcode Studio Plus 2.2 с комилятором PBP. ...Если гдето исправленные эти файлы с конфигурацией пиков, или может дело в настройках самого Микрокод студио?
Ripper Дата: Вс, 18.04.2010, 09:32  |                                                                                                                Сообщение # 9
Группа: Пользователи
Ранг:  Новенький
Сообщений: 12
Репутация: 0   ±
Замечания:   ±
На сайте с 26.02.2010

Статус: Offline

Ктонить скажите как использовать ADCON и какие значения выставлять применительно для 16F628A?
brown Дата: Вс, 18.04.2010, 11:51  |                                                                                                                Сообщение # 10
Группа: Пользователи
Ранг:  Помогаю всем
Сообщений: 333
Репутация: 12   ±
Замечания:   ±
На сайте с 18.09.2007

Статус: Offline

Ripper, в 628 нет АЦП!

Век живи - век учись! К концу жизни поймешь, что ничего не знаешь...
chiper Дата: Чт, 15.07.2010, 12:15  |                                                                                                                Сообщение # 11
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 108
Репутация: 4   ±
Замечания:   ±
На сайте с 14.07.2010

Статус: Offline

Подскажите как реализовать на Picbasicpro вольтметр 1-20В на базе микроконтроллера pic16f877. кварц 4мг. не используя дополнительно микросхему (как вы советовали до этого автору темы)

мне бы реализацию вот под эту схемку http://www.coolcircuit.com/project/meter/meter.zip

С выводом вольт на LCD разберусь сам, меня интересует только измерительная часть.

И ещё одно, можно ли только один порт сделать аналоговым для АЦП ? не горю желанием из за 1 порта RA0 лишатся всех цифровых выводов порта.

так будет работать?

Code
DEFINE ADC_BITS 8 '  
DEFINE ADC_CLOCK 3 '   
DEFINE ADC_SAMPLEUS 50 '  

trisa  = %00000001
ADCON1 = porta.0 ' PORTA is analog


Как бы ты хорошо не паял, твой девайс на микроконтроллере без прошивки будет просто куском железа.
Сообщение отредактировал chiper - Чт, 15.07.2010, 12:30
ЯНДЕКС Дата: 15.07.2010
terrarus Дата: Чт, 15.07.2010, 15:23  |                                                                                                                Сообщение # 12
Группа: Пользователи
Ранг:  Помогаю всем
Сообщений: 451
Репутация: 17   ±
Замечания:   ±
На сайте с 21.08.2008

Статус: Offline

chiper,
ADCON1 = %10001110
Такая запись сделает только PPORTA.0 аналоговым входом, остальные останутся цифровыми. Но это справедливо толко для 16F87x
микроконтроллеров. Для настройки других МК ружно внимательно смотреть их даташиты.
Quote (chiper)
Подскажите как реализовать на Picbasicpro вольтметр 1-20В на базе микроконтроллера pic16f877

Ответ смотрите на ресурсе http://terrarus.ucoz.ru/proton_plus_ide/index.html в разделе PROTON+IDE для PIC/Команды и директивы/ADIN
А в разделе DATASHEETs/PIC/RUS/ PIC16F87X можно по русски почитать про настройки портов PIC16F877. Обратите внимание на страничку 108 даташита на PIC16F87X.


Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
Сообщение отредактировал terrarus - Чт, 15.07.2010, 15:27
retas Дата: Чт, 15.07.2010, 16:06  |                                                                                                                Сообщение # 13
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 447
Репутация: 11   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

tolyan249 !!!

Непойму, зачем вам для сигнализации АЦП?
Чтоб следить за состоянием акума подайдёт, ПМ, компаратор (не помню, есть ли он в 84-том),
под температуру есть спец. датчики, для охранки и пожарки используется логические уровни.
И сколько всего у вас объектов (если прикинуть что в посёлке по 10 изьб то 200 - ой ой ой).
Что у вас за центральный пульт?

chiper Дата: Чт, 15.07.2010, 16:59  |                                                                                                                Сообщение # 14
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 108
Репутация: 4   ±
Замечания:   ±
На сайте с 14.07.2010

Статус: Offline

Всё всем спасибо! Вольтметр получился на ура!!!

[code]
DEFINE OSC 4

' Èíèöèàëèçàöèÿ ÆÊÈ **********************************************************************
DEFINE LCD_DREG PORTD ' Îïðåäåëÿåì ïîðò, ê êîòîðîìó ïîäêëþ÷åíû öåïè äàííûõ.
DEFINE LCD_DBIT 4 ' Îïðåäåëÿåì ïåðâûé âûâîä, ê êîòîðîìó ïîäêëþ÷åíà øèíà äàííûõ,

DEFINE LCD_RSREG PORTB ' Îïðåäåëÿåì ïîðò, ê êîòîðîìó ïîäêëþ÷åíà öåïü RS.
DEFINE LCD_RSBIT 0 ' Îïðåäåëÿåì âûâîä, ê êîòîðîìó ïîäêëþ÷åíà öåïü RS.

DEFINE LCD_EREG PORTB ' Îïðåäåëÿåì ïîðò, ê êîòîðîìó ïîäêëþ÷åíà öåïü E.
DEFINE LCD_EBIT 1 ' Îïðåäåëÿåì âûâîä, ê êîòîðîìó ïîäêëþ÷åíà öåïü E.

DEFINE LCD_BITS 4 ' Îïðåäåëÿåì ðåæèì 4 – ðàçðÿäíîé øèíû.
DEFINE LCD_LINES 2 ' Îïðåäåëÿåì òèï ÆÊÈ.
DEFINE LCD_COMMANDUS 2000 ' Îïðåäåëÿåì âðåìÿ çàäåðæêè ìåæäó êîìàíäàìè íà ÆÊÈ.
DEFINE LCD_DATAUS 50 ' Îïðåäåëÿåì âðåìÿ çàäåðæêè ìåæäó ïîñûëêàìè äàííûõ.
'*****************************************************************************************

'Èíèöèàëèçàöèÿ ÀÖÏ ***********************************************************************

DEFINE ADC_BITS 10 '
DEFINE ADC_CLOCK 100 '
DEFINE ADC_SAMPLEUS 10 '

trisa = %00000001
ADCON1 = %10001110

'******************************************************************************************

volt var word

test:

Adcin 0, volt
lcdout $fe,1, "Volt=", DEC2(volt/10), ".",DEC1 (volt//100)

goto test

собрано по этой схеме http://www.coolcircuit.com/project/meter/meter.zip - только одаптировано к LCD

Резистор который идёт на щуп заменил на 200К вместо 47 которые идёт по схеме.


Как бы ты хорошо не паял, твой девайс на микроконтроллере без прошивки будет просто куском железа.
passer_by Дата: Вс, 04.12.2011, 09:22  |                                                                                                                Сообщение # 15
Группа: Проверенные
Ранг:  Новенький
Сообщений: 17
Репутация: 0   ±
Замечания:   ±
На сайте с 23.10.2011

Статус: Offline

Делаю некую схемку управления, где нужны практически все выводы портов PIC16F877. Но вот эта фишка не проходит:
Quote
ADCON1 = %10001110
Такая запись сделает только PPORTA.0 аналоговым входом, остальные останутся цифровыми.
cry
То есть если пишу ADCON1 = %00000000 то измерение напряжения идет, если ADCON1 = %10001110 все отлетает в Proteus_е. Не подскажите, что делаю не так? Вот кусок самого проекта с измерением напряжения:

Добавлено (04.12.2011, 09.22.30)
---------------------------------------------
Уф... Отбой воздушной тревоги. Да... Со сна восстав читай устав даташит. Все правильно - ADCON1 = %10001110 , за тем исключением, что у меня надо ADCON1 = %00001110. бит 7 0=левое выравнивание wink
Ну сейчас кнопочек еще натыкаю biggrin

Прикрепления: Test_Volt.zip (18.1 Kb)

Сообщение отредактировал passer_by - Сб, 03.12.2011, 09:26
Форум Picbasic.ru » Программирование МК » PicBasicPro » АЦП на PIC16FХХ (Как использовать встроенный ацп в пике)
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск: