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 15
case 0x11: /* Offset Register Physical Channel 2 */
case 0x21: /* Offset Register Physical Channel 3 */
case 0x31: /* Offset Register Physical Channel 4 */
case 0x41: /* Offset Register Physical Channel 5 */
case 0x51: /* Offset Register Physical Channel 6 */
case 0x61: /* Offset Register Physical Channel 7 */
case 0x71: /* Offset Register Physical Channel 8 */
case 0x02:  /* Gain Register Physical Channel 1 */
case 0x12:  /* Gain Register Physical Channel 2 */
case 0x22:  /* Gain Register Physical Channel 3 */
case 0x32:  /* Gain Register Physical Channel 4 */
case 0x42:  /* Gain Register Physical Channel 5 */
case 0x52:  /* Gain Register Physical Channel 6 */
case 0x62:  /* Gain Register Physical Channel 7 */
case 0x72:  /* Gain Register Physical Channel 8 */
case 0x03:  /* Configuration Register */
low_byte = RXSER(); /*Receive data low byte first*/
mid_byte = RXSER(); 
high_byte = RXSER(); 
COMM = 0x00;   /* Turn on LED */ 
Delay();  
COMM = 0x01;  /* Turn off LED */
write_to_register(command,low_byte,mid_byte,high_byte);
break;
/*****************************/
/* Write Channel-Setup Registers  */
/*****************************/
case 0x05: 
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++) {
low_byte = RXSER();  /* Receive Data */
mid_byte = RXSER(); 
high_byte = RXSER(); 
transfer_byte(high_byte); /* Transfer Data to A/D */
transfer_byte(mid_byte);
transfer_byte(low_byte);
} /* END for loop */
if(mode == 1) P1 = 0xF5;   /* Set CSb */
COMM = 0x01;  /* Turn off LED*/
break;  










