📄 max501pot.txt
字号:
;*************DAC-POT**********************
;******采用DA 变换器做数字电位器***********
;TIM CAI 2007-06-21
DA_LADAC EQU P1.0
DA_SET EQU P1.1
DA_CLR EQU P1.2
UP EQU P1.3
DOWN EQU P1.4
DA_CSMSB EQU P1.5
DA_WR EQU P1.6
DA_CSLSB EQU P1.7
DL EQU 30H
DH EQU 31H
ORG 0000H
LJMP MAIN
;-----------------主程序-----------------------
ORG 500H
MAIN: MOV SP,#60H
MOV DH,#00H
MOV DL,#00H
CLR PSW.4
CLR PSW.3
MOV R0,#00H
MOV R1,#00H
LCALL DAPOT
LOOP: SETB UP
MOV C,UP
JNC INC0
L1: SETB DOWN
MOV C,DOWN
JNC DEC0
L2: LJMP LOOP
INC0: LJMP INC1
DEC0: LJMP DEC1
;加1
INC1: MOV R0,DL
MOV A,DH
ANL A,#0FH
MOV R1,A
CJNE R1,#0FH,S1
CJNE R0,#0FFH,S1
LJMP S2
S1: MOV A,R0
ADD A,#01H
MOV R0,A
MOV A,R1
ADDC A,#00H
MOV R1,A
MOV DL,R0
MOV DH,R1
LCALL DAPOT
S2: LJMP L1
;减1
DEC1: MOV R0,DL
MOV A,DH
ANL A,#0FH
MOV R1,A
CJNE R1,#00H,S3
CJNE R0,#00H,S3
LJMP S6
S3: MOV A,R0
JZ S5
DEC R0
LJMP S4
S5: MOV A,R1
JZ S6
DEC R1
MOV R0,#0FFH
S4: MOV DL,R0
MOV DH,R1
LCALL DAPOT
S6: LJMP L2
;---------------------DA 控制子程序-----------------------
;入口:DH,DL
;出口:DA转换器
DAPOT: SETB DA_LADAC
SETB DA_SET
SETB DA_CLR
SETB DA_CSMSB
CLR DA_CSLSB
CLR DA_WR
NOP
NOP
NOP
NOP
MOV P0,R0
NOP
NOP
NOP
SETB DA_WR
NOP
NOP
NOP
SETB DA_CSLSB
NOP
NOP
NOP
CLR DA_CSMSB
NOP
NOP
CLR DA_WR
NOP
NOP
NOP
MOV P0,R1
NOP
NOP
NOP
SETB DA_WR
NOP
NOP
NOP
SETB DA_CSMSB
NOP
NOP
NOP
CLR DA_LADAC
NOP
NOP
NOP
SETB DA_LADAC
CALL DELAY
RET
DELAY: MOV R4,#08H
DELAY1: MOV R3,#0FFH
DELAY2: DJNZ R3,DELAY2
DJNZ R4,DELAY1
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -