Op Elektronicaforum.nl is de kans om een antwoord op je vraag te krijgen heel groot. In overzichtelijke subcategorieën kun je vragen en antwoorden over elektronica zoeken, plaatsen en beantwoorden.
Elektronica Forum is onderdeel van Schakelingen Online
 


 
ADC met ADUC832

 
Plaats nieuw bericht   Plaats Reactie    Schakelingen Online Forum Index -> School en huiswerk vragen
Auteur Bericht
enzoICT



Geregistreerd op: 11-5-2009
Berichten: 2

BerichtGeplaatst: Ma 11 Mei 2009, 15:01    Onderwerp: ADC met ADUC832 Reageer met quote

Ik ben een programma aan het schrijven waarbij ik een 0 tot 5V waarde inlees en deze wil ik uitsturen naar de Display. Het probleem is dat ik deze waarde niet kan inlezen.

Code:

#include <stdio>
#include "reg832.h"

#define e P0_2
#define rs P0_3
#define lcdport P0 //SELECTIE POORT 0

#define cleardisp 0x01 //LEEG MAKEN VAN HET SCHERM
#define cursathom 0x02 //CURSOR OP DE EERSTE PLAATS ZETTEN

#define ENTRYMODE 0x06 //00000110B ;CURSOR NAAR RECHTS, SCHERM VAST
#define DISPLAYON 0x01 //00000001B ;HOMEN EN CLEAR CURSOR
#define DISPLAYOF 0x08 //00001000B ;DISPLAY OFF, CURSOR OFF
#define CURSOROFF 0x0C //00001100B ;DISPLAY ON ZONDER CURSOR
#define CURSORONB 0x0F //00001111B ;CURSOR ON AND BLINK
#define CURSORONN 0x0E //00001110B ;CURSOR ON NO BLINK
#define FUNCTIONS 0x28 // 00101000B ;INTERFACE LENGTE EN KARAKTER FONT
#define CGRAM 0x40 //01000000B ;SELECTIE KARAKTER GENERATOR RAM
#define DDRAM 0x80 //10000000B ;SELECTIE DATA DISPLAY RAM


// SerInit stelt de seriële poort in op 9600 baud
void serinit (void)
{
if ((PLLCON & 0x07) <= 5)
{
//hier mogen we alleen komen als de waarde van de PLL bruikbaar is
T3FD = 0x2D;
T3CON = (((~PLLCON)-2) & 0x07)+0x80; //baudrate instellen afhankelijk van pll
SCON = 0x50; //Uart initializeren
}
}

// putchar functie nodig voor printf
void putchar(char c)
{
TI=0;
SBUF=c;
while(!TI); //wachten tot het karakter is verzonden
}

void wait (int time)
{
int i;
for (i=0;i<time;i++); // time keer niets doen.
}

void lcdnibd (unsigned char c)
{
rs=1;
e=0;
c&=0xF0;
c|=0x0b;
P0=c;
e=1;
e=1;
e=0;
wait(100);
}

void lcdd (unsigned char c)
{
lcdnibd(c);
c=c<<4;
lcdnibd(c);
}

void lcdmsg (unsigned char * str)
{
for(;*str!=0;str++)
lcdd(*str);
}

void lcdnibc (unsigned char c)
{
rs=0;
e=0;
c&=0xF0;
c|=0x03;
P0=c;
e=1;
e=1;
e=0;
wait(1000);
}

void lcdc (unsigned char c)
{
lcdnibc(c);
c=c<<4;
lcdnibc(c);
}

void lcdinit (void)
{
P0=0x03;
wait(100);
lcdnibc(0x30);
lcdnibc(0x30);
lcdnibc(0x30);
lcdnibc(0x20);
lcdc(FUNCTIONS);
lcdc(CURSORONB);
lcdc(DISPLAYON);
lcdc(ENTRYMODE);
}

int adcinlezen (void)
{
long int ingang;
ingang = ADCDATAH & ADCDATAL;
return ingang;
}

// hoofdprogramma
int main (void)
{
long int ingang;
char buff[16];
serinit();
lcdinit();
ADCCON1 = 0xEF;
ADCCON2 = 0x2C;

while(1)
{
ingang = adcinlezen();
sprintf(buff, "%ld",ingang);
lcdmsg (buff);
P2=0xAA;
wait(1500);
P2=0x55;
wait(1500);
}
}
Naar boven
Bekijk gebruikers profiel Stuur privé bericht
brakke001



Geregistreerd op: 9-6-2009
Berichten: 2
Woonplaats: Vlaams-Brabant

BerichtGeplaatst: Di 9 Jun 2009, 19:06    Onderwerp: Reageer met quote

Hey,

heb je het al gevonden?

want ik zou graag hetzelfde doen met mijn microcontroller

tis namelijk voor mijn eindwerk Sad
Naar boven
Bekijk gebruikers profiel Stuur privé bericht
enzoICT



Geregistreerd op: 11-5-2009
Berichten: 2

BerichtGeplaatst: Di 9 Jun 2009, 19:47    Onderwerp: Reageer met quote

Ja ik heb de oplossing gevonden. Hieronder vind je het stukje programma waar het mee zou moeten werken.

Code:

unsigned int meeting(char kanaal)
{
   ADCCON1=0x9C;    
   ADCCON2=0x10 | (kanaal & 0x0F);
   while(ADCCON2 & 0x10);
   return ((ADCDATAH & 0x0F) <<4>> 4) & 0x0F);
}
Naar boven
Bekijk gebruikers profiel Stuur privé bericht
Plaats nieuw bericht   Plaats Reactie    Schakelingen Online Forum Index -> School en huiswerk vragen Tijden zijn in GMT + 2 uur
Pagina 1 van 1                     

 
Ga naar:  
Je mag geen nieuwe onderwerpen plaatsen
Je mag geen reacties plaatsen
Je mag je berichten niet bewerken
Je mag je berichten niet verwijderen
Ja mag niet stemmen in polls
Je mag geen attachments plaatsen in dit forum
Je mag bestanden downloaden in dit forum


Powered by phpBB © 2001, 2002 phpBB Group and phpBB SEO