📄 93c46.asm
字号:
INSB: SETB P1.4 ;置片选无效 写起始1程序
CLR P1.5 ;时钟置低
SETB P1.6 ;置DI=“1”作起始位
NOP
NOP
NOP
CLR P1.4 ;置片选有效
NOP
NOP
NOP
SETB P1.5 ;时钟置高移入数据
NOP
NOP
NOP
CLR P1.5 ;时钟置低
NOP
RET
WR1: MOV R4,#8 ;送8位数程序(操作码低两位和6位地址码)
W10: RLC A
MOV P1.6,C
NOP
NOP
NOP
SETB P1.5
NOP
NOP
NOP
CLR P1.5
NOP
DJNZ R4,W10
RET
WRITE: LCALL INSB ;参数B
MOV A,#30H
LCALL WR1 ;擦写使能
LCALL INSB
MOV A,B
ORL A,#0C0H ;擦除指令
LCALL WR1
CLR P1.5 ;sk
NOP
NOP
NOP
SETB P1.4 ;cs
NOP
NOP
NOP
CLR P1.4
SM: NOP
NOP
SETB P1.5
NOP
NOP
NOP
CLR P1.5
JNB P1.7,SM
NOP
LCALL INSB
MOV A,B
ORL A,#40H
LCALL WR1
MOV A,R2 ;R2数据高位
LCALL WR1
MOV A,R3 ;R3数据低位
LCALL WR1
CLR P1.5
NOP
NOP
NOP
SETB P1.4
NOP
NOP
NOP
CLR P1.4
NOP
NOP
NOP
WA_IT: JNB P1.7,WA_IT ;!!!!!!!!
LCALL INSB
MOV A,#00H ;擦写禁止指令
LCALL WR1
SETB P1.4
RET
RD1: MOV R4,#8 ;读8位数程序
R10: NOP
NOP
NOP
NOP
SETB P1.5
NOP
NOP
NOP
NOP
CLR P1.5
MOV C,P1.7 ;!!!!!
RLC A
DJNZ R4,R10
RET
READM: LCALL INSB
MOV A,B
ORL A,#80H
LCALL WR1
NOP
NOP
NOP
LCALL RD1
MOV R2,A ;R2数据高位
LCALL RD1
MOV R3,A ;R3数据低位
SETB P1.4
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -