Čitanje iz adc0804 ....

Y

yviswanathbe

Guest
Bok,
ja sam sučelja ADC0804 za AT89S8252.
Moj sklop radi u redu, ali ja sam ne u mogućnosti pročitati pretvorena vrijednost u PC-u.
Svaki put ja sam uzimajući iste vrijednosti čak i kada sam mijenja analogni ulaz.
Može bilo tko ugoditi pomoć onoga što bi mogao biti problem?
Ja sam moju pričvršćivanje kod ovdje?
Hvala unaprijed .....# include <stdio.h>
# include <reg51.h>

sbit MYDATA = P2;
sbit rd = P3 ^ 7;
sbit WR = P3 ^ 6;
sbit intr ^ P3 = 3;

unsigned char vrijednosti;
void pauza (int);
void delay1ms ();
void delay ();
void prenositi (unsigned char);

void main (void)
(
SCON = 0X50;
TMOD = 0X20;
TH1 = 0XFD;
TR1 = 1;
MYDATA = 0XFF;
intr = 1;
pauza (5);
while (1)
(
delay ();
WR = 0;
delay ();
WR = 1;
while (intr == 1);
delay ();
rd = 0;
delay ();
value = MYDATA;
rd = 1;
prenijeti (vrijednost);
void prenositi (unsigned char vrijednost)
(
TI = 0;
SBUF = vrijednost;
while (! TI);
/ / TI = 0;
/ / flag = 1;
)
void pauza (int k)
(
int j;
for (j = 0; j <= k; j )
(
delay1ms ();
)
)
delay1ms void ()
(
int i;
for (i = 0; i <= 500; i ) / / 15
(
;
)
)
void kašnjenje ()
(
int k, l;
for (k = 0; k <40; k )
for (l = 0; l <80; l );
)
Hvala,
Viswanath

 
Hi Viswanath,
Ja sam iznenađen kôd zapravo sastavlja u obliku naveden.Ja bih se očekuje da će trebati par zatvaranja zagrada umetnute na kraju svog mjerenje petlje, neposredno iznad početka prenosi svoje funkcije.Na taj način će ići okolo tvoj mjerenje petlje zauvijek i poslati podatke iz serijskog porta nakon svakog mjerenja je završen.Kao što to stoji Mislim da će se sudariti mikro nakon prvog prijevoja i nikad se nakon čitanja prvi plan, jer više nije aktivna, stoga ne promjene u vašem čitanja.

Probajte nešto poput ovog kôda

void main (void)
(
/ / Umetnite sve svoje kod ovdje kao ispod, ali promjena bita kao što sam je prikazan ispod

while (1)
(
delay ();
WR = 0;
delay ();
WR = 1;
while (intr == 1);
delay ();
rd = 0;
delay ();
value = MYDATA;
rd = 1;
prenijeti (vrijednost);
) / / Ovo braće će se zatvoriti u while petlji
) / / Ovo braće će se zatvoriti glavne funkcije
/ / Umetnite ostatak svog funkcije ovdje, oni izgledaju kao da će se raditi u redu, ali bi mogao
/ / Optimizirano se malo!

Nadam se da ovo pomaže.

Pozdravi
Bob.

 
Bok,
Također, morate ispraviti deklaracija 'MYDATA' varijable iz
'Sbit MYDATA = P2;' u SFR deklaracije varijabli.Slijedite konvencijama Vaše kompajler za deklaracije.

Pozdravi,
Laktronics

 

Welcome to EDABoard.com

Sponsor

Back
Top