| The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers. |
AN14 Interfacing X24C01A/02/04/08/16 8051 Microcontrollers X
Top Searches for this datasheetApplications Staff, July 1992 following code demonstrates Xicor X24C01A/02/04/08/16 family serial PROMs interfaced 8051 microcontroller family when connected shown Fig. interface uses lines from port Additional code found Xicor through Xicor FaxBack system) that will implement interfaces between 8051 microcontroller family other Xicor serial devices. AN14 Interfacing X24C01A/02/04/08/16 8051 Microcontrollers Xicor reached toll free 1-800-2588864, (408) area code internationally 1-408-943-0655. Xicor's will support 19.2K baud rate modem parity, words, stop bit, local echo). These listings found INTEL (Special Interest Group). Xicor application notes also available through Xicor's FaxBack system (408) 954-1627. RESET TEST PSEN Figure Typical hardware connection interfacing X24C04 8051 microcontrollers Xicor, Inc. 1511 Buckeye Drive Milpitas, 95035 (408) 432-8888 AN14-1 Xicor THIS CODE DESIGNED DEMONSTRATE X24C01A/02/04/08/16 FAMILY PARTS COULD INTERFACED 8051 MICROCONTROLLERS. INTERFACE USES LINES FROM PORT (P1.0 P1.1) COMMUNICATE. OTHER COMPATIBLE PARTS ADDED LONG THEY HAVE THEIR DEVICE IDENTIFIER. ROUTINES RDBYT WRBYT TAILORED SPECIFICALLY THIS FAMILY. ROUTINES START, STOP, ACK, NACK, OUTBYT,* INBYT CONSIDERED GENERIC ROUTINES. CODE SHOWN DEMONSTRATES 'RANDOM READ' 'BYTE WRITE'. OTHER MODES OPERATION CREATED EXPANDING UPON THESE ROUTINES. ACKNOWLEDGE POLLING USED DETERMINE WHEN WRITE CYCLE COMPLETE.* THIS CODE WILL WORK WITH XICOR COMPATIBLE EEPROMS REGUARDLESS THEIR SIZE. LONG ADDRESS PINS CONFIGURED CORRECTLY THIS CODE WILL KNOW DIFFERENCE BETWEEN WITH SINGLE X24C16 WITH EIGHT X24C02S. MAINLINE THIS PROGRAM READS DATA LOCATED ADDRESS 002DH THEN WRITES THAT DATA BACK ADDRESS 0041H. REVISED: JANUARY 1997 ADDR COUNT DATA1 TEMP COUNT2 P1.0 P1.1 PORT PORT LOCATION X24C04 ADDRESS ACCESS COUNTER VARIABLE LOCATION X24C04 DATA TRANSFERED SCRATCH BYTE COUNTER POLLING AN14 ;*************************** RESET VECTOR ENTRY POINT ;*************************** LJMP 0000H BEGIN RESET VECTOR LOCATION JUMP BEGINNING PROGRAM ;********************** PROGRAM ENTRY POINT ;********************** BEGIN: LCALL LCALL LCALL LJMP 0100H SP,#60H DPTR,#002DH ADDR,DPH ADDR+1,DPL RDBYT DPTR,#0041H ADDR,DPH ADDR+1,DPL WRBYT ACKPOL DONE PROGRAM CODE STARTS 0100H INITIALIZE STACK POINTER PREPARE READ ADDRESS #002DH READ DATA FROM ADDRESS 002DH PREPARE WRITE VALUE STORED DATA1 LOCATION #0041H WRITE DATA ADDRESS #0041H ACKNOWLEDGE POLLING LOOP UNTIL RESET DONE: AN14-2 Xicor READ BYTE "RANDOM READ SEQUENCE". ADDRESS READ STORED ADDR. DATA FROM (DEVICE UNDER TEST) STORED DATA1. RDBYT: LCALL LCALL LCALL LCALL LCALL LCALL LCALL LCALL LCALL LCALL LCALL START A,ADDR A,#0A0H TEMP,A DATA1,A OUTBYT NACK A,ADDR+1 DATA1,A OUTBYT NACK START A,TEMP A,#01H DATA1,A OUTBYT NACK INBYT NACK STOP READ BYTE FROM ADDRESS INDICATED 'ADDR' BUILD SLAVE ADDRESS WRITE SEND SLAVE ADDRESS SEND RECEIVE ACKNOWLEDGE SEND WORD ADDRESS SEND RECEIVE ACKNOWLEDGE SEND START COMMAND BUILD SLAVE ADDRESS READ SEND SLAVE ADDRESS SEND RECEIVE ACKNOWLEDGE READ DATA FROM X24C04 CLOCK WITHOUT ACKNOWLEDGE SEND STOP COMMAND AN14 WRITE BYTE "BYTE WRITE SEQUENCE". ADDRESS WRITE STORED ADDR. DATA WRITE STORED DATA1. WRBYT: LCALL LCALL LCALL LCALL LCALL LCALL LCALL LCALL A,DATA1 TEMP,A START A,ADDR A,#0A0H DATA1,A OUTBYT NACK A,ADDR+1 DATA1,A OUTBYT NACK A,TEMP DATA1,A OUTBYT NACK STOP WRITE BYTE POINTED ADDR VALUE LOCATION 'DATA1' SEND START COMMAND BUILD SLAVE ADDRESS WRITE SEND SLAVE ADDRESS SEND RECEIVE ACKNOWLEDGE SEND WORD ADDRESS SEND RECEIVE ACKNOWLEDGE SEND WRITE DATA SEND RECEIVE ACKNOWLEDGE SEND STOP AN14-3 Xicor READ BITS FROM DUT. RESULTS RETURNED DATA1. INBYT: LOOPI: SETB LCALL DJNZ COUNT,#08H CLOCK A,DATA1 DATA1,A COUNT,LOOPI READ BITS, MAKE INPUT CLOCK DATA BUILD BYTE USING DATA1 ROLL NEXT FROM SAVE DATA LOOP UNTIL BITS READ AN14 WRITE BITS DUT. DATA SEND DATA1. OUTBYT: LOOPO: LCALL DJNZ COUNT,#08H A,DATA1 SDA,C DATA1,A CLOCK COUNT,LOOPO PREPARE SHIFT BITS LOAD DATA SENT ROTATE SEND INTO CARRY FLAG SEND CARRY SAVE ROTATED DATA SEND CLOCK SIGNAL LOOP UNTIL BITS HAVE BEEN SENT PERFORM ACKNOWLEDGE POLLING DETERMINE WHEN WRITE CYCLE COMPLETES. UPON RETURN FROM THIS ROUTINE CARRY INDICATES WHETHER EVER ACKNOWLEDGED WRITE. CARRY=0 PART ACKNOWLEDGED, CARRY=1 ACKNOWLEDGE RECEIVED. ACKPOL: COUNT2,#080H AKLOOP: DJNZ COUNT2,LOOK SJMP OUTACK LOOK: LCALL START A,#0A0H DATA1,A LCALL OUTBYT LCALL NACK AKLOOP OUTACK: LCALL STOP ;*********************** ISSUE STOP COMMAND ;*********************** STOP: SETB SETB SEND STOP CONDITION DUT, HIGH MAKE SURE TIME VALID NUMBER TIMES CHECK PART RETURN PART NEVER ISSUES ACKNOWLEDGE. READ MAKE SLAVE ADDRESS READ SEND SLAVE ADDRESS ACKNOWLEDGE LOOP ACKNOWLEDGE RECEIVED ISSUE STOP BEFORE RETURNING HIGH AN14-4 Xicor ;************************ ISSUE START COMMAND ;************************ START: SETB SETB SEND START CONDITION DUT, HIGH HIGH MAKE SURE TIME VALID AN14 MAKE SURE TIME VALID ISSUE ACKNOWLEDGE. ACK: LCALL CLOCK PERFORM ACKNOWLEDGE, GENERATE CLOCK PULSE SEND HIGH. NACK ROUTINE DOES CHECK ACTUALLY ISSUES ACKNOWLEDGE.* NACK: SETB LCALL CLOCK HIGH GENERATE CLOCK PULSE ISSUE CLOCK PULSE. WHILE CLOCK HIGH VALUE LINE PLACED CARRY FLAG. WHEN READ TAKING PLACE CARRY FLAG WILL INDICATE VALUE FROM DUT. CLOCK: SETB MAKE SURE DATA TIME VALID GENERATE CLOCK PULSE, HIGH MAKE SURE CLOCK HIGH TIME VALID READ STATE SDA, SAVE CARRY FLAG C,SDA AN14-5 Other recent searchesTPS65010 - TPS65010 TPS65010 Datasheet SVC201SPA - SVC201SPA SVC201SPA Datasheet STYV-1-1 - STYV-1-1 STYV-1-1 Datasheet STFF-0 - STFF-0 STFF-0 Datasheet SC454 - SC454 SC454 Datasheet PMC-0701S - PMC-0701S PMC-0701S Datasheet M62492FP - M62492FP M62492FP Datasheet ISO-9001 - ISO-9001 ISO-9001 Datasheet 14001-certified - 14001-certified 14001-certified Datasheet DFN3030-10 - DFN3030-10 DFN3030-10 Datasheet BXY44 - BXY44 BXY44 Datasheet BXY44-T - BXY44-T BXY44-T Datasheet BXY44-T1 - BXY44-T1 BXY44-T1 Datasheet BXY44-T2 - BXY44-T2 BXY44-T2 Datasheet AP1652 - AP1652 AP1652 Datasheet AP165201 - AP165201 AP165201 Datasheet
Privacy Policy | Disclaimer |