📄 0832.asm
字号:
A_0832_CS EQU P1.0 ;CS
A_0832_CLK EQU P1.1 ;CLK
A_0832_DI EQU P1.2 ;DI
A_0832_D EQU P1.3 ;DO
A_0832_Data EQU p1.4
A_0832_T EQU 40H ;读取时的脉冲计数
A_0832_DA EQU 41H ;数据所存位置
ORG 0
LJMP MAIN
ORG 30H
MAIN:
clr A_0832_Data
l1:
LCALL ADC_RD
MOV A,A_0832_DA
cjne a,#03fh,l0
clr A_0832_Data
l0:
jc main
setb A_0832_Data
AJMP l1
ADC_RD:
MOV A_0832_T,#8
CLR A_0832_CLK
CLR A_0832_CS
SETB A_0832_DI ;START
SETB A_0832_CLK ;第一个上升沿
NOP
NOP
NOP
CLR A_0832_CLK
NOP
NOP
SETB A_0832_DI ;选择CH1,通过组合选取通道(SGL/DIF)
NOP
SETB A_0832_CLK ;第二个上升沿
NOP
NOP
NOP
CLR A_0832_CLK
NOP
NOP
SETB A_0832_DI ;选择CH1,通过组合选取通道(ODD/SIGN)
NOP
SETB A_0832_CLK ;第三个上升沿
NOP
NOP
NOP
CLR A_0832_CLK ;首个下降沿
NOP
NOP
NOP
SETB A_0832_CLK
NOP
NOP
A_0832_RD: ;读取前,8位
CLR A_0832_CLK
NOP
NOP
NOP
SETB A_0832_CLK
MOV C,A_0832_D
RLC A
DJNZ A_0832_T,A_0832_RD
MOV A_0832_DA,A
RR A
MOV A_0832_T,#7
A_0832_RD1: ;读后7位,+前1位
CLR A_0832_CLK
NOP
NOP
NOP
SETB A_0832_CLK
MOV C,A_0832_D
RRC A
DJNZ A_0832_T,A_0832_RD1
CJNE A,A_0832_DA,ADC_RD
SETB A_0832_CS
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -