16-bits ADC ICL7135

M

member_tdh

Guest
Hoi!

Nu, ik ben met een project met behulp van ADC ICL7135.Kan iemand me helpen met eventuele bezwaren documenten en voorbeeldcode voor.Ik verry thanks!

Beschouw je repply ...!

Goede vriend!

Please help me!

<img src="http://www.edaboard.com/images/smiles/icon_exclaim.gif" alt="Exclamation" border="0" />
 
hoi,

Deze url kan je helpen

http://www.intersil.com/data/an/an054.pdf

 
Hoi!

Bedankt voor je hulp!

Maar ik geschreven code voor het maar niet werken nog niet.
Ik post mijn volledige code (gebruikt 93C46) hier kan je het te repareren voor mij, alsjeblieft!?!

Thanhs tegen zo veel!

# ifndef _GLOBAL_INCLUDED_
# define _GLOBAL_INCLUDED_typedef unsigned char byte;
typedef unsigned int WORD;

//------------------------------------------------ ----------------------------------------
/ / define DAC HC573
# define dulieu_DAC P0

sbit LE_573 = 0xA5;

//------------------------------------------------ ----------------------------------------
/ / Led
sbit LED_GREEN = 0xA6;

//------------------------------------------------ ----------------------------------------
/ / 16-bits ADC ICL7135 4 1 / 2 digit
sbit STB = 0xB2;
sbit POL = 0xB3;
sbit OVR = 0xB4;
sbit UNR = 0xB5;

sbit BCD1 = 0x90;
sbit BCD2 = 0x91;
sbit BCD4 = 0x92;
sbit BCD8 = 0x93;

sbit D1 = 0x94;
sbit D2 = 0x95;
sbit D3 = 0x96;
sbit D4 = 0x97;/ / 93c46
sbit cs = 0xB0;
sbit clk = 0xB1;
sbit din = 0xB6;
sbit DOUT = 0xB7;

void EWEN (void);
void EWDS (void);
void WrCommand (unsigned char);
void WRITE (unsigned char, unsigned int);
unsigned int READ (unsigned char);
void ERASE (unsigned char);

//------------------------------------------------ ----------------------------------------void init (void);
/ / void serial_init (void);

# endif# include <AT89x52.h>
# include "global.h"
# include "intrins.h"

//------------------------------------------------ ----------------------------------------

void main (void)
(
unsigned int result = 0;

Init ();

cs = 0;
CLK = 0;
din = 0;
DOUT = 0;
EWEN ();

WRITE (1,0 x0055);
resultaat = READ (1);while (1)
() / / end terwijl
) / / end mainvoid init (void)
(
P0 = 0x00;
P1 = 0x00;
P2 = 0x00;
P3 = 0x00;)

/ *
void serial_init (void)
(
SCON = 0x50; / / modus 1: 8-bit UART, staat ontvanger
TMOD | = 0x20; / / timer 1-modus 2: 8-Bit reload
TH1 = 0xf3; / / reload waarde 2400 baud
TR1 = 1; / / timer 1 run
ES = 1; / / enable seriële poort onderbreken
)
* /

/ / Schrijf in staat moet voorafgaan aan de programmering van alle modi
void EWEN (void)
(
cs = 0;
CLK = 0;
cs = 1;
_nop_ ();
WrCommand (0x98);
_nop_ ();
cs = 0;
)

/ / Deactiveert alle programmering instructies
void EWDS (void)
(
cs = 0;
CLK = 0;
cs = 1;
_nop_ ();
WrCommand (0x80);
_nop_ ();
cs = 0;
)

void ERASE (unsigned char addr)
(
unsigned char x;

EWEN ();
CLK = 0;
din = 1;
cs = 0;
_nop_ ();
cs = 1;
CLK = 1;
_nop_ ();
CLK = 0;
for (x = 8; x! = 0; x -)
(
din = addr &0x80;
CLK = 1;
_nop_ ();
addr <<= 1;
CLK = 0;
)
cs = 0;
DOUT = 1;
cs = 1;
CLK = 1;
while (DOUT == 0)
(
CLK = 0;
_nop_ ();
CLK = 1;
)
CLK = 0;
cs = 0;
EWDS ();
)

void WrCommand (unsigned char Indata)
(
unsigned char x;

for (x = 0; x <9; x ) / / 9 pulsen klok
(
din = Indata &0x80; / / get DI pin
CLK = 1;
_nop_ ();
Indata <<= 1;
CLK = 0;
)
/ / Cs = 0;
)

/ / Schrijft geheugenlocatie An - A0
void WRITE (unsigned char addr, unsigned int Indata)
(
unsigned char x;

EWEN ();
CLK = 0;
din = 1;
cs = 0;
_nop_ ();
cs = 1;
CLK = 1;
_nop_ ();
CLK = 0;
/ / Addr = addr & 0x3F | 0x40;
addr = addr | 0x40;
for (x = 0; x <8; x )
(
if (addr & 0x80) din = 1;
else din = 0;
CLK = 1;
_nop_ ();
addr <<= 1;
CLK = 0;
)

_nop_ ();
for (x = 0; x <16; x )
(
din = Indata &0x80;
CLK = 1;
_nop_ ();
Indata <<= 1;
CLK = 0;
)
cs = 0;
DOUT = 0;
cs = 1;
CLK = 1;
while (DOUT == 0) / / bezet-test
(
CLK = 0;
_nop_ ();
CLK = 1;
)
CLK = 0;
cs = 0;
EWDS ();
)

unsigned int READ (unsigned char addr)
(
unsigned char x;
unsigned int OutData = 0;

OutData = 0;
EWEN ();
CLK = 0;
din = 1;
cs = 0;
_nop_ ();
cs = 1;
_nop_ ();
CLK = 1;
_nop_ ();
CLK = 0;
/ / Addr = addr & 0x3F | 0x80;
addr = addr | 0x80;
for (x = 0; x <8; x )
(
if (addr & 0x80) din = 1;
else din = 0;
CLK = 1;
_nop_ ();
addr <<= 1;
CLK = 0;
)

DOUT = 1;
for (x = 0; x <16; x )
(
CLK = 1;
_nop_ ();
OutData = (OutData <<= 1) | DOUT;
CLK = 0;
_nop_ ();
)

CLK = 0;
cs = 0;
EWDS ();
return (OutData);
)

 
Help me, pls!

<img src="http://www.edaboard.com/images/smiles/icon_exclaim.gif" alt="Exclamation" border="0" />
 

Welcome to EDABoard.com

Sponsor

Back
Top