您当前的位置:五五电子网电子知识单片机-工控设备51单片机X5045的汇编读写程序 正文
X5045的汇编读写程序

X5045的汇编读写程序

点击数:7942 次   录入时间:03-04 11:51:55   整理:http://www.55dianzi.com   51单片机
X5045读写子程序
;**************extern EEPROM const  define******
WREN            EQU 06H         ;X5045 WRITE ENABLE
;WRDI            EQU 04H         ;X5045 write dISAble
RDSR            EQU 05H         ;Read x5045 status register
WRSR            EQU 01H         ;Write x5045 status register
READ            EQU 03H         ;Read data from x5045 instruction
WRITE           EQU 02H         ;Write data to x5045 instruction
STATUS          EQU 30H         ;STATUS REGISTER INIT
;*********************************************************
;***********读数据子程序********************
;数据最终在以R0间址的缓冲区中
RDX5_DAT:       CLR A
RDX5_DAT0:      MOV R7,#08H    ;8bit
RDX5_DAT1:      CLR C
                SETB SCK
                NOP
                NOP
                NOP
                NOP
                NOP
                CLR SCK         ;产生下降边沿
                NOP
                NOP
                NOP
                NOP
                NOP
                MOV C,SDO       ;读出数据
                RLC A           ;SO->Cy->ACC.0
                DJNZ R7,RDX5_DAT1
                MOV @R0,A       ;数据暂存在缓冲区
                INC R0
                CLR ACC
                DJNZ R1,RDX5_DAT0 ;未完继续
                CLR SCK
                RET
;********写数据子程序*******************
;********数据长度在 R1,数据在RO指向的地址中
WRITE_CD:       CLR A
                CLR C
WRITE_CD0:      MOV A,@R0
                MOV R7,#08H
WRITE_CD1:      CLR SCK
                RLC A
                MOV SDI,C
                CPL SCK               ;SCK FOR 1 DATA IS valideation
                CLR C
                DJNZ R7,WRITE_CD1
                INC R0                ;NEXT BYTE
                DJNZ R1,WRITE_CD0        
                CLR SDI
                RET
;**************读状态寄存器子程序
READ_STATUS:    CLR A
                CLR C
                CLR CS        
                MOV A,#RDSR      ;Read status register instruction
                MOV R7,#08H     ;
READ_ST1:       CLR SCK
                RLC A           ;FRIST FOR MSB BIT
                MOV SDI,C
                SETB SCK         ;Make the rising edge of cLOCk
                CLR C
                DJNZ R7,READ_ST1
                MOV R7,#08H
READ_ST2:       CLR C
                SETB SCK         ;DATA FROM X5045 TO CPU by the fulling edge
                NOP
                NOP
                NOP

[1] [2]  下一页


本文关键字:程序  51单片机单片机-工控设备 - 51单片机