0832.asm

来自「4X4矩阵键盘+LCD1602显示源码及编程文件」· 汇编 代码 · 共 83 行

ASM
83
字号
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 + =
减小字号Ctrl + -
显示快捷键?