Problem ADC 16F690

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
cpu
Inlägg: 3
Blev medlem: 12 mars 2007, 18:46:43
Ort: Bromma

Problem ADC 16F690

Inlägg av cpu »

Håller på att lära mig hur adc'n fungerar men det går inte alls bra! :cry:

Läser en varierbar spänning på an0 och pressenterar på portc med 8 led. Alltså ett riktigt nybörjar exempel.
Felet är det att jag inte får ut något vettigt på portc.

Är det någon som kan hjälpa mig skulle jag vara tacksam! :D
min kod

#include "delay.h"
#pragma config |= 0x00D4

char rad;

void main(void)
{
TRISC=0b00000000; //portc output
TRISA.0 = 1; //porta0 input
ANSEL.0=1; //porta0 ADC
ANSELH=0x00;
ADCON1=0b01010000; //ADC oscillator clk rate 4us
ADCON0=0b00000001; //ADON=1, left justified, channel an0
delay(3);
while(1);
{
GO=1; //read ADC
while(GO) ; //wait GO=1
rad=ADRESH;
PORTC=rad;
delay(5);
}
}
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Problem ADC 16F690

Inlägg av sodjan »

> Läser en varierbar spänning på an0...

Som kommer varifrån ?

> Felet är det att jag inte får ut något vettigt på portc.

Och det är väldigt hemligt vad du får ut ?
cpu
Inlägg: 3
Blev medlem: 12 mars 2007, 18:46:43
Ort: Bromma

Re: Problem ADC 16F690

Inlägg av cpu »

Hej Sodjan

Spänningen kommer från en potentiometer 0-5V. Har kontrollerat att spänningen verkligen varierar 0-5V på ano i detta fall PORTA.0.

Ut på PORTC får jag 0x01; hur jag än vrider på potentiometern lyser endast en lysdiod.

Mitt mål är att kunna bestämma vilka lysdioder som ska lysa mha potentiometer.

Tänker jag rätt eller är jag helt ute och cyklar?

Anders
Användarvisningsbild
nodanolo
EF Sponsor
Inlägg: 90
Blev medlem: 25 mars 2009, 23:05:38
Ort: Järfälla

Re: Problem ADC 16F690

Inlägg av nodanolo »

Kommer det inte att hänga sig på raden "while(1);" ??

Kanske "while(1){ " funkar bättre.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Problem ADC 16F690

Inlägg av sodjan »

> Ut på PORTC får jag 0x01; hur jag än vrider på potentiometern lyser endast en lysdiod.

Är det avläsningen av ADC'n eller skrivningen till PORTC som strular ?

> Tänker jag rätt eller är jag helt ute och cyklar?

Nej, men någonstans gör du fel...
cpu
Inlägg: 3
Blev medlem: 12 mars 2007, 18:46:43
Ort: Bromma

Re: Problem ADC 16F690

Inlägg av cpu »

Tack Nodanolo nu fungerar det!

Anders
Skriv svar