导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→X5045求助[guest]

 *第23556篇: X5045求助

  
楼 主:guest 2004年7月8日20:52
 X5045求助
请高手给发个对X5045 EEPROM进行读与写的子程,最好是支持51系列程序.asm格式
偶自己根据资料时序编的老用不了,郁闷ing……
感激不尽!!
信箱:zy.song@siina.com
  
2楼:longxiuwei 2004年7月8日21:27
 你把它的时序配合好了没!那很重要的!
  
3楼:guest 2004年7月9日10:08
 楼主你的邮箱有问题!
楼主你的邮箱有问题!
  
4楼:justrong 2004年7月9日10:43
 邮箱有问题只好贴了

;;;;;;;
邮箱有问题只好贴了

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CONST_WRSR              EQU             01H
CONST_WRITE             EQU             02H
CONST_READ              EQU             03H
CONST_WRDIS             EQU             04H
CONST_RDSR              EQU             05H
CONST_WREN              EQU             06H
;;;#####################################################################################################################
CS                      EQU             P1.7
SO                      EQU             P3.2
SCK                     EQU             P3.4
SI                      EQU             P3.5
WP                      EQU             P3.6

FEEDDOG                 EQU             P1.7


FLAG_E2HADR             EQU             48H             ;;;29H


PAGEADR                 EQU             34H
;;;#####################################################################################################################
DELAY:          MOV             R7,#230
DELAY1:         CLR             FEEDDOG
                NOP
                NOP
                NOP
                NOP
                SETB            FEEDDOG
                DJNZ            R7,DELAY1
                DJNZ            R6,DELAY
                NOP
                RET
READ_STATUS:    PUSH            IE
                CLR             EA
                CLR             SCK
                CLR             CS
                MOV             A,#CONST_RDSR
                MOV             R5,#08H
READ_STATUS1:   CLR             SCK
                RLC             A
                MOV             SI,C
                SETB            SCK
                DJNZ            R5,READ_STATUS1
                MOV             R5,#08H
READ_STATUS2:   CLR             SCK
                MOV             C,SO
                RLC             A
                SETB            SCK
                DJNZ            R5,READ_STATUS2
                SETB            CS
                SETB            SCK
                POP             IE
                RET
;;;#####################################################################################################################

SEND_WRENABLE:  CLR             SCK
                SETB            WP
                CLR             CS
                MOV             A,#CONST_WREN
                MOV             R5,#08H
SEND_WRENABLE1: CLR             SCK
                RLC             A
                MOV             SI,C
                SETB            SCK
                DJNZ            R5,SEND_WRENABLE1
                SETB            CS
                RET
;;;#####################################################################################################################

WRITE_STATUS:   PUSH            IE
                CLR             EA

                PUSH            A
                ACALL           SEND_WRENABLE
                CLR             SCK
                CLR             CS
                SETB            WP
                MOV             A,#CONST_WRSR
                MOV             R5,#08H
WRITE_STATUS1:  CLR             SCK
                RLC             A
                MOV             SI,C
                SETB            SCK
                DJNZ            R5,WRITE_STATUS1
                POP             A
                MOV             R5,#08H
WRITE_STATUS2:  CLR             SCK
                RLC             A
                MOV             SI,C
                SETB            SCK
                DJNZ            R5,WRITE_STATUS2
                SETB            CS
;               CLR             WP
                POP             IE
                MOV             R6,#03H
                ACALL           DELAY
                RET
;;;#####################################################################################################################

READ_EEPROM:    PUSH            IE
                CLR             EA
                CLR             SCK
                CLR             CS
                CLR             A
                MOV             C,FLAG_E2HADR
                MOV             ACC.3,C
                ORL             A,#CONST_READ
                MOV             R5,#08H
READ_EEPROM1:   CLR             SCK
                RLC             A
                MOV             SI,C
                SETB            SCK
                DJNZ            R5,READ_EEPROM1
                MOV             A,PAGEADR
                MOV             R5,#08H
READ_EEPROM2:   CLR             SCK
                RLC             A
                MOV             SI,C
                SETB            SCK
                DJNZ            R5,READ_EEPROM2
READ_EEPROM3:   MOV             R5,#08H
READ_EEPROM4:   CLR             SCK
                MOV             C,SO
                RLC             A
                SETB            SCK
                DJNZ            R5,READ_EEPROM4
                MOV             @R1,A
                INC             R1
                DJNZ            R3,READ_EEPROM3
                SETB            CS
                SETB            SCK
                POP             IE
                RET
;;;#####################################################################################################################

WRITE_EEPROM:   PUSH            IE
                CLR             EA
                ACALL           SEND_WRENABLE
                CLR             SCK
                CLR             CS
                SETB            WP
                CLR             A
                MOV             C,FLAG_E2HADR
                MOV             ACC.3,C
                ORL             A,#CONST_WRITE
                MOV             R5,#08H
WRITE_EEPROM1:  CLR             SCK
                RLC             A
                MOV             SI,C
                SETB            SCK
                DJNZ            R5,WRITE_EEPROM1
                MOV             A,PAGEADR
                MOV             R5,#08H
WRITE_EEPROM2:  CLR             SCK
                RLC             A
                MOV             SI,C
                SETB            SCK
                DJNZ            R5,WRITE_EEPROM2
                MOV             A,@R0
                MOV             R5,#08H
WRITE_EEPROM4:  CLR             SCK
                RLC             A
                MOV             SI,C
                SETB            SCK
                DJNZ            R5,WRITE_EEPROM4
                SETB            CS
                SETB            SCK
;                CLR             WP
                POP             IE
                MOV             R6,#03H
                ACALL           DELAY
                INC             R0
                INC             PAGEADR
                DJNZ            R2,WRITE_EEPROM
                RET
;;;;#####################################################################################################################


>>>>>>对该主题发表你的看法

本主题贴数4,分页: [第1页]


[上一篇主题]:关于ZLG7289的问题!

[下一篇主题]:怎样用CD4051和74LS290做音量控制系统