M
mymadi
Guest
qualcuno mi può aiutare a fare un po 'di codifica su max1112 con 8051 sulla base di Keil-compilatore C?
/ / Codifica per MAX1112 (Serial ADC)
# include <reg51.h>
sbit CS1 = P1 ^ 0;
sbit SCLK1 ^ P1 = 1;
sbit DIN1 = P1 ^ 2;
sbit DOUT1 = P1 ^ 3;
sbit LSBRA ACC ^ = 0;
sbit MSBRA ACC ^ = 7;void Delay (unsigned int msec);
Invio nulla (void);
void lettura (void);
void main ()
(
while (1)
(
Invio ();
Lettura ();
)
)
Invio di vuoto ()
(
unsigned char x;
unsigned char conbyte = 0x9E; / / Canale 1
ACC = conbyte;
CS1 = 0;
for (x = 0; x <8; x )
(
SCLK1 = 0;
DIN1 = MSBRA;
Ritardo (2);
SCLK1 = 1;
Ritardo (2);
ACC = ACC <<1;
)
CS1 = 1;
SCLK1 = 0;
)
void lettura ()
(
unsigned char x;
CS1 = 0;
SCLK1 = 1;
/ / Delay (2); / /
SCLK1 = 0;
Ritardo (2);
for (x = 0; x <8; x )
(
SCLK1 = 1;
/ / Delay (2); / /
SCLK1 = 0;
Ritardo (2);
LSBRA = DOUT1;
ACC = ACC <<1;
)
CS1 = 1;
P0 = ACC;
)
/ / Delay
void Delay (unsigned int msec) / / Delay
(
unsigned int i;
TMOD = 0x01; / / Timer 0 Mode 1 (16 Bit)
for (i = 0; i <msec; i ) / / militari secondo
(
TH0 = 0xFF; / / FC
TL0 = 0xFE; / / 17
Tr0 = 1; / / Attiva T0
while (TF0 == 0); / / Attendere TF0 al ribaltamento
Tr0 = 0; / / Disattiva T0
TF0 = 0; / / Cancella TF0
)
)
/ / Codifica per MAX1112 (Serial ADC)
# include <reg51.h>
sbit CS1 = P1 ^ 0;
sbit SCLK1 ^ P1 = 1;
sbit DIN1 = P1 ^ 2;
sbit DOUT1 = P1 ^ 3;
sbit LSBRA ACC ^ = 0;
sbit MSBRA ACC ^ = 7;void Delay (unsigned int msec);
Invio nulla (void);
void lettura (void);
void main ()
(
while (1)
(
Invio ();
Lettura ();
)
)
Invio di vuoto ()
(
unsigned char x;
unsigned char conbyte = 0x9E; / / Canale 1
ACC = conbyte;
CS1 = 0;
for (x = 0; x <8; x )
(
SCLK1 = 0;
DIN1 = MSBRA;
Ritardo (2);
SCLK1 = 1;
Ritardo (2);
ACC = ACC <<1;
)
CS1 = 1;
SCLK1 = 0;
)
void lettura ()
(
unsigned char x;
CS1 = 0;
SCLK1 = 1;
/ / Delay (2); / /
SCLK1 = 0;
Ritardo (2);
for (x = 0; x <8; x )
(
SCLK1 = 1;
/ / Delay (2); / /
SCLK1 = 0;
Ritardo (2);
LSBRA = DOUT1;
ACC = ACC <<1;
)
CS1 = 1;
P0 = ACC;
)
/ / Delay
void Delay (unsigned int msec) / / Delay
(
unsigned int i;
TMOD = 0x01; / / Timer 0 Mode 1 (16 Bit)
for (i = 0; i <msec; i ) / / militari secondo
(
TH0 = 0xFF; / / FC
TL0 = 0xFE; / / 17
Tr0 = 1; / / Attiva T0
while (TF0 == 0); / / Attendere TF0 al ribaltamento
Tr0 = 0; / / Disattiva T0
TF0 = 0; / / Cancella TF0
)
)