Manual
Table Of Contents
- AN118: Interfacing the CS5521/22/23/24/28 to the 80C51
- TABLE OF CONTENTS
 - 1. INTRODUCTION
 - 2. ADC DIGITAL INTERFACE
 - 3. SOFTWARE DESCRIPTION
 - 4. MAXIMUM SCLK RATE
 - 5. DEVELOPMENT TOOL DESCRIPTION
 - 6. CONCLUSION
 - 7. APPENDIX: 80C51 MICROCONTROLLER CODE
 
 

AN118
AN118REV2 17
low_byte = receive_byte();
TXSER(low_byte);   /* Return bytes to PC */
TXSER(mid_byte);  
TXSER(high_byte);
}
if (temp1 == 1 ){
do { /* Nothing*/} while (SDO !=0);/* Wait for SDO to fall */
transfer_byte(0xFF); /* Send all zeros */
for (j=0; j<sample_size; j++) {
high_byte  = receive_byte();/* Receive last conversion */
mid_byte  = receive_byte();
low_byte = receive_byte();
} /* END for */  
} /* END if */
if(mode == 1) P1 = 0xF5; /* Set CSb */
COMM = 0x01;  /* Turn off LED */ 
break;
/*****************************/
/* Read Channel-Setup Registers  */
/*****************************/
case 0x0D: 
COMM = 0x00;  /* Turn on LED*/
sample_size = RXSER();  /* How many Registers? */
if(mode == 1) P1 = 0xF4;  /* Clear CSb */ 
transfer_byte(command);  /* Send command to A/D */
for (j=0; j<sample_size; j++) {
high_byte = receive_byte();/* Receive Bytes */
mid_byte = receive_byte();
low_byte = receive_byte();
TXSER(low_byte); /* Transfer data to PC */
TXSER(mid_byte);
TXSER(high_byte);
} /* END for loop */
if(mode == 1) P1 = 0xF5; /* Set CSb */
COMM = 0x01;  /* Turn off LED*/
break;
/**********************/
/* Normal Conversions  */
/**********************/
case 0x80: /* Normal Conversion on Setup 1 */
case 0x88: /* Normal Conversion on Setup 2 */
case 0x90: /* Normal Conversion on Setup 3 */
case 0x98: /* Normal Conversion on Setup 4 */










