реклама на сайте
подробности

 
 
> АЦП PIC16F877
pipka
сообщение Oct 12 2007, 12:31
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 30-07-07
Пользователь №: 29 465



Помогите разобраться с АЦП в PIC16F877.
При 1 вольте на входе почему-то на вызоде: portc=%10000000

Программа:

@ DEVICE HS_OSC,WDT_ON,CPD_OFF,PROTECT_OFF,PWRT_ON,BOD_OFF

define OSC 20
DEFINE ONINT_USED 1

Define ADC_BITS 10
Define ADC_CLOCK 3
Define ADC_SAMPLEUS 50

portc=%00000000
trisc=%00000000

portd=%00000000
trisd=%00000000

ad var word
TRISA = %00000011
ADCON1 = %10000011
ADCIN 1, ad
if adval >3 then
gosub w
endif

if adval <3 then
gosub r
endif

r:
portc=%00100000
portd.3=1
GOSUB r

w:
portc=%10000000
portd.3=1
GOSUB w

Спасибо
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
kolisnichenko_r
сообщение Oct 19 2007, 05:50
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 435
Регистрация: 12-09-07
Пользователь №: 30 482



Вдумчиво читайте описание микроконтроллера. Там подробно описано, даже на русском языке.
Вот кусок программы на С (PICC):
//форматирования результата, настройка портов
ADCON1=0x88;// ADRESH=000000xx
// ADRESL=xxxxxxxx
// Uref+->RA3
// Uref-->RA2
// RA0,RA1,RA5,RE0-RE2-analog.vh
//подпрограмма измерения
unsigned short ADC(unsigned char adc)//ADC с выбором канала
{ADCON0=adc;
Delaymus(23);// 23mks
ADGO=1;//
while(ADGO==1){;} //
//подготовка результата
return (ADRESH<<8)+ADRESL;//
}
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 05:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.01392 секунд с 7
ELECTRONIX ©2004-2016