| The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers. |
Interfacing X24C01 Motorola 68HC11 Microcontroller following code
Top Searches for this datasheetInterfacing X24C01 Motorola 68HC11 Microcontroller following code demonstrates Xicor X24C01 serial E2PROM interfaced Motorola 68HC11 microcontroller family when connected shown Figure code uses pins from port implement interface. Additional code found Xicor site http://www.xicor.com that will implement interfaces between several other Motorola microcontroller families most Xicor serial RESET XIRQ MODA MODB 68HC11A8 X24C01 Figure Interfacing X24C01 68HC11 microcontroller using Port AN33-1 Xicor devices. AN33-2 Xicor THIS CODE DESIGNED DEMONSTRATE XICOR X24C01 COULD INTERFACED 68HC11 MICROCONTROLLER. INTERFACE USES LINES FROM PORT (PD0 PD1) COMMUNICATE. CODE SHOWN DEMONSTRATES 'RANDOM READ' 'BYTE WRITE'. OTHER MODES OPERATION CREATED EXPANDING UPON THESE ROUTINES. ACKNOWLEDGE POLLING USED DETERMINE WHEN WRITE CYCLE FINISHES. MAINLINE THIS PROGRAM READS DATA LOCATED ADDRESS 002DH THEN WRITES THAT DATA BACK ADDRESS 0041H. THIS PROGRAM BEEN TESTED USING X24C01. REVISED: JANUARY 1997 SCLBIT SDABIT SDAOUT SDAIN DMASK PORTD DDRD ADDR DATA COUNT PDDATA COUNT2 MASK INDICATING PORTD POSITION MASK INDICATING PORTD POSITION MAKES OUTPUT STORED DDRD MAKES INPUT STORED DDRD USED MASK SEND PORT OFFSET 'PAGE' $1000 PORT DIRECTION REGISTER OFFSET LOCATION X24C01 ADDRESS ACCESS LOCATION X24C01 DATA TRANSFERED COUNTER LOCATION LOOPING TEMP REGISTER DATA STORAGE COUNTER POLLING **************************** RESET VECTOR ENTRY POINT **************************** $FFFE $E000 RESET VECTOR ADDRESS PROGRAM ENTRY JUMP BEGINNING EXECUTABLE CODE *********************** PROGRAM ENTRY POINT *********************** BEGIN: $E000 LDAA STAA LDAA STAA LDAA STAA LDAA #$00FF #$1000 #$FF PORTD,X #$03 DDRD,X #$2D ADDR RDBYT #$41 BEGINNING EXECUTABLE CODE INITIALIZE STACK POINTER INITIALIZE PAGE OFFSET LOCATION MAKE PORTD ONES MAKE OUTPUTS READ DATA FROM ADDRESS 002DH AN33-3 Xicor STAA ADDR WRBYT ACKPOL WRITE DATA BACK ADDRESS 0041H PERFORM POLLING LOOP UNTIL RESET READ BYTE "RANDOM READ SEQUENCE". ADDRESS READ STORED ADDR. DATA FROM STORED DATA. RDBYT: START READ BYTE FROM ADDRESS INDICATED LDAA ADDR 'ADDR' ASLA ORAA #$01 BUILD WORD ADDRESS STAA DATA OUTBYT SEND WORD ADDRESS NACK HIGH RECEIVE ACKNOWLEDGE INBYT READ DATA FROM X24C01 CLOCK WITHOUT ACKNOWLEDGE NACK STOP SEND STOP COMMAND WRITE BYTE "BYTE WRITE SEQUENCE". ADDRESS WRITE STORED ADDR. DATA WRITE STORED DATA. WRBYT: LDAA DATA WRITE BYTE POINTED ADDR PSHA VALUE LOCATION 'DATA' START SEND START COMMAND LDAA ADDR ASLA STAA DATA OUTBYT SEND WORD ADDRESS NACK HIGH RECEIVE ACKNOWLEDGE PULA STAA DATA OUTBYT SEND WRITE DATA NACK HIGH RECEIVE ACKNOWLEDGE STOP SEND STOP READ BITS FROM DUT. RESULTS RETURNED DATA. INBYT: LDAA STAA LDAA STAA LDAB LSRA ROLB #SDAIN DDRD,X CLOCK #$08 COUNT #$00 CLOCK MAKE INPUT BEFORE READ PREPARE SHIFT BITS LOOPI: CLOCK DATA AN33-4 Xicor STAB LDAA STAA COUNT LOOPI DATA #SDAOUT DDRD,X LOOP UNTIL BITS READ STORE VALUE READ INTO DATA MAKE OUTPUT WRITE BITS DUT. DATA SEND DATA. LAST SEND LINE MADE INPUT BEFORE CLOCK PULSE AVOID CONTENTION WHEN ACKNOWLEDGES. ROUTINE FINISHES WITH INPUT STATE. OUTBYT: LDAA STAA BCLR LDAA LDAB ANDB ANDA BSET LDAA CMPA LDAA STAA BCLR LDAA ASLA STAA LDAA STAA #$08 COUNT PORTD,X #SDABIT DATA PDDATA #$01 #DMASK PORTD,X #SDABIT COUNT #$01 #SDAIN DDRD,X PORTD,X #SDABIT CLOCK DATA DATA COUNT LOOPO #SDAIN DDRD,X PREPARE SHIFT BITS MAKE LOOPO: DATA SHIFTED JUMP DATA SHOULD MAKE CHECK LAST SEND MAKE INPUT LAST IS0: IS1: MAKE SEND CLOCK SIGNAL LOOP UNTIL BITS HAVE BEEN SENT MAKE INPUT PERFORM ACKNOWLEDGE POLLING DETERMINE WHEN WRITE CYCLE COMPLETES. UPON RETURN FROM THIS ROUTINE REGISTER INDICATES WHETHER EVER ACKNOWLEDGED WRITE. PART ACKNOWLEDGED, ACKNOWLEDGE RECEIVED. ACKPOL: AKLOOP: LDAA STAA LDAA #$080 COUNT2 COUNT2 OUTACK START #$00 NUMBER TIMES CHECK PART RETURN PART NEVER ISSUES ACKNOWLEDGE SEND START COMMAND AN33-5 Xicor STAA CMPA PSHA PULA DATA OUTBYT NACK #$00 AKLOOP START STOP SEND SLAVE ADDRESS PART ACKNOWLEDGES LOOP ACKNOWLEDGE SEND START SEND STOP OUTACK: ************************ ISSUE STOP COMMAND ************************ STOP: BCLR BSET BSET PORTD,X #SDABIT PORTD,X #SCLBIT MAKE SURE BRING HIGH PROVIDE SET-UP TIME PORTD,X #SDABIT BRING HIGH ************************* ISSUE START COMMAND ************************* START: BSET BSET BCLR BCLR PORTD,X #SDABIT PORTD,X #SCLBIT PORTD,X #SDABIT MAKE SURE THAT HIGH MAKE SURE THAT HIGH FORCE PROVIDE SET-UP TIME PORTD,X #SCLBIT FORCE ISSUE ACKNOWLEDGE. ACK: LDAA STAA BCLR #SDAOUT DDRD,X PORTD,X #SDABIT CLOCK MAKE OUTPUT PERFORM 'ACKNOWLEDGE' WITH GENERATE CLOCK PULSE HIGH OUTBYT ROUTINE. ROUTINE DOES CHECK ACTUALLY ISSUES ACKNOWLEDGE. NACK: CLOCK GENERATE CLOCK PULSE AN33-6 Xicor PSHA LDAA STAA PULA #SDAOUT DDRD,X MAKE OUTPUT ISSUE CLOCK PULSE. WHILE CLOCK HIGH VALUE LINE PLACED CARRY FLAG. WHEN READ TAKING PLACE CARRY FLAG WILL INDICATE VALUE FROM DUT. CLOCK: BSET LDAA BCLR ANDA PORTD,X #SCLBIT PORTD,X PORTD,X #SCLBIT #$01 PROVIDE CLOCK SCL, START HIGH READ WHILE HIGH VALUE LOWER AN33-7 Other recent searchesTN1202 - TN1202 TN1202 Datasheet XE1202 - XE1202 XE1202 Datasheet XE1202A - XE1202A XE1202A Datasheet TLP176GA - TLP176GA TLP176GA Datasheet SN74LVT244B - SN74LVT244B SN74LVT244B Datasheet HCPL-2400 - HCPL-2400 HCPL-2400 Datasheet HCPL-2430 - HCPL-2430 HCPL-2430 Datasheet CDC5801A - CDC5801A CDC5801A Datasheet
Privacy Policy | Disclaimer |