【正文】
enforce SCL highclr enforce SCL low and data setup input bitc, SDAnop drop clockb, 8x40: enforce hold delayretstart:callshoutjc Returns CY set to indicate that the bus is not available do not acknowledge byterlx49:call send high byte of addressindex, buffersetb Send read mand and receive data. abort if no acknowledgex34callcall point to buffermov abort if no acknowledgea, FADDR Destroys A, KOUNT, INDEX.x76:。 add page size advance pointermov try againmov set up addressmovjnc Add page size to address pointer.djnz retry counterincx87a, dphx87a, FILL, x86x82 Then performs multiple Current Address Read functions to stepcjnea, dpl set timeout error flagwrite_byte Writes one address at a time (page mode is not used).callSCL0ORG undefinedORGPSIZEBITEQUEQU Functions BYTE_FILL, VERIFY_BYTE_FILL, PAGE_FILL and VERIFY_PAGE_FILL are。 AT89C1051 by relocating or resizing the buffer and stack to fit into the。 bus. Refer to the AT24Cxx family data sheets for additional information on。0a0h。40Hbuffer:reti0013H begin code space highjcjmpmov programmable addresssetb Reads and verifies one byte at a time (page mode is not used).mov try to readx82:read_current advance address pointer clear error flag Writes one page at a time.index, FILLdptr, 0mov exita, (LOW SIZE), x62 retry counterdjnzincdphcjne Does not wait for write cycle to plete. programmable address to bits 3:1jcx37 clear error flagorl send device addressjca, index abort if no acknowledgecjneACK add fixed addressa, addr_locall AT24Cxx Random Read function.callmov send low byte of addresspopjnbnopSDAnopb output bitclr Shift in a byte from the AT24Cxx, most significant bit first.x43:movb, x43nopnopnop drop clockanopb, x42nopx42:SDAnopc jump if not high Returns CY set if bus is not available.jmpcall abort if bus not availablepushcjc programmable address to bits 3:1 AT24Cxx Current Address Read function.jcshoutx35: specify read operationstarta, addr_lo save copy of device addressjcmova, addr_hiclrstartcjnedpl, ab, x75setbaddr_hi, dph Reads and verifies one page at a time. jump if high byte not affecteda, dpl try againmov set up address advance pointermovx86: check high bytejmp Destroys A, B, DPTR. check low byte。x54jncjc serial I/O interrupt vector000BH power on/reset vector serial clockSDA data registeraddr_lo example fill value。 different member of the AT24Cxx family, simply redefine the values of SIZE。 READ_CURRENT and READ_RANDOM, respectively. Page Write and Sequential Read。 and write the AT24Cxx family of serial CMOS EEPROMS. This version of the。 threebit programmable address is passed to the WRITE_BYTE, READ_CURRENT,。 required if a faster clock is substituted.FADDREQUDSEG AT 20H20H undefi