| The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers. |
Interfacing X24C01 Motorola 68HC11 Microcontroller reached toll f
Top Searches for this datasheetApplications Staff, July 1992 following code demonstrates Xicor X24C01 serial PROM interfaced Motorola 68HC11 microcontroller family when connected shown Fig. code uses pins from port implement interface. Additional code found Xicor through Xicor FaxBack system) that will implement interfaces between several other Motorola microcontroller families most Xicor serial devices. Xicor Interfacing X24C01 Motorola 68HC11 Microcontroller reached toll free 1-800-258-8864, (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 MOTOROLA (Special Interest Group). Xicor application notes also available through Xicor's FaxBack system (408) 954-1627. RESET XIRQ MODA MODB 68HC11A8 X24C01 Figure Interfacing X24C01 68HC11 microcontroller using Port Xicor, Inc. 1511 Buckeye Drive Milpitas, 95035 (408) 432-8888 AN33-1 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 STAA #$00FF #$1000 #$FF PORTD,X #$03 DDRD,X #$2D ADDR RDBYT #$41 ADDR WRBYT BEGINNING EXECUTABLE CODE INITIALIZE STACK POINTER INITIALIZE PAGE OFFSET LOCATION MAKE PORTD ONES MAKE OUTPUTS READ DATA FROM ADDRESS 002DH WRITE DATA BACK ADDRESS 0041H AN33-2 Xicor ACKPOL 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 NACK CLOCK WITHOUT ACKNOWLEDGE 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 COUNT LOOPI LOOP UNTIL BITS READ AN33-3 Xicor STAB LDAA STAA DATA #SDAOUT DDRD,X 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 STAA #$080 COUNT2 COUNT2 OUTACK START #$00 DATA OUTBYT NUMBER TIMES CHECK PART RETURN PART NEVER ISSUES ACKNOWLEDGE SEND START COMMAND SEND SLAVE ADDRESS AN33-4 Xicor CMPA PSHA PULA NACK #$00 AKLOOP START STOP 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: PSHA CLOCK GENERATE CLOCK PULSE AN33-5 Xicor 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-6 Other recent searchesTX2593 - TX2593 TX2593 Datasheet TS398M - TS398M TS398M Datasheet MI0805K260R-00 - MI0805K260R-00 MI0805K260R-00 Datasheet ICS525-01 - ICS525-01 ICS525-01 Datasheet ICS307 - ICS307 ICS307 Datasheet ICS527-01 - ICS527-01 ICS527-01 Datasheet CS8816 - CS8816 CS8816 Datasheet
Privacy Policy | Disclaimer |