X84256S825 [XICOR]
EEPROM, 32KX8, Serial, CMOS, PDSO8,;![X84256S825](http://pdffile.icpdf.com/pdf2/p00286/img/icpdf/X84256S825_1714000_icpdf.jpg)
型号: | X84256S825 |
厂家: | ![]() |
描述: | EEPROM, 32KX8, Serial, CMOS, PDSO8, 可编程只读存储器 电动程控只读存储器 电可擦编程只读存储器 光电二极管 内存集成电路 |
文件: | 总6页 (文件大小:35K) |
中文: | 中文翻译 | 下载: | 下载PDF数据表文档文件 |
![](http://public.icpdf.com/style/img/ads.jpg)
Application Note
AN130
Interfacing the X84256 MPS E2PROM to the Motorola 68HC11
Microcontroller
by Applications Staff, Nov. 1999
This application note demonstrates how the Xicor X84256 glue logic, 3-NAND gates when connected to the
2
2
MPS E PROM can be interfaced to the 68HC11 micro- 68HC11, the advantage of the MPS E PROM as a port-
controller family when connected as shown in Figure 1. less serial memory device is still preserved.
The interface uses the time-multiplexed address/data bus
and two control lines of the 68HC11 to interface to the
2
MPS E PROM. Although the X84256 requires minimal
XT
EX
PA3
PA4
PA5
PA6
PA7
V
CC
E3
E2
E1
RESET
IRQ
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
XIRQ
GND
A15/PB7
A14/PB6
A13/PB5
A12/PB4
A11/PB3
A10/PB2
A9/PB1
PA0
PA1
PA2
A2
A1
A0
PE0
PE1
PE2
PE3
74HT138
A8/PB0
WP
I/O
AD7/PC7
AD6/PC6
AD5/PC5
AD4/PC4
AD3/PC3
AD2/PC2
AD1/PC1
AD0/PC0
CE
WE
OE
VRH
VRL
X84256
R/W
E
AS
74CT100
68HC11
Figure 1.Typical hardware connection for interfacing an X84256 to the 68HC11 microcontroller
AN130-1
AN130
Xicor Application Note
*******************************************************************************
**
** DESCRIPTION:
**
** This file contains general utility routines written in 68HC11 assembly
2
** language used to interface the 68HC11 to the XICOR X84256 MPS E PROM.
** The interface uses the 68HC11 parallel bus and two control lines to connect
** to the X84256 . The microcontroller R/W and E control lines are connected
** through 3 NAND gates to match the X84256Õs /OE and /WE control lines.
** Address lines A15, A14, A13 are decoded for the chip select; mapping the
** X84256 to address space 6000 - 7FFF.
** The following table lists all the subroutines in this file with a brief
** description:
**
**
**
**
**
**
**
**
**
**
**
**
ResetD: Resets the device before a read or write can take place
Page_Write: Writes a page of data to the device
Page_Read: Reads a page of data from the device into the uCÕs RAM
Byte_Read: Reads a byte of data from the device into the uCÕs RAM
Byte_Write: Writes a byte of data to the device
Inbyte: Called by read subroutines to shit data in
Outbyte: Called by write subroutines to shit data out
Sndaddr: Called by read/write subroutines to send address to device
SNVWrte: Provides start non-volatile write sequence required for all writes
CheckNVW: Checks to makes sure the non-volatile write is completed
2
** The Main program writes a test string into the MPS E PROM. After
** page is programmed, the first byte of the page is altered. The page is
** then read back and written to a different location in memory.
** The data read is temporarily stored in the internal RAM.
**
*******************************************************************************
*******************************************************************************
*
INTERNAL RAM
*******************************************************************************
RAMBASE
RAMBuff
STACK
EQU
EQU
EQU
$0000
RAMBASE
RAMBASE+$FF
THE INTERNAL RAM BASE ADDRESS(Default)
RAM BUFFER ADDRESS
*******************************************************************************
PROGRAM CONSTANTS
*******************************************************************************
*
Address
EQU
EQU
EQU
EQU
$6000
$0000
$0100
32
MPSaddress
MPSaddress2
Page_Size
*******************************************************************************
RESET VECTOR ENTRY POINT
*******************************************************************************
*
ORG
FDB
$FFFE
$E000
RESET VECTOR ADDRESS TO PROGRAM ENTRY
JUMP TO BEGINNING OF EXECUTABLE CODE
* ASSEMBLER REQUIREMENT- CPU TYPE
P68H11
AN130-2
AN130
Xicor Application Note
*******************************************************************************
*
START OF USER CODE
*******************************************************************************
ORG $E000
MAIN:
lds
#STACK
* LOAD STACK POINTER
* INITIALIZE THE BUFFER BEFORE PROGRAMMING THE CONTENT TO A SECTOR
ldx
ldy
#TestString
#MPSaddress
Page_Write
#MPSaddress
Byte_Write
#MPSaddress
Page_Read
#RAMBuff
* IX = Test String Address
* Address within MPS to write data to
* Write data to the first page
* Address within MPS to write byte to
* Write byte to the first address location
* Address within MPS to read from
* Read data in the first page
* Set IX data pointer to data just read
* Address within MPS to write data to
* Write data to page 0100 hex
jsr
ldy
jsr
ldy
jsr
ldx
ldy
#MPSaddress2
Page_Write
Done
jsr
Done: jmp
*******************************************************************************
*** Name: resetd
*** Description: Sends Reset sequence to the device.
*** Function: Performs a read, write "0", read
*** Calls:
*** Input:
*** Output:
*** Register Usage: A
*******************************************************************************
ResetD: ldaa
Address
* sends read command
* clear accum
* send write "0" command
* sends read command
clra
staa
ldaa
rts
Address
Address
*******************************************************************************
*** Name: Page_Write
*** Description:
*** Function: Writes a page of data to the first address.
*** Calls: Sndaddr, OutByte
*** Input:
*** Output:
*** Register Usage: x, y
*******************************************************************************
Page_Write:
jsr
Sndaddr
* Send Page address to device
ldy
#Page_Size * Y register contains number of bytes/page
PagePW: ldaa
0,x
* Load the "test string" in the X register
pshy
jsr
puly
inx
dey
bne
jsr
jsr
rts
OutByte
* Sends out the byte in the accum
* Increments the X register
* Decrements the page counter
* Branches until all bytes are written
* Start Nonvolatile Write
* Checks completion of non-volatile write
PagePW
SNVWrte
CheckNVW
*******************************************************************************
AN130-3
AN130
Xicor Application Note
*** Name: Page_Read
*** Description:
*** Function: Reads a page of data from the first address.
*** Calls: Sndaddr, InByte
*** Input:
*** Output:
*** Register Usage: x, y
*******************************************************************************
Page_Read:
jsr
Sndaddr
#Page_Size
#RAMBuff
* Send Page address to device
* Y register contains number of bytes/page
* Sets the index register x to 0
ldy
ldx
PagePR: pshy
jsr
puly
staa
inx
dey
bne
rts
InByte
0,x
* Receives the byte of data
* Stores the byte to RAM
* Increments the X register
* Decrements the page counter
* Branches until all bytes are read
PagePR
*******************************************************************************
*** Name: Byte_Read
*** Description:
*** Function: Reads a byte of data from the first address.
*** Calls: Sndaddr, InByte
*** Input:
*** Output:
*** Register Usage: x
*******************************************************************************
Byte_Read:
jsr
ldx
Sndaddr
#RAMBuff
InByte
0,x
* Send Byte address to device
* Sets the index register x to 0
* Receives the byte of data
* Stores the byte to RAM
PageBR: jsr
staa
rts
*******************************************************************************
*** Name: InByte
*** Description: Reads in 8 bits
*** Function:
*** Calls:
*** Input:
*** Output:
*** Register Usage:
y
*******************************************************************************
InByte: ldy
clra
#$8
* Sets y to 8
* Clears accum
out2:
ldab
Address
#00000001b
* Load bit from device to accum b
* Mask-out unwanted bits accum b
* Rotate accum 1 bit to the left
* Mask accum b into accum a
andb
rola
aba
dey
bne
out2
* Branch until accum a contains complete byte
rts
*******************************************************************************
*** Name: Byte_Write
*** Description:
*** Function: Writes a byte of data to the first address.
*** Calls: Sndaddr, OutByte
*** Input:
*** Output:
*** Register Usage:
*******************************************************************************
AN130-4
AN130
Xicor Application Note
Byte_Write:
jsr
ldaa
jsr
jsr
jsr
rts
Sndaddr
#$58
OutByte
SNVWrte
CheckNVW
* Send Byte address to device
* Load accum with "X"
* Send
* Start Nonvolatile Write
* Checks completion of non-volatile write
*******************************************************************************
*** Name: Sndaddr
*** Description: Send address to the device
*** Function: Writes the 16 bit address to the device.
*** Calls: ResetD, Outbyte
*** Input:
*** Output:
*** Register Usage: y
*******************************************************************************
Sndaddr:
jsr
xgdy
jsr
tba
jsr
rts
ResetD
* Send the reset signal
* Load the address in Y to double accum
* send MSB of address
* transfer LSB to accum A
* send LSM of address
OutByte
OutByte
*******************************************************************************
*** Name: OutByte
*** Description:
*** Function: Sends out 8 bits to Address.
*** Calls:
*** Input:
*** Output:
*** Register Usage:
y
*******************************************************************************
OutByte: ldy
rola
rola
#$8
out1:
staa
dey
bne
rts
Address
out1
*******************************************************************************
*** Name: SNVWrte
*** Description:
*** Function: Sends out 8 bits to Address.
*** Calls:
*** Input:
*** Output:
*** Register Usage:
*******************************************************************************
SNVWrte: ldaa
Address
#$1
Address
Address
* sends read command
* set accum to "1"
* send write "1" command
* sends read command
ldaa
staa
ldaa
rts
*******************************************************************************
AN130-5
AN130
Xicor Application Note
*** Name: CheckNVW
*** Description:
*** Function:
*** Calls:
*** Input:
*** Output:
*** Register Usage:
*******************************************************************************
CheckNVW:ldaa
AddressÔ
* sends read command
* rotate D0 to the carry bit
* loop if nonvolatile write is occuring
rora
bcc
rts
CheckNVW
TestString: FCC
'xICORMPSXICORMPSXICORMPSXICORMPS'
*******************************************************************************
*** END OF X84256 MPS INTERTERFACE SOURCE CODE
*******************************************************************************
END
AN130-6
相关型号:
©2020 ICPDF网 联系我们和版权申明