📄 adc0832-led.asm
字号:
;------------ ADC0832 端口定义 -----------------
CLK EQU P1.0
DAT EQU P1.1
CS EQU P3.4
;-----------------------------------------------
ORG 0000H
JMP START
;-----------------------------------------------
;===============================================
;
;ADC0832 初始化、转换、显示子程序
;
;===============================================
START: MOV SP,#60H
MOV A,#00H
MOV P0,#0FFH
SETB CS ;一个转换周期开始
CLR CLK
CLR CS ;CS置0,片选有效
SETB DAT ;DI置1,起始位
NOP
SETB CLK ;第一个脉冲
CLR DAT ;在负跳变之前加一个DI反转操作
CLR CLK ;
SETB DAT ;DI置1,设为单通道
NOP
SETB CLK ;第二个脉冲
CLR DAT
CLR CLK
CLR DAT ;DI置0,选择通道0
NOP
SETB CLK ;第三个脉冲
SETB DAT
CLR CLK ;
NOP
SETB CLK ; 第四个脉冲
MOV R1,#08H ;计数器初值,读取8位数据,
READ: CLR CLK ;下降沿
MOV C,DAT ;读取DO端数据
RLC A ;C移入A,高位在前
SETB CLK ;下一个脉冲
DJNZ R1,READ ;没读完继续
SETB CS
CPL A
MOV P0,A ;转换结果送 P0 口显示
MOV R5,#100 ;延时500ms
DELAY1: CALL DELAY5MS
DJNZ R5,DELAY1
AJMP START ;下一个转换周期开始
;===============================================
;延时子程序
;(R5)×5ms
;===============================================
DELAY5MS:
MOV R6,#25
DEL1: MOV R7,#100
DJNZ R7,$
DJNZ R6,DEL1
RET
;===============================================
END ;结束
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -