📄 x5045.asm
字号:
; 这是x5045汇编程序, 文件名为X5045.ASM
; 功能:本程序主要是读出X5045特定单元(地址从000H-1FFH)的内容;
; 或将一字节值写入X5045特定单元(地址从000H-1FFH)中去;
CS EQU P1.4
SO EQU P1.5
SI EQU P1.2
SCK EQU P1.3
aa EQU 80H
bb EQU 99H
ORG 0000H
LJMP STAT
ORG 0030H
STAT: MOV SP,#60H
CLR EA
MOV P1,#30H
MOV 51H,#24H
MOV 52H,#00H
LCALL WREN ;设置写使能锁存器
LCALL WRSR ;复位写使能锁存器
LCALL WREN
; LCALL RDSR
LCALL BYTE_WRITE ;字节写
LCALL BYTE_READ ;字节读
LCALL RST_DOG ;复位看门狗
MOV 52H,A
LJMP $
WREN: CLR SCK
CLR CS
MOV A,#06H
LCALL BYTE_OUT
CLR SCK
SETB CS
RET
WRDI: CLR SCK
CLR CS
MOV A,#04H
LCALL BYTE_OUT
CLR SCK
SETB CS
RET
WRSR: CLR SCK
CLR CS
MOV A,#01H
LCALL BYTE_OUT
MOV A,#30H
LCALL BYTE_OUT
CLR SCK
SETB CS
LCALL WIP_POLL
RET
RDSR: CLR SCK
CLR CS
MOV A,#05H
LCALL BYTE_OUT
LCALL BYTE_IN
CLR SCK
SETB CS
RET
BYTE_WRITE: NOP
MOV DPTR,#080H;待写字节地址
CLR SCK
CLR CS
MOV A,#02H
MOV B,DPH
MOV C,B.0
MOV ACC.3,C
LCALL BYTE_OUT
MOV A,DPL
LCALL BYTE_OUT
MOV A,#66H ;待写值
LCALL BYTE_OUT
CLR SCK
SETB CS
LCALL WIP_POLL
RET
BYTE_READ: MOV DPTR,#0110H ;待读字节地址
CLR SCK
CLR CS
MOV A,#03H
MOV B,DPH
MOV C,B.0
MOV ACC.3,C
LCALL BYTE_OUT
MOV A,DPL
LCALL BYTE_OUT
LCALL BYTE_IN
CLR SCK
SETB CS
RET
RST_DOG: CLR CS
SETB CS
RET
WIP_POLL: MOV R1,#99H
WIP_POLL1: LCALL RDSR
JNB ACC.0,WIP_POLL2
DJNZ R1,WIP_POLL1
WIP_POLL2: RET
BYTE_OUT: MOV R0,#08H
BOUT1: CLR SCK
RLC A
MOV SI,C
SETB SCK
DJNZ R0,BOUT1
CLR SI
RET
BYTE_IN: MOV R0,#08H
BIN1: SETB SCK
CLR SCK
MOV C,SO
RLC A
DJNZ R0,BIN1
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -