📄 波形信号发生器程序.asm
字号:
NOP
NOP
CLR P1.0
NOP
NOP
MOV A,4CH ;W1
MOV P2,A
NOP
SETB P1.0
NOP
NOP
CLR P1.0
NOP
NOP
MOV A,4DH ;W2
MOV P2,A
NOP
SETB P1.0
NOP
NOP
CLR P1.0
NOP
NOP
MOV A,4EH ;W3
MOV P2,A
NOP
SETB P1.0
NOP
NOP
CLR P1.0
NOP
NOP
MOV A,4FH ;W4
MOV P2,A
NOP
SETB P1.0
NOP
NOP
CLR P1.0
NOP
NOP
SETB P1.1
NOP
NOP
NOP
NOP
CLR P1.1
NOP
NOP
NOP
NOP
MOV 40H,4CH
MOV 41H,4DH
MOV 42H,4EH
MOV 43H,4FH
LCALL W24C02
MOV 3CH,4CH
MOV 3DH,4DH
MOV 3EH,4EH
MOV 3FH,4FH
POP DPL
POP DPH
POP PSW
LJMP TSF0
BJ: MOV 4CH,3CH
MOV 4DH,3DH
MOV 4EH,3EH
MOV 4FH,3FH
LJMP ADDMB
ADDMB: MOV R0,#4FH
MOV R1,#52H
ADDMBB: CLR C
ADDL: MOV A,@R0
ADDC A,R1
MOV @R0,A
DEC R0
MOV R1,#09H
MOV A,@R0
ADDC A,R1
MOV @R0,A
DEC R0
MOV R1,#00H
MOV A,@R0
ADDC A,R1
MOV @R0,A
DEC R0
MOV R1,#00H
MOV A,@R0
ADDC A,R1
MOV @R0,A
CLR P1.2
NOP
NOP
SETB P1.2
NOP
NOP
CLR P1.2
CLR P1.0
CLR P1.1
NOP
MOV P2,#01H ;W0
NOP
SETB P1.0
NOP
NOP
CLR P1.0
NOP
NOP
MOV A,4CH ;W1
MOV P2,A
NOP
SETB P1.0
NOP
NOP
CLR P1.0
NOP
NOP
MOV A,4DH ;W2
MOV P2,A
NOP
SETB P1.0
NOP
NOP
CLR P1.0
NOP
NOP
MOV A,4EH ;W3
MOV P2,A
NOP
SETB P1.0
NOP
NOP
CLR P1.0
NOP
NOP
MOV A,4FH ;W4
MOV P2,A
NOP
SETB P1.0
NOP
NOP
CLR P1.0
NOP
NOP
SETB P1.1
NOP
NOP
NOP
NOP
CLR P1.1
NOP
NOP
NOP
NOP
MOV 40H,4CH
MOV 41H,4DH
MOV 42H,4EH
MOV 43H,4FH
LCALL W24C02
MOV 3CH,4CH
MOV 3DH,4DH
MOV 3EH,4EH
MOV 3FH,4FH
LJMP TSF0
DJ: MOV 4CH,3CH
MOV 4DH,3DH
MOV 4EH,3EH
MOV 4FH,3FH
LJMP SUBMMB
SUBMMB: MOV R0,#4FH
MOV R1,#52H
SUBMMBB: CLR C
SUBMMB1: MOV A,@R0
SUBB A,R1
MOV @R0,A
DEC R0
MOV R1,#09H
MOV A,@R0
SUBB A,R1
MOV @R0,A
DEC R0
MOV R1,#00H
MOV A,@R0
SUBB A,R1
MOV @R0,A
DEC R0
MOV R1,#00H
MOV A,@R0
SUBB A,R1
MOV @R0,A
CLR P1.2
NOP
NOP
SETB P1.2
NOP
NOP
CLR P1.2
CLR P1.0
CLR P1.1
NOP
MOV P2,#01H ;W0
NOP
SETB P1.0
NOP
NOP
CLR P1.0
NOP
NOP
MOV A,4CH ;W1
MOV P2,A
NOP
SETB P1.0
NOP
NOP
CLR P1.0
NOP
NOP
MOV A,4DH ;W2
MOV P2,A
NOP
SETB P1.0
NOP
NOP
CLR P1.0
NOP
NOP
MOV A,4EH ;W3
MOV P2,A
NOP
SETB P1.0
NOP
NOP
CLR P1.0
NOP
NOP
MOV A,4FH ;W4
MOV P2,A
NOP
SETB P1.0
NOP
NOP
CLR P1.0
NOP
NOP
SETB P1.1
NOP
NOP
NOP
NOP
CLR P1.1
NOP
NOP
NOP
NOP
MOV 40H,4CH
MOV 41H,4DH
MOV 42H,4EH
MOV 43H,4FH
LCALL W24C02
MOV 3CH,4CH
MOV 3DH,4DH
MOV 3EH,4EH
MOV 3FH,4FH
LJMP TSF0
;幅度调节
FDTJ: PUSH PSW
PUSH DPH
PUSH DPL
MOV R1, #0F0H
SZDWQJ1: CLR P1.5 ;数字电位器减子程序
NOP ;使用单片机P1.6作INC输入,P1.5作U/D输入
SETB P1.6
NOP
CLR P1.6
NOP
TT: DJNZ R1, SZDWQJ1
MOV R0,#20H
MOV R7,#64
CLR A
LOOPTU: MOV @R0,A
INC R0
DJNZ R7,LOOPTU
MOV COMXSTART,#0B8H
MOV COMXEND, #0BFH
MOV COMYSTART,#40H
MOV COMYEND, #7FH
LCALL CLEAR1
MOV DPTR,#TABF5
MOV COMXSTART,#0B8H
MOV COMYSTART,#40H ;幅
MOV COMXEND,#0B9H
MOV COMYEND,#4FH
MOV JCS1CS2,#00H
LCALL DISP
MOV DPTR,#TABF6
MOV COMXSTART,#0B8H
MOV COMYSTART,#50H ;度
MOV COMXEND,#0B9H
MOV COMYEND,#5FH
MOV JCS1CS2,#00H
LCALL DISP
MOV DPTR,#TABF2
MOV COMXSTART,#0B8H
MOV COMYSTART,#60H ;:
MOV COMXEND,#0B9H
MOV COMYEND,#6FH
MOV JCS1CS2,#00H
LCALL DISP
MOV R6,#00H
MOV R5,#40H
MOV R4,#00H ;计算输入数的个数
MOV R0,#50H
LOOOPE3: LCALL KEY
MOV KEYZHI,A
MOV A,4EH ;判是否有键按下
CJNE A,#00H,LOOOPE3
MOV A,KEYZHI
CJNE A,#0EH,KUE3
LJMP YYE3
KUE3: MOV @R0,KEYZHI
LCALL FINDTAB
MOV COMXSTART,#0BAH
MOV COMXEND,#0BBH
MOV COMYSTART,R5
MOV A,#0FH
ADD A,R5
MOV COMYEND,A
MOV JCS1CS2,R6
LCALL DISP
MOV A,R5
ADD A,#10H
MOV R5,A
INC R0
INC R4
MOV A,R4
CJNE A,#04H,RRRE3
MOV R6,#01H
MOV R5,#40H
RRRE3: LJMP LOOOPE3
YYE3: MOV A,R4
CJNE A,#00H,KS3
LJMP TSF0
KS3: MOV DPTR,#TABF7 ;M
MOV COMXSTART,#0BCH
MOV COMYSTART,#40H
MOV COMXEND,#0BDH
MOV COMYEND,#4FH
MOV JCS1CS2,#00H
LCALL DISP
MOV DPTR,#TABF8 ;V
MOV COMXSTART,#0BCH
MOV COMXEND,#0BDH
MOV COMYSTART,#50H
MOV COMYEND,#5FH
MOV JCS1CS2,#00H
LCALL DISP
MOV A,R4
ZZ3: CJNE A,#01H,ZL3
DEC 50H
LJMP ZS3
ZL3: CJNE A,#02H,ZM3
DEC 50H
DEC 51H
MOV R1,50H
MOV 50H,51H
MOV 51H,R1
LJMP ZS3
ZM3: CJNE A,#03H,ZN3
DEC 52H
DEC 51H
DEC 50H
MOV R1,50H
MOV 50H,52H
MOV 52H,R1
LJMP ZS3
ZN3: CJNE A,#04H,ZO3
DEC 53H
DEC 52H
DEC 51H
DEC 50H
MOV R1,50H
MOV R2,51H
MOV 50H,53H
MOV 51H,52H
MOV 52H,R2
MOV 53H,R1
LJMP ZS3
ZO3: CJNE A,#05H,$
DEC 54H
DEC 53H
DEC 52H
DEC 51H
DEC 50H
MOV R1,50H
MOV R2,51H
MOV 50H,54H
MOV 51H,53H
MOV 53H,R2
MOV 54H,R1
LJMP ZS3
ZS3: MOV R0,#50H
MOV R1,#4FH
LCALL BCDHEX
MOV 4CH, 5CH ;高位不用置零
MOV 4DH, 5DH
MOV 4EH, 5EH
MOV 4FH, 5FH
MOV 5CH, #00H
MOV 5DH, #00H ;置数值先送入4D~4F单元
MOV 5EH, #00H
MOV 5FH, #64H
LCALL MULNM
MOV 4AH,5AH
MOV 4BH,5BH
MOV 4CH,5CH
MOV 4DH,5DH
MOV 4EH,5EH
MOV 4FH,5FH
MOV 5AH,#00H
MOV 5BH,#00H
MOV 5CH,#00H
MOV 5DH,#00H
MOV 5EH,#13H
MOV 5FH,#88H
LCALL DIVD2
MOV R2, 4FH
NOP
SZDWQJ: SETB P1.5 ;数字电位器加子程序
NOP ;使用单片机P1.6作INC输入,P1.5作U/D输入
SETB P1.6
NOP
CLR P1.6
NOP
LJMP TL
TL: DJNZ R2, SZDWQJ
POP DPL
POP DPH
POP PSW
LJMP TSF0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -