📄 数控电源程序清单.asm
字号:
;CALL DELAYSS
RET
;************************************************************
;右锯齿波发生子程序
YJCB: MOV A,20H
MOV DPTR,#BCD_SJZ
MOVC A,@A+DPTR
RL A
MOV 21H,A
MOV A,#00H
YJCB1: MOV DPTR,#7FFFH
MOVX @DPTR,A
;CALL DELAYSS
INC A
CJNE A,21H,YJCB1
MOVX @DPTR,A
;CALL DELAYSS
RET
;****************************************************
;直流正扫描子程序
ZLZSM: MOV 22H,#70H
MOV A,#99H
MOV DPTR,#BCD_SJZ
MOVC A,@A+DPTR
RL A
MOV 21H,A
MOV DPTR,#7FFFH
MOV 24H,#00H
MOV ZHENGSHU,#00H
MOV XIAOSHU,#00H
MOV 20H,#00H
CALL LEDXP
ZLZ1: MOV A,24H
MOVX @DPTR,A
CALL DELAYL
CALL DELAYL
CALL DELAYL
CALL CHECK
INC 24H
CALL DISP
MOV 24H,A
CJNE A,21H,ZLZ1
CALL DELAYL
CALL DELAYL
CALL DELAYL
RET
;**************************************************************
CHECK: MOV A,P1
ANL A,#0F0H
CJNE A,22H,CH1
RET
CH1: POP DPH
POP DPL
MOV DPTR,#AGAIN
PUSH DPL
PUSH DPH
MOV XIAOSHU,#00H
RET
;**************************************************************
DISP: INC XIAOSHU
MOV A,XIAOSHU
CJNE A,#0AH,DII1
MOV XIAOSHU,#00H
MOV A,ZHENGSHU
ADD A,#10H
MOV ZHENGSHU,A
DII1: MOV A,ZHENGSHU
ADD A,XIAOSHU
MOV 20H,A
CALL LEDXP
RET
;***************************************************************
;直流负扫描子程序
ZLFSM: MOV 22H,#80H
MOV A,#99H
MOV DPTR,#BCD_SJZ
MOVC A,@A+DPTR
RL A
MOV 21H,A
MOV DPTR,#7FFFH
MOV 23H,A
MOV ZHENGSHU,#90H
MOV XIAOSHU,#09H
MOV 20H,#99H
CALL LEDXP
ZLZ2: MOV A,23H
MOVX @DPTR,A
CALL DELAYL
CALL DELAYL
CALL DELAYL
CALL CHECK
DEC 23H
CALL DISP2
MOV 23H,A
CJNE A,#00H,ZLZ2
CALL DELAYL
CALL DELAYL
CALL DELAYL
RET
;**********************************************************
DISP2: MOV A,XIAOSHU
CLR C
SUBB A,#00H
JZ DII2
DEC A
MOV XIAOSHU,A
AJMP DII3
DII2: MOV XIAOSHU,#09H
MOV A,ZHENGSHU
CLR C
SUBB A,#10H
MOV ZHENGSHU,A
DII3: MOV A,ZHENGSHU
ADD A,XIAOSHU
MOV 20H,A
CALL LEDXP
RET
;*********************************************************
;长延时子程序:
DELAYL: MOV R0,#64H ;延时0.5s子程序
D1: MOV R1,#20
D2: MOV R2,#50
D3: NOP
NOP
NOP
DJNZ R2,D3
DJNZ R1,D2
DJNZ R0,D1
RET
;******************************************************
; 短延时子程序:
DELAYS: MOV R0,#10 ;延时0.5ms子程序
D4: MOV R1,#1
D5: MOV R2,#8
D6: NOP
NOP
NOP
DJNZ R2,D6
DJNZ R1,D5
DJNZ R0,D4 ;
RET
;*************************************************************
;延时0.06ms子程序
DELAYSS: MOV R0,#64H
D11: MOV R1,#10
D12: MOV R2,#20
D13: NOP
NOP
NOP
DJNZ R2,D13
DJNZ R1,D12
DJNZ R0,D11
RET
;*************************************************************
DIMS: MOV R0,#0FFH
MOV R1,#3FH
DI1: DJNZ R0,DI1
DJNZ R1,DI1
RET
;*************************************************************
;正弦函数数值表
ZXBTAB01:DB 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2
DB 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
DB 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
DB 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
DB 2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
DB 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
DB 1,1,1,1,1,1
ZXBTAB10:DB 13,13,14,14,14,14,14,15,15,15,15,16,16,16,16
DB 16,17,17,17,17,17,17,18,18,18,18,18,18,18,19
DB 19,19,19,19,19,19,19,19,19,20,20,20,20,20,20
DB 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20
DB 20,20,20,20,19,19,19,19,19,19,19,19,19,19,18
DB 18,18,18,18,18,18,17,17,17,17,17,17,16,16,16
DB 16,16,15,15,15,15,14,14,14,14,14,13,13,13,13
DB 12,12,12,12,11,11,11,11,10,10,10,10,10,9,9
DB 9,9,8,8,8,8,7,7,7,7,6,6,6,6,6,5,5,5,5,4,4,4
DB 4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,1,1,1,1,1,1,1
DB 1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2
DB 2,3,3,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,6,7
DB 7,7,7,8,8,8,8,9,9,9,9,10,10
ZXBTAB20:DB 20,20,21,21,22,22,23,23,24,24,25,25
DB 26,26,27,27,28,28,29,29,29,30,30,31,31
DB 32,32,32,33,33,33,34,34,34,35,35,35,36
DB 36,36,37,37,37,37,38,38,38,38,38,39
DB 39,39,39,39,39,40,40,40,40,40,40,40,40
DB 40,40,40,40,40,40,40,40,40,40,40,39
DB 39,39,39,39,39,38,38,38,38,38,37,37,37,37
DB 36,36,36,35,35,35,34,34,34,33,33
DB 33,32,32,32,31,31,30,30,29,29,29,28,28,27,27,26
DB 26,25,25,24,24,23,23,22,22
DB 21,21,20,20,20,19,19,18,18,17,17,16,16,15
DB 15,14,14,13,13,12,12,11,11,11,10
DB 10,9,9,8,8,8,7,7,7,6,6,6,5,5,5,4,4,4,3,3,3,3,2,2,2
DB 2,2,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,1,1,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,5,5,5,6,6
DB 6,7,7,7,8,8,8,9,9,10,10,11,11,11,12,12,13,13,14,14,15,15,16,16,17
DB 17,18,18,19,19,20
ZXBTAB30: DB 30,31,31,32,33,34,34,35,36,37,37,38,39
DB 39,40,41,41,42,43,43,44,45,45,46,47
DB 47,48,48,49,50,50,51,51,52,52,53,53,54
DB 54,55,55,55,56,56,56,57,57,57,58,58
DB 58,58,59,59,59,59,59,60,60,60,60,60,60
DB 60,60,60,60,60,60,60,60,60,59,59,59
DB 59,59,58,58,58,58,57,57,57,56,56,56,55
DB 55,55,54,54,53,53,52,52,51,51,50,50
DB 49,48,48,47,47,46,45,45,44,43,43,42,41
DB 41,40,39,39,38,37,37,36,35,34,34,33
DB 32,31,31,30,29,29,28,27,26,26,25,24
DB 23,23,22,21,21,20,19,19,18,17,17,16,15
DB 15,14,13,13,12,12,11,10,10,9,9,8,8,7,7,6,6,5,5,5,4,4,4,3,3
DB 3,2,2,2,2,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 1,1,1,1,1,2,2,2,2,3,3,3,4,4,4,5,5,5,6,6,7,7,8,8,9
DB 9,10,10,11,12,12,13,13,14,15,15,16,17
DB 17,18,19,19,20,21,21,22,23,23,24,25
DB 26,26,27,28,29,29
ZXBTAB40: DB 40,41,42,43,44,45,46,47,48,49,50,51,52
DB 53,53,54,55,56,57,58,59,60,61,61,62
DB 63,64,65,65,66,67,68,68,69,70,70,71,72,72
DB 73,73,74,74,75,75,76,76,77,77,77
DB 78,78,78,79,79,79,79,79,80,80,80,80,80,80
DB 80,80,80,80,80,80,80,79,79,79,79
DB 79,78,78,78,77,77,77,76,76,75,75,74,74,73
DB 73,72,72,71,70,70,69,68,68,67,66
DB 65,65,64,63,62,61,61,60,59,58,57,56,55,54,53
DB 53,52,51,50,49,48,47,46,45,44
DB 43,42,41,40,39,38,37,36,35,34,33,32,31,30
DB 29,28,27,27,26,25,24,23,22,21,20
DB 19,19,18,17,16,15,15,14,13,12,12,11,10,10,9,8,8,7,7,6,6,5,5,4,4
DB 3,3,3,2,2,2,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
DB 1,1,1,1,2,2,2,3,3,3,4,4,5,5,6,6,7,7,8,8,9,10,10,11,12
DB 12,13,14,15,15,16,17,18,19,19,20,21,22,23,24
DB 25,26,27,27,28,29,30,31,32,33
DB 34,35,36,37,38,39
ZXBTAB50: DB 50,51,52,54,55,56,57,59,60,61,62,63,65
DB 79,80,81,82,83,84,84,85,86,87,88,89,89
DB 90,91,92,92,93,94,94,95,95,96,96,97
DB 97,97,98,98,99,99,99,99,99,100,100,100,100
DB 100,100,100,100,100,100,100,99,99,99,99,99
DB 98,98,97,97,97,96,96,95,95,94,94,93,92,92,91
DB 90,89,89,88,87,86,85,84,84,83
DB 82,81,80,79,78,77,76,75,74,72,71,70,69,68,67
DB 66,65,63,62,61,60,59,57,56,55
DB 54,52,51,50,49,48,46,45,44,43,41,40,39,38
DB 37,35,34,33,32,31,30,29,28,26,25
DB 24,23,22,21,20,19,18,17,16,16,15,14,13,12,11,11,10,9,8,8,7,6,6,5,5
DB 4,4,3,3,3,2,2,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1
DB 1,1,1,2,2,3,3,3,4,4,5,5,6,6,7,8,8,9,10,11,11,12,13,14,15
DB 16,16,17,18,19,20,21,22,23,24,25,26,28,29,30
DB 31,32,33,34,35,37,38,39,40,41
DB 43,44,45,46,48,49
ZXBTAB60: DB 60,61,63,64,66,67,69,70,72,73,75,76,77
DB 79,80,82,83,84,86,87,88,90,91,92,93
DB 95,96,97,98,99,100,101,102,103,104,105
DB 106,107,108,109,110,111,111,112,113
DB 114,114,115,115,116,116,117,117,118,118,119,119,119
DB 119,120,120,120,120,120
DB 120,120,120,120,120,120,119,119,119,119
DB 118,118,117,117,116,116,115,115,114
DB 114,113,112,111,111,110,109,108,107,106,105
DB 104,103,102,101,100,99,98,97,96
DB 95,93,92,91,90,88,87,86,84,83,82,80,79,77
DB 76,75,73,72,70,69,67,66,64,63,61,60
DB 59,57,56,54,53,51,50,48,47,45,44,43,41
DB 40,38,37,36,34,33,32,30,29,28,27,25,24
DB 23,22,21,20,19,18,17,16,15,14,13,12,11,10
DB 9,9,8,7,6,6,5,5,4,4,3,3,2,2,1,1,1,1,0,0
DB 0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,3,3,4,4,5,5,6,6,7
DB 8,9,9,10,11,12,13,14,15,16,17,18,19
DB 20,21,22,23,24,25,27,28,29,30,32,33,34,36
DB 37,38,40,41,43,44,45,47,48,50,51,53
DB 54,56,57,59
ZXBTAB70: DB 70,72,73,75,77,79,80,82,84,85,87,89
DB 90,92,94,95,97,98,100,101,103,105,106,107,109
DB 110,112,113,114,116,117,118,119,121,122,123
DB 124,125,126,127,128,129,130,131,132,133,133,134,135,135
DB 136,136,137,137,138,138,139,139,139,139,140,140,140,140
DB 140,140,140,140,140,139,139,139,139,138,138
DB 137,137,136,136,135,135,134,133,133,132,131
DB 130,129,128,127,126,125,124,123,122,121,119,118,117,116
DB 114,113,112,110,109,107,106,105,103,101
DB 100,98,97,95,94,92,90,89,87,85,84,82,80,79,77
DB 75,73,72,70,68,67,65,63,61,60,58,56,55,53
DB 51,50,48,46,45,43,42,40,39,37,35
DB 34,33,31,30,28,27,26,24,23,22,21,19,18,17,16,15
DB 14,13,12,11,10,9,8,7,7
DB 6,5,5,4,4,3,3,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1
DB 1,2,2,3,3,4,4,5,5,6,7,7,8,9,10,11,12,13,14,15,16,17,18,19,21
DB 22,23,24,26,27,28,30,31,33,34,35,37,39
DB 40,42,43,45,46,48,50,51,53,55,56,58
DB 60,61,63,65,67,68
ZXBTAB80: DB 80,82,84,86,88,90,92,94,96,98,99,101,103,105,107
DB 109,111,112,114,116,118,119,121,123,124
DB 126,128,129,131,132,134,135,137,138,139,141
DB 142,143,144,145,147,148,149,150,151,151,152,153,154,155
DB 155,156,157,157,158,158,158,159,159,159,160
DB 160,160,160,160,160,160,160,160,159,159,159,158,158,158
DB 157,157,156,155,155,154,153,152,151,151,150
DB 149,148,147,145,144,143,142,141,139,138,137,135,134,132
DB 131,129,128,126,124,123,121,119,118,116,114
DB 112,111,109,107,105,103,101,99,98,96,94,92,90,88
DB 86,84,82,80,78,76,74,72,70,68,66,64,62,61,59
DB 57,55,53,51,49,48,46,44,42,41
DB 39,37,36,34,32,31,29,28,26,25,23,22,21,19,18,17
DB 16,15,13,12,11,10,9,9,8
DB 7,6,5,5,4,3,3,2,2,2,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1
DB 2,2,2,3,3,4,5,5,6,7,8,9,9,10,11,12,13,15,16,17,18,19,21,22,23
DB 25,26,28,29,31,32,34,36,37,39,41,42,44
DB 46,48,49,51,53,55,57,59,61,62,64,66
DB 68,70,72,74,76,78
ZXBTAB90: DB 90,92,94,97,99,101,103,105,108,110,112,114,116,118
DB 120,122,124,126,128,130,132,134,136,138,140
DB 142,144,145,147,149,150,152,154,155,157,158,160
DB 161,162,164,165,166,167,168,169,170,171,172,173,174
DB 175,175,176,177,177,178,178,179,179,179,180
DB 180,180,180,180,180,180,180,180,179,179,179,178,178,177
DB 177,176,175,175,174,173,172,171,170,169,168,167
DB 166,165,164,162,161,160,158,157,155,154,152,150,149
DB 147,145,144,142,140,138,136,134,132,130,128,126
DB 124,122,120,118,116,114,112,110,108,105,103,101,99
DB 97,94,92,90,88,86,83,81,79,77,75,72
DB 70,68,66,64,62,60,58,56,54,52,50,48,46
DB 44,42,40,38,36,35,33,31,30,28,26,25,23,22,20
DB 19,18,16,15,14,13,12,11,10,9
DB 8,7,6,5,5,4,3,3,2,2,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1
DB 2,2,3,3,4,5,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,22,23,25,26
DB 28,30,31,33,35,36,38,40,42,44,46,48,50,52,54
DB 56,58,60,62,64,66,68,70,72,75
DB 77,79,81,83,86,88
;************************************************************
;BCD码转十进制数对应代码表
BCD_SJZ: DB 0,1,2,3,4,5,6,7,8,9,0,0,0,0,0,0
DB 10,11,12,13,14,15,16,17,18,19,0,0,0,0,0,0
DB 20,21,22,23,24,25,26,27,28,29,0,0,0,0,0,0
DB 30,31,32,33,34,35,36,37,38,39,0,0,0,0,0,0
DB 40,41,42,43,44,45,46,47,48,49,0,0,0,0,0,0
DB 50,51,52,53,54,55,56,57,58,59,0,0,0,0,0,0
DB 60,61,62,63,64,65,66,67,68,69,0,0,0,0,0,0
DB 70,71,72,73,74,75,76,77,78,79,0,0,0,0,0,0
DB 80,81,82,83,84,85,86,87,88,89,0,0,0,0,0,0
DB 90,91,92,93,94,95,96,97,98,99
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -