导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→邮箱有问题只好贴了

;;;;;;;;;;;;;;;;;


* 57789: X5045求助

   justrong 
justrong发表的帖子 

 
邮箱有问题只好贴了

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
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
;;;;#####################################################################################################################


发表时间:2004年7月9日10:43:54

  
回复该帖

本主题共有 4 帖,分页:>>>>>该主题的所有内容[4]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

[上一篇帖子]:都没人回一下 /P P 唉
[下一篇帖子]:可以尝试同时将txd接入rxd,这样就可以自发自收,然后通过程序来判断是否正确发送即可。