📄 dac8534.asm
字号:
;-------------------------------------------------------
;-----PROGRAM FOR TEST DAC8534IPW-----------------------
;-----DATE:20060515-------------------------------------
;-------------------------------------------------------
;-----I/O DEFINATION------------------------------------
DA_A0 EQU P3.0
DA_A1 EQU P3.1
DA_ENABLE EQU P1.3
DA_LDAC EQU P1.4
DA_DIN EQU P1.5
DA_SCLK EQU P1.6
DA_SYNC EQU P1.7
;-------------------------------------------------------
;-----REFENCE SET FOR 2.048V----------------------------
DA_COMMAND EQU 30H
DA_DATA_H EQU 31H
DA_DATA_L EQU 32H
DA_OUTA_COM EQU 00H
DA_OUTB_COM EQU 22H
;-------------------------------------------------------
DA_5MV_H EQU 00H
DA_5MV_L EQU 0A0H
;DA_25MV_H EQU 03H
;DA_25MV_L EQU 20H
DA_25MV_H EQU 02H
DA_25MV_L EQU 0CAH
DA_420MV_H EQU 34H
DA_420MV_L EQU 80H
DA_422MV_H EQU 34H
DA_422MV_L EQU 0C0H
DA_425MV_H EQU 35H
DA_425MV_L EQU 20H
DA_450MV_H EQU 38H
DA_450MV_L EQU 40H
;DA_560MV_H EQU 46H
;DA_560MV_L EQU 00H
DA_560MV_H EQU 38H
DA_560MV_L EQU 8CH
;-------------------------------------------------------
TEMP_H EQU 40H
TEMP_M EQU 41H
TEMP_L EQU 42H
STACK EQU 70H
;-------------------------------------------------------
ORG 0000H
LJMP MAIN
;--------------------------------------------------------
ORG 0030H
MAIN:
MOV R7,#00H
DJNZ R7,$
MOV R7,#00H
DJNZ R7,$
;MOV SP,#STACK
LCALL RAM_CLR
MOV SP,#STACK
NOP
LCALL IO_INIT
NOP
LCALL DA_CONV
NOP
SJMP $
;--------------------------------------------------------
RAM_CLR:
NOP
NOP
MOV R0,#20H
CLR A
RAM_CLR_1:
MOV @R0,A
INC R0
CJNE R0,#80H,RAM_CLR_1
NOP
RET
;--------------------------------------------------------
IO_INIT:
NOP
MOV A,#0FFH ;I/O INTIALIZA
MOV P1,A
MOV A,#0FFH
MOV P3,A
NOP
RET
;--------------------------------------------------------
DA_CONV:
NOP
CLR DA_LDAC
CLR DA_ENABLE
NOP
NOP
SETB DA_SCLK
CLR DA_SYNC
CLR DA_DIN
NOP
LCALL DA_OUTA_CONV
NOP
LCALL DA_OUTB_CONV
NOP
RET
;--------------------------------------------------------
DA_OUTA_CONV:
MOV R7,#08H ;8 BITS
CLR C
NOP
MOV DA_COMMAND,#DA_OUTA_COM
MOV A,DA_COMMAND
NOP
SETB DA_SYNC
NOP
NOP
CLR DA_SYNC
NOP
NOP
LCALL DATA_TRANS
MOV R7,#08H
CLR C
MOV DA_DATA_H,#DA_25MV_H
MOV DA_DATA_L,#DA_25MV_L
MOV R0,#DA_DATA_H
MOV A,@R0
LCALL DATA_TRANS
CLR C
MOV R7,#08H
INC R0
MOV A,@R0
LCALL DATA_TRANS
NOP
RET
;--------------------------------------------------------
DA_OUTB_CONV:
MOV R7,#08H ;8 BITS
CLR C
NOP
MOV DA_COMMAND,#DA_OUTB_COM
MOV A,DA_COMMAND
NOP
SETB DA_SYNC
NOP
NOP
CLR DA_SYNC
NOP
NOP
LCALL DATA_TRANS
MOV R7,#08H
CLR C
MOV DA_DATA_H,#DA_560MV_H
MOV DA_DATA_L,#DA_560MV_L
MOV R0,#DA_DATA_H
MOV A,@R0
LCALL DATA_TRANS
CLR C
MOV R7,#08H
INC R0
MOV A,@R0
LCALL DATA_TRANS
NOP
RET
;--------------------------------------------------------
DATA_TRANS:
NOP
NOP
SETB DA_SCLK
NOP
RLC A
MOV DA_DIN,C
NOP
NOP
CLR DA_SCLK
NOP
NOP
DJNZ R7,DATA_TRANS
NOP
RET
;--------------------------------------------------------
NOP
;--------------------------------------------------------
END
;--------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -